main.yml 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. # Copyright 2022 Dell Inc. or its subsidiaries. All Rights Reserved.
  2. #
  3. # Licensed under the Apache License, Version 2.0 (the "License");
  4. # you may not use this file except in compliance with the License.
  5. # You may obtain a copy of the License at
  6. #
  7. # http://www.apache.org/licenses/LICENSE-2.0
  8. #
  9. # Unless required by applicable law or agreed to in writing, software
  10. # distributed under the License is distributed on an "AS IS" BASIS,
  11. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. # See the License for the specific language governing permissions and
  13. # limitations under the License.
  14. ---
  15. # vars file for control_plane_common
  16. # Usage: package_installation.yml
  17. common_packages_leap:
  18. - git
  19. - gcc
  20. - gcc-c++
  21. - nodejs
  22. - bzip2
  23. - python2-pip
  24. - python3-pip
  25. - nano
  26. - lvm2
  27. - gettext
  28. - net-tools
  29. - python3-netaddr
  30. - dos2unix
  31. - cri-o
  32. - make
  33. os_supported_leap: "leap"
  34. os_supported_leap_version: "15.3"
  35. python_version_leap: '3.6.15'
  36. common_packages:
  37. - epel-release
  38. - yum-utils
  39. - git
  40. - gcc
  41. - gcc-c++
  42. - nodejs
  43. - device-mapper-persistent-data
  44. - bzip2
  45. - python2-pip
  46. - python3-pip
  47. - nano
  48. - lvm2
  49. - gettext
  50. - net-tools
  51. - python3-netaddr
  52. - yum-plugin-versionlock
  53. - dos2unix
  54. - make
  55. # Usage: pre_requisite.yml
  56. internet_delay: 0
  57. internet_timeout: 10
  58. hostname: github.com
  59. port_no: 22
  60. os_supported_centos: "centos"
  61. os_supported_rocky: "rocky"
  62. os_supported_centos_version: "8.3"
  63. os_supported_rocky_version: "8.4"
  64. fail_os_status: "Unsupported OS or OS version. OS should be {{ os_supported_centos }} {{ os_supported_centos_version }} or {{ os_supported_rocky }} {{ os_supported_rocky_version }}"
  65. success_os_status: "Management Station OS validated"
  66. internet_status: "Failed. No Internet connection. Make sure network is up."
  67. selinux_status: "SElinux is not disabled. Disable it in /etc/sysconfig/selinux and reboot the system"
  68. ansible_python_version_status: "For CentOS 8.3, python bindings of firewalld, dnf, selinux are not available if python is installed from source and not from dnf. So please make sure python3.6 is installed using dnf. And ansible uses the python version 3.6 installed using dnf"
  69. python_version_support: '3.6.8'
  70. default_ansible_config_file_path: /etc/ansible/ansible.cfg
  71. invalid_run_tag_msg: "Failed. init tag should be used with run tags"
  72. invalid_skip_tag_msg: "Failed. init tag can't be used with skip tags"
  73. # Usage: verify_login_inputs.yml
  74. login_vars_filename: "input_params/login_vars.yml"
  75. vault_filename: input_params/.login_vault_key
  76. min_length: 8
  77. max_length: 30
  78. min_username_length: 4
  79. min_length_grafana: 5
  80. file_perm: '0755'
  81. vault_file_perm: '0644'
  82. mount_dir_perm: '0775'
  83. nic_min_length: 3
  84. login_input_config_failure_msg: "Failed. Please provide all the required parameters in login_vars.yml"
  85. fail_msg_provision_password: "Failed. Incorrect provision_password format provided in login_vars.yml"
  86. fail_msg_cobbler_password: "Failed. Incorrect cobbler_password format provided in login_vars.yml file"
  87. fail_msg_idrac_credentials: "Failed. Incorrect idrac_username or idrac_password format provided in login_vars.yml"
  88. fail_msg_grafana_credentials: "Failed. Incorrect grafana_username or grafana_password format provided in login_vars.yml"
  89. fail_msg_ethernet_credentials: "Failed. Incorrect ethernet_switch_username or ethernet_switch_password format provided in login_vars.yml"
  90. fail_msg_ib_credentials: "Failed. Incorrect ib_username or ib_password format provided in login_vars.yml"
  91. fail_msg_me4_credentials: "Failed. Incorrect powervault_me4_username or powervault_me4_password format provided in login_vars.yml"
  92. login_security_config_failure_msg: "Failed. Please provide the required passwords in login_vars.yml for installing ipa"
  93. success_msg_dir_manager_password: "directory_manager_password successfully validated"
  94. fail_msg_dir_manager_password: "Failed. Incorrect format provided for directory_manager_password"
  95. success_msg_ipa_admin_pwd: "ipa_admin_password successfully validated"
  96. fail_msg_ipa_admin_pwd: "Failed. Incorrect format provided for ipa_admin_password"
  97. # Usage: verify_omnia_params.yml
  98. config_filename: "omnia_config.yml"
  99. config_vaultname: .omnia_vault_key
  100. input_omnia_failure_msg: "Please provide all the required parameters in omnia_config.yml"
  101. fail_msg_mariadb_password: "Failed. Incorrect mariadb_password format provided in omnia_config.yml file"
  102. success_msg_mariadb_password: "mariadb_password validated"
  103. success_msg_k8s_version: "Kubernetes Version Validated"
  104. fail_msg_k8s_version: "Failed. Kubernetes Version is unsupported or incorrect in omnia_config.yml"
  105. success_msg_k8s_cni: "Kubernetes CNI Validated"
  106. fail_msg_k8s_cni: "Failed. Kubernetes CNI is incorrect in omnia_config.yml"
  107. domain_name_success_msg: "domain name successfully validated"
  108. domain_name_fail_msg: "Failed. Incorrect format provided for domain name in omnia_config.yml"
  109. realm_name_success_msg: "realm_name successfully validated"
  110. realm_name_fail_msg: "Failed. Incorrect realm_name formate in omnia_config.yml"
  111. success_msg_directory_manager_password: "directory_manager_password successfully validated"
  112. fail_msg_directory_manager_password: "Failed. Incorrect format provided for directory_manager_password"
  113. success_msg_ipa_admin_password: "ipa_admin_password successfully validated"
  114. fail_msg_ipa_admin_password: "Failed. Incorrect format provided for ipa_admin_password"
  115. omnia_input_config_failure_msg: "Failed. Please provide all the required parameters in omnia_config.yml for for login_node"
  116. login_node_required_success_msg: "Login_node_required successfully validated"
  117. login_node_required_fail_msg: "Failed. login_node_required can be either true or false"
  118. # Usage: fetch_base_inputs.yml
  119. base_vars_filename: "input_params/base_vars.yml"
  120. input_base_failure_msg: "Please provide all the required parameters in base_vars.yml"
  121. success_snmp_trap_dest: "SNMP trap destination IP validated"
  122. fail_snmp_trap_dest: "Failed. Incorrect SNMP trap destination IP format provided in base_address.yml"
  123. success_snmp_comm_msg: "SNMP community string validated"
  124. fail_snmp_comm_msg: "snmp community string cannoy be blank in base_vars.yml"
  125. success_msg_public_nic: "Public nic successfully validated"
  126. fail_msg_public_nic: "Failed. Incorrect public nic provided in base_vars.yml"
  127. success_msg_k8s_pod_network_cidr: "Appliance k8s pod network cidr validated"
  128. fail_msg_k8s_pod_network_cidr: "Failed. Incorrect appliance k8s pod network cidr provided in base_vars.yml"
  129. success_awx_organization: "awx organization validated"
  130. success_provision_method: "Provision method validated"
  131. fail_provision_method: "Failed. provision_method can either be set to idrac or PXE"
  132. fail_awx_organization: "Failed. Incorrect format in awx organization"
  133. success_timezone_msg: "timezone validated"
  134. fail_timezone_msg: "Failed. Incorrect timezone provided. Please check the file timezone.txt in control_plane/roles/control_plane_common/files/ folder"
  135. fail_language: "Failed. Only en-US(english) language supported"
  136. invalid_iso_file_path: "Invalid iso_file_path provided in base_vars.yml. Make sure iso_file_path contains value mentioned in provision_os."
  137. missing_iso_file_path: "Incorrect iso_file_path provided in base_vars.yml. Make sure iso file is present in the provided iso_file_path."
  138. valid_iso_file_path: "iso_file_path validated"
  139. ethernet_switch_support_success_msg: "ethernet_switch_support validated"
  140. ethernet_switch_support_fail_msg: "Failed. ethernet_switch_support only accepts boolean values true or false"
  141. ib_switch_support_success_msg: "ib_switch_support validated"
  142. ib_switch_support_fail_msg: "Failed. ib_switch_support only accepts boolean values true or false"
  143. powervault_support_success_msg: "powervault_support validated"
  144. powervault_support_fail_msg: "Failed. power_vault_support only accepts boolean values true or false"
  145. success_msg_mngmnt_network_nic: "Management network nic successfully validated"
  146. fail_msg_mngmnt_network_nic: "Failed. Incorrect Management network nic provided in base_vars.yml"
  147. success_msg_host_network_nic: "Host network nic successfully validated"
  148. fail_msg_host_network_nic: "Failed. Incorrect host network nic provided in base_vars.yml"
  149. success_msg_ib_network_nic: "Infiniband network nic successfully validated"
  150. fail_msg_ib_network_nic: "Failed. Incorrect infiniband network nic provided in base_vars.yml"
  151. success_dhcp_range: "Dhcp_range validated"
  152. fail_dhcp_range: "Failed. Incorrect range assigned for dhcp"
  153. invalid_mapping_file_path: "Incorrect mapping_file_path provided in base_vars.yml"
  154. success_msg_different_nics: "The nics of different containers and public nic are not the same - Validated"
  155. fail_msg_different_nics: "Failed. Incorrect nic information. public nic, management network nic and host network nic should not be the same"
  156. success_msg_different_nics_ib: "The nics of different containers and public nic are not the same as infiniband nic- Validated"
  157. fail_msg_different_nics_ib: "Failed. Infiniband nic cannot be the same as other nics"
  158. success_msg_ib: "Infiniband variables validated"
  159. fail_msg_ib: "Failed. Please provide all the InfiniBand related parameters in base_vars.yml"
  160. success_msg_lease_time: "Default lease time validated"
  161. fail_msg_lease_time: "Failed. Please provide a valid default lease time"
  162. provision_os_success_msg: "provision_os validated"
  163. provision_os_fail_msg: "Failed. Incorrect provision_os selected. Supported OS are {{ os_supported_centos }} or {{ os_supported_rocky }}"
  164. provision_state_success_msg: "provision_state validated"
  165. provision_state_fail_msg: "Failed. Incorrect provision_state selected. Supported only stateful"
  166. enable_security_support_success_msg: "enable_security_support validated"
  167. enable_security_support_fail_msg: "Failed. enable_security_support only accepts boolean values true or false"
  168. # Usage: fetch_sm_inputs.yml
  169. ib_config_file: "{{ role_path }}/../../input_params/ib_vars.yml"
  170. opensm_conf_file: "{{ role_path }}/../../input_params/opensm.conf"
  171. fail_msg_config_file: ib_vars.yml file doesn't exist.
  172. fail_msg_opensm_config_file: opensm.conf file doesn't exist.
  173. fail_msg_ib_input_definition: Infiniband config directories must be defined.
  174. fail_msg_ib_input: Infiniband config directories can't be left empty.
  175. # Usage: encrypt_idrac_2fa_vars.yml
  176. idrac_tools_vaultname: input_params/.idrac_vault_key
  177. idrac_tools_vars_filename: input_params/idrac_tools_vars.yml
  178. # Usage: nfs_server_setup.yml
  179. nfs_share_offline_repo: /var/nfs_repo
  180. nfs_share_awx: /var/nfs_awx
  181. nfs_share_dir_mode: 0777
  182. exports_file_path: /etc/exports
  183. nfs_services:
  184. - mountd
  185. - rpc-bind
  186. - nfs
  187. # Usage: validate_host_mapping_file.yml
  188. fail_msg_mapping_file: "Mapping file doesn't exist at given path: "
  189. mapping_file_key: "MAC"
  190. fail_mapping_file_header: "Header of csv file is not in correct format.
  191. It should be of the format: MAC,Hostname,IP,Component_role or MAC,Hostname,IP"
  192. host_mapping_header_format: "MAC,Hostname,IP"
  193. host_mapping_header_with_role_format: "MAC,Hostname,IP,Component_role"
  194. fail_mapping_file_field_seperation: "Failed: Mapping file should be comma separated and all fields must be filled."
  195. fail_mapping_file_duplicate_ip: "Failed: Duplicate ip exists. Please verify following mapping file again: "
  196. fail_mapping_file_duplicate_hostname: "Failed: Duplicate hostname exists. Please verify host mapping file again."
  197. fail_mapping_file_hostname_chars: "Hostname should not contain _ or . or space as it will cause error with slurm and K8s. Found in: "
  198. fail_mapping_file_roles_error: "Failed. Define correct Component Roles for each node.
  199. Component roles can only take values: {{ group_name_manager }}, {{group_name_compute}},
  200. {{ group_name_login }}, {{ group_name_nfs }}"
  201. fail_mapping_file_manager_role: "Exactly 1 manager node must be defined"
  202. fail_mapping_file_compute_role: "Atleast 1 compute node must be defined"
  203. fail_mapping_file_login_role: "Exactly 1 login node must be defined or login_node_required must be true in omnia_config.yml"
  204. fail_mapping_file_nfs_role: "Exactly 1 nfs node must be defined or powervault_support must be true in base_vars.yml"
  205. count_of_roles_defined: "Component Roles defined: Manager Node: {{ count_of_manager }},
  206. Compute Nodes: {{ count_of_compute }}, Login Node: {{ count_of_login }},
  207. Nfs Node: {{ count_of_nfs_node }}, Total Nodes: {{ count_total_items }} "
  208. group_name_manager: "manager"
  209. group_name_compute: "compute"
  210. group_name_login: "login_node"
  211. group_name_nfs: "nfs_node"
  212. # Usage: validate_device_mapping_file.yml
  213. fail_device_mapping_file_header: "Failed: Header (MAC,IP) should be present in the mapping file."
  214. device_mapping_header_format: "MAC,IP"
  215. # Usage: fetch_security_inputs.yml
  216. security_vars_filename: "input_params/security_vars.yml"
  217. input_security_failure_msg: "Please provide all the required parameters in security_vars.yml"
  218. dom_name_length: '63'
  219. dom_name_success_msg: "domain name successfully validated"
  220. dom_name_fail_msg: "Failed. Incorrect format provided for domain name in security_vars.yml"
  221. realm_success_msg: "realm_name successfully validated"
  222. realm_fail_msg: "Failed. Incorrect realm_name format in security_vars.yml"
  223. max_failures_success_msg: "max_failures successfully validated"
  224. max_failures_fail_msg: "Failed. Incorrect max_failures value in security_vars.yml"
  225. failure_reset_interval_success_msg: "failure_reset_interval successfully validated"
  226. failure_reset_interval_fail_msg: "Failed. Incorrect failure_reset_interval value in security_vars.yml"
  227. lockout_duration_success_msg: "lockout_duration successfully validated"
  228. lockout_duration_fail_msg: "Failed. Incorrect lockout_duration value in security_vars.yml"
  229. session_timeout_success_msg: "session_timeout successfully validated"
  230. session_timeout_fail_msg: "Failed. Incorrect session_timeout value in security_vars.yml"
  231. # Usage: validate_idrac_vars.yml
  232. idrac_input_filename: input_params/idrac_vars.yml
  233. firmware_update_success_msg: "firmware_update_required validated"
  234. firmware_update_fail_msg: "Failed. firmware_update_required accepts only true or false in idrac_vars.yml"
  235. poweredge_model_success_msg: "poweredge_model validated"
  236. poweredge_model_fail_msg: "Failed. poweredge_model is incorrect or unsupported. Please update the list with the supported models in the correct format"