diff --git a/roles/ipaclient/tasks/install.yml b/roles/ipaclient/tasks/install.yml
index b0a37d0c39dbe6df00a5e378ccbd7bdbf7e43287..46ba466ae7a64034e71b7021ad842bfc8eae53c4 100644
--- a/roles/ipaclient/tasks/install.yml
+++ b/roles/ipaclient/tasks/install.yml
@@ -42,6 +42,12 @@
 
   when: ipaclient_password is not defined and ipaclient_keytab is not defined
 
+- fail: msg="At least one of password, keytab or otp must be specified"
+  when: ipaclient_password is undefined and ipaclient_keytab is undefined and ipaclient_otp is undefined
+
+- fail: msg="Password is not defined"
+  when: ipaclient_password is undefined
+
 - name: Install - Join IPA
   ipajoin:
     servers: "{{ ipadiscovery.servers }}"