|
@@ -59,6 +59,16 @@
|
|
|
k8s_pod_network_cidr | length < 1 or
|
|
|
ansible_config_file_path | length < 1
|
|
|
|
|
|
+- name: Validate login node parameters when login_node_reqd is set to true
|
|
|
+ fail:
|
|
|
+ msg: "{{ input_config_failure_msg }} for login_node"
|
|
|
+ when:
|
|
|
+ - ( domain_name | length < 1 or
|
|
|
+ realm_name | length < 1 or
|
|
|
+ directory_manager_password | length < 1 or
|
|
|
+ ipa_admin_password | length < 1 ) and
|
|
|
+ login_node_required
|
|
|
+
|
|
|
- name: Assert mariadb_password
|
|
|
assert:
|
|
|
that:
|
|
@@ -130,6 +140,64 @@
|
|
|
replace: 'log_path = /var/log/omnia.log'
|
|
|
when: ansible_conf_exists.stat.exists
|
|
|
|
|
|
+- name: Verify the value of login_node_required
|
|
|
+ assert:
|
|
|
+ that:
|
|
|
+ - login_node_required == true or login_node_required == false
|
|
|
+ success_msg: "{{ login_node_required_success_msg }}"
|
|
|
+ fail_msg: "{{ login_node_required_fail_msg }}"
|
|
|
+
|
|
|
+- name: Login node to contain exactly 1 node
|
|
|
+ assert:
|
|
|
+ that:
|
|
|
+ - "groups['login_node'] | length | int == 1"
|
|
|
+ fail_msg: "{{ login_node_group_fail_msg }}"
|
|
|
+ success_msg: "{{ login_node_group_success_msg }}"
|
|
|
+ when: login_node_required
|
|
|
+
|
|
|
+- name: Validate the domain name
|
|
|
+ assert:
|
|
|
+ that:
|
|
|
+ - domain_name is regex("^(?!-)[A-Za-z0-9-]+([\\-\\.]{1}[a-z0-9]+)*\\.[A-Za-z]{2,6}$")
|
|
|
+ success_msg: "{{ domain_name_success_msg }}"
|
|
|
+ fail_msg: "{{ domain_name_fail_msg }}"
|
|
|
+ when: login_node_required
|
|
|
+
|
|
|
+- name: Validate the realm name
|
|
|
+ assert:
|
|
|
+ that:
|
|
|
+ - realm_name is regex("^(?!-)[A-Z0-9-]+([\\-\\.]{1}[a-z0-9]+)*\\.[A-Z]{2,6}$")
|
|
|
+ - '"." in realm_name'
|
|
|
+ success_msg: "{{ realm_name_success_msg }}"
|
|
|
+ fail_msg: "{{ realm_name_fail_msg }}"
|
|
|
+ when: login_node_required
|
|
|
+
|
|
|
+- name: Assert directory_manager_password
|
|
|
+ assert:
|
|
|
+ that:
|
|
|
+ - directory_manager_password | length > min_length | int - 1
|
|
|
+ - directory_manager_password | length < max_length | int + 1
|
|
|
+ - '"-" not in directory_manager_password '
|
|
|
+ - '"\\" not in directory_manager_password '
|
|
|
+ - '"\"" not in directory_manager_password '
|
|
|
+ - " \"'\" not in directory_manager_password "
|
|
|
+ success_msg: "{{ success_msg_directory_manager_password }}"
|
|
|
+ fail_msg: "{{ fail_msg_directory_manager_password }}"
|
|
|
+ when: login_node_required
|
|
|
+
|
|
|
+- name: Assert ipa_admin_password
|
|
|
+ assert:
|
|
|
+ that:
|
|
|
+ - ipa_admin_password | length > min_length | int - 1
|
|
|
+ - ipa_admin_password | length < max_length | int + 1
|
|
|
+ - '"-" not in ipa_admin_password '
|
|
|
+ - '"\\" not in ipa_admin_password '
|
|
|
+ - '"\"" not in ipa_admin_password '
|
|
|
+ - " \"'\" not in ipa_admin_password "
|
|
|
+ success_msg: "{{ success_msg_ipa_admin_password }}"
|
|
|
+ fail_msg: "{{ fail_msg_ipa_admin_password }}"
|
|
|
+ when: login_node_required
|
|
|
+
|
|
|
- name: Encrypt input config file
|
|
|
command: >-
|
|
|
ansible-vault encrypt {{ role_path }}/../../{{ config_filename }}
|