diff --git a/roles/ipaclient/defaults/main.yml b/roles/ipaclient/defaults/main.yml
index da013cfd07e48a298ea23f9124250a88e942d107..70fba0221754f2c274b56f7e7362a4b9807bdc68 100644
--- a/roles/ipaclient/defaults/main.yml
+++ b/roles/ipaclient/defaults/main.yml
@@ -11,3 +11,6 @@ ipaclient_on_master: no
 ipaclient_no_ntp: no
 ipaclient_no_dns_lookup: no
 ipaclient_ssh_trust_dns: no
+
+### packages ###
+ipaclient_install_packages: yes
\ No newline at end of file
diff --git a/roles/ipaclient/tasks/install.yml b/roles/ipaclient/tasks/install.yml
index 24493633895aeb879cac9155225c0cf24c47f2fb..f609fbb2650f6258041255072672419caa67e9d9 100644
--- a/roles/ipaclient/tasks/install.yml
+++ b/roles/ipaclient/tasks/install.yml
@@ -6,6 +6,7 @@
     name: "{{ item }}"
     state: present
   with_items: "{{ ipaclient_packages }}"
+  when: ipaclient_install_packages | bool
 
 - name: Install - Include Python2/3 import test
   import_tasks: "{{role_path}}/tasks/python_2_3_test.yml"
diff --git a/roles/ipareplica/defaults/main.yml b/roles/ipareplica/defaults/main.yml
index 5314df5cd7fead14738bdd166244e862f1b51fde..a9dc4f91ba0925160105d65dc833ec10ab86ce93 100644
--- a/roles/ipareplica/defaults/main.yml
+++ b/roles/ipareplica/defaults/main.yml
@@ -37,5 +37,6 @@ ipareplica_enable_compat: no
 ipareplica_ignore_topology_disconnect: no
 ipareplica_ignore_last_of_role: no
 ### additional ###
-ipareplica_no_package_install: no
+### packages ###
+ipareplica_install_packages: yes
 ipareplica_no_firewalld: no
diff --git a/roles/ipareplica/tasks/install.yml b/roles/ipareplica/tasks/install.yml
index 99f96e7143932d9239333fc2200c26843971ccdd..263fd8c649f81aa367f26f0fe8b735ea0011faf3 100644
--- a/roles/ipareplica/tasks/install.yml
+++ b/roles/ipareplica/tasks/install.yml
@@ -1,26 +1,29 @@
 ---
 # tasks file for ipareplica
 
-- name: Install - Ensure IPA replica packages are installed
-  package:
-    name: "{{ item }}"
-    state: present
-  with_items: "{{ ipareplica_packages }}"
-  when: not ipareplica_no_package_install | bool
-
-- name: Install - Ensure IPA replica packages for dns are installed
-  package:
-    name: "{{ item }}"
-    state: present
-  with_items: "{{ ipareplica_packages_dns }}"
-  when: not ipareplica_no_package_install | bool and ipareplica_setup_dns | bool
-
-- name: Install - Ensure IPA replica packages for adtrust are installed
-  package:
-    name: "{{ item }}"
-    state: present
-  with_items: "{{ ipareplica_packages_adtrust }}"
-  when: not ipareplica_no_package_install | bool and ipareplica_setup_adtrust | bool
+- block:
+
+  - name: Install - Ensure IPA replica packages are installed
+    package:
+      name: "{{ item }}"
+      state: present
+    with_items: "{{ ipareplica_packages }}"
+
+  - name: Install - Ensure IPA replica packages for dns are installed
+    package:
+      name: "{{ item }}"
+      state: present
+    with_items: "{{ ipareplica_packages_dns }}"
+    when: ipareplica_setup_dns | bool
+
+  - name: Install - Ensure IPA replica packages for adtrust are installed
+    package:
+      name: "{{ item }}"
+      state: present
+    with_items: "{{ ipareplica_packages_adtrust }}"
+    when: ipareplica_setup_adtrust | bool
+
+  when: ipareplica_install_packages | bool
 
 - name: Install - Include Python2/3 import test
   import_tasks: "{{role_path}}/tasks/python_2_3_test.yml"
diff --git a/roles/ipaserver/defaults/main.yml b/roles/ipaserver/defaults/main.yml
index b2ff174c758b1997e6f58f0191ddb499f6273499..edf3c5d303d75e61e4652447b4e0a49b1933e867 100644
--- a/roles/ipaserver/defaults/main.yml
+++ b/roles/ipaserver/defaults/main.yml
@@ -30,6 +30,8 @@ ipaserver_no_dnssec_validation: no
 ### ad trust ###
 ipaserver_enable_compat: no
 ipaserver_setup_ca: yes
+### packages ###
+ipaserver_install_packages: yes
 ### firewalld ###
 ipaserver_no_firewalld: no
 
diff --git a/roles/ipaserver/tasks/install.yml b/roles/ipaserver/tasks/install.yml
index e42ee03c1731de16130f441fc18352abc186980e..196a64d87c05f5957bf9ad2b1411d2839b6a45df 100644
--- a/roles/ipaserver/tasks/install.yml
+++ b/roles/ipaserver/tasks/install.yml
@@ -1,25 +1,28 @@
 ---
 # tasks file for ipaserver
 
-- name: Install - Ensure that IPA server packages are installed
-  package:
-    name: "{{ item }}"
-    state: present
-  with_items: "{{ ipaserver_packages }}"
+- block:
+  - name: Install - Ensure that IPA server packages are installed
+    package:
+      name: "{{ item }}"
+      state: present
+    with_items: "{{ ipaserver_packages }}"
+
+  - name: Install - Ensure that IPA server packages for dns are installed
+    package:
+      name: "{{ item }}"
+      state: present
+    with_items: "{{ ipaserver_packages_dns }}"
+    when: ipaserver_setup_dns | bool
 
-- name: Install - Ensure that IPA server packages for dns are installed
-  package:
-    name: "{{ item }}"
-    state: present
-  with_items: "{{ ipaserver_packages_dns }}"
-  when: ipaserver_setup_dns | bool
+  - name: Install - Ensure that IPA server packages for adtrust are installed
+    package:
+      name: "{{ item }}"
+      state: present
+    with_items: "{{ ipaserver_packages_adtrust }}"
+    when: ipaserver_setup_adtrust | bool
 
-- name: Install - Ensure that IPA server packages for adtrust are installed
-  package:
-    name: "{{ item }}"
-    state: present
-  with_items: "{{ ipaserver_packages_adtrust }}"
-  when: ipaserver_setup_adtrust | bool
+  when: ipaserver_install_packages | bool
 
 - name: Install - Include Python2/3 import test
   import_tasks: "{{role_path}}/tasks/python_2_3_test.yml"