main.yml 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. # Copyright 2021 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 common
  16. # Usage: package_installation.yml
  17. common_packages:
  18. - epel-release
  19. - yum-utils
  20. - git
  21. - gcc
  22. - gcc-c++
  23. - nodejs
  24. - device-mapper-persistent-data
  25. - bzip2
  26. - python2-pip
  27. - python3-pip
  28. - nano
  29. - lvm2
  30. - gettext
  31. - net-tools
  32. - python3-netaddr
  33. - yum-plugin-versionlock
  34. - dos2unix
  35. # Usage: pre_requisite.yml
  36. internet_delay: 0
  37. internet_timeout: 10
  38. hostname: github.com
  39. port_no: 22
  40. os_supported_centos: "centos"
  41. os_supported_rocky: "rocky"
  42. os_supported_centos_version: "8.3"
  43. os_supported_rocky_version: "8.4"
  44. 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 }}"
  45. success_os_status: "Management Station OS validated"
  46. internet_status: "Failed. No Internet connection. Make sure network is up."
  47. selinux_status: "SElinux is not disabled. Disable it in /etc/sysconfig/selinux and reboot the system"
  48. 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"
  49. python_version_support: '3.6.8'
  50. default_ansible_config_file_path: /etc/ansible/ansible.cfg
  51. # Usage: password_config.yml
  52. login_vars_filename: "input_params/login_vars.yml"
  53. vault_filename: input_params/.login_vault_key
  54. min_length: 8
  55. max_length: 30
  56. min_username_length: 4
  57. file_perm: '0755'
  58. vault_file_perm: '0644'
  59. nic_min_length: 3
  60. login_input_config_failure_msg: "Failed. Please provide all the required parameters in login_vars.yml"
  61. fail_msg_provision_password: "Failed. Incorrect provision_password format provided in login_vars.yml"
  62. fail_msg_cobbler_password: "Failed. Incorrect cobbler_password format provided in login_vars.yml file"
  63. fail_msg_idrac_credentials: "Failed. Incorrect idrac_username or idrac_password format provided in login_vars.yml"
  64. fail_msg_ethernet_credentials: "Failed. Incorrect ethernet_switch_username or ethernet_switch_password format provided in login_vars.yml"
  65. fail_msg_ib_credentials: "Failed. Incorrect ib_username or ib_password format provided in login_vars.yml"
  66. fail_msg_me4_credentials: "Failed. Incorrect powervault_me4_username or powervault_me4_password format provided in login_vars.yml"
  67. # Usage: verify_omnia_params.yml
  68. config_filename: "omnia_config.yml"
  69. config_vaultname: .omnia_vault_key
  70. input_omnia_failure_msg: "Please provide all the required parameters in omnia_config.yml"
  71. fail_msg_mariadb_password: "Failed. Incorrect mariadb_password format provided in omnia_config.yml file"
  72. success_msg_mariadb_password: "mariadb_password validated"
  73. success_msg_k8s_version: "Kubernetes Version Validated"
  74. fail_msg_k8s_version: "Failed. Kubernetes Version is unsupported or incorrect in omnia_config.yml"
  75. success_msg_k8s_cni: "Kubernetes CNI Validated"
  76. fail_msg_k8s_cni: "Failed. Kubernetes CNI is incorrect in omnia_config.yml"
  77. domain_name_success_msg: "domain name successfully validated"
  78. domain_name_fail_msg: "Failed. Incorrect format provided for domain name in omnia_config.yml"
  79. realm_name_success_msg: "realm_name successfully validated"
  80. realm_name_fail_msg: "Failed. Incorrect realm_name formate in omnia_config.yml"
  81. success_msg_directory_manager_password: "directory_manager_password successfully validated"
  82. fail_msg_directory_manager_password: "Failed. Incorrect format provided for directory_manager_password"
  83. success_msg_ipa_admin_password: "ipa_admin_password successfully validated"
  84. fail_msg_ipa_admin_password: "Failed. Incorrect format provided for ipa_admin_password"
  85. omnia_input_config_failure_msg: "Failed. Please provide all the required parameters in omnia_config.yml for for login_node"
  86. login_node_required_success_msg: "Login_node_required successfully validated"
  87. login_node_required_fail_msg: "Failed. login_node_required can be either true or false"
  88. # Usage: fetch_base_inputs.yml
  89. base_vars_filename: "input_params/base_vars.yml"
  90. input_base_failure_msg: "Please provide all the required parameters in base_vars.yml"
  91. success_snmp_trap_dest: "SNMP trap destination IP validated"
  92. fail_snmp_trap_dest: "Failed. Incorrect SNMP trap destination IP format provided in base_address.yml"
  93. success_snmp_comm_msg: "SNMP community string validated"
  94. fail_snmp_comm_msg: "snmp community string cannoy be blank in base_vars.yml"
  95. success_msg_public_nic: "Public nic successfully validated"
  96. fail_msg_public_nic: "Failed. Incorrect public nic provided in base_vars.yml"
  97. success_msg_k8s_pod_network_cidr: "Appliance k8s pod network cidr validated"
  98. fail_msg_k8s_pod_network_cidr: "Failed. Incorrect appliance k8s pod network cidr provided in base_vars.yml"
  99. success_awx_organization: "awx organization validated"
  100. success_provision_method: "Provision method validated"
  101. fail_provision_method: "Failed. provision_method can either be set to idrac or PXE"
  102. fail_awx_organization: "Failed. Incorrect format in awx organization"
  103. success_timezone_msg: "timezone validated"
  104. fail_timezone_msg: "Failed. Incorrect timezone provided. Please check the file timezone.txt in control_plane/roles/control_plane_common/files/ folder"
  105. fail_language: "Failed. Only en-US(english) language supported"
  106. invalid_iso_file_path: "Invalid iso_file_path provided in base_vars.yml. Make sure iso_file_path contains value mentioned in provision_os."
  107. 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."
  108. valid_iso_file_path: "iso_file_path validated"
  109. ethernet_switch_support_success_msg: "ethernet_switch_support validated"
  110. ethernet_switch_support_fail_msg: "Failed. ethernet_switch_support only accepts boolean values true or false"
  111. ib_switch_support_success_msg: "ib_switch_support validated"
  112. ib_switch_support_fail_msg: "Failed. ib_switch_support only accepts boolean values true or false"
  113. powervault_support_success_msg: "powervault_support validated"
  114. powervault_support_fail_msg: "Failed. power_vault_support only accepts boolean values true or false"
  115. success_msg_mngmnt_network_nic: "Management network nic successfully validated"
  116. fail_msg_mngmnt_network_nic: "Failed. Incorrect Management network nic provided in base_vars.yml"
  117. success_msg_host_network_nic: "Host network nic successfully validated"
  118. fail_msg_host_network_nic: "Failed. Incorrect host network nic provided in base_vars.yml"
  119. success_msg_ib_network_nic: "Infiniband network nic successfully validated"
  120. fail_msg_ib_network_nic: "Failed. Incorrect infiniband network nic provided in base_vars.yml"
  121. success_dhcp_range: "Dhcp_range validated"
  122. fail_dhcp_range: "Failed. Incorrect range assigned for dhcp"
  123. invalid_mapping_file_path: "Incorrect mapping_file_path provided in base_vars.yml"
  124. success_msg_different_nics: "The nics of different containers and public nic are not the same - Validated"
  125. fail_msg_different_nics: "Failed. Incorrect nic information. public nic, management network nic and host network nic should not be the same"
  126. success_msg_different_nics_ib: "The nics of different containers and public nic are not the same as infiniband nic- Validated"
  127. fail_msg_different_nics_ib: "Failed. Infiniband nic cannot be the same as other nics"
  128. success_msg_ib: "Infiniband variables validated"
  129. fail_msg_ib: "Failed. Please provide all the InfiniBand related parameters in base_vars.yml"
  130. success_msg_lease_time: "Default lease time validated"
  131. fail_msg_lease_time: "Failed. Please provide a valid default lease time"
  132. provision_os_success_msg: "provision_os validated"
  133. provision_os_fail_msg: "Failed. Incorrect provision_os selected. Supported OS are {{ os_supported_centos }} or {{ os_supported_rocky }}"
  134. provision_state_success_msg: "provision_state validated"
  135. provision_state_fail_msg: "Failed. Incorrect provision_state selected. Supported only stateful"
  136. # Usage: fetch_sm_inputs.yml
  137. ib_config_file: "{{ role_path }}/../../input_params/ib_vars.yml"
  138. opensm_conf_file: "{{ role_path }}/../../input_params/opensm.conf"
  139. fail_msg_config_file: ib_vars.yml file doesn't exist.
  140. fail_msg_opensm_config_file: opensm.conf file doesn't exist.
  141. fail_msg_ib_input_definition: Infiniband config directories must be defined.
  142. fail_msg_ib_input: Infiniband config directories can't be left empty.
  143. # Usage: encrypt_idrac_2fa_vars.yml
  144. idrac_tools_vaultname: input_params/.idrac_vault_key
  145. idrac_tools_vars_filename: input_params/idrac_tools_vars.yml
  146. # Usage: nfs_server_setup.yml
  147. nfs_share_offline_repo: /var/nfs_repo
  148. nfs_share_awx: /var/nfs_awx
  149. nfs_share_dir_mode: 0777
  150. exports_file_path: /etc/exports
  151. nfs_services:
  152. - mountd
  153. - rpc-bind
  154. - nfs
  155. # Usage: validate_host_mapping_file.yml
  156. fail_msg_mapping_file: "Mapping file doesn't exist at given path: "
  157. mapping_file_key: "MAC"
  158. fail_mapping_file_header: "Header of csv file is not in correct format.
  159. It should be of the format: MAC,Hostname,IP,Component_role or MAC,Hostname,IP"
  160. host_mapping_header_format: "MAC,Hostname,IP"
  161. host_mapping_header_with_role_format: "MAC,Hostname,IP,Component_role"
  162. fail_mapping_file_field_seperation: "Failed: Mapping file should be comma separated and all fields must be filled."
  163. fail_mapping_file_duplicate_ip: "Failed: Duplicate ip exists. Please verify following mapping file again: "
  164. fail_mapping_file_duplicate_hostname: "Failed: Duplicate hostname exists. Please verify host mapping file again."
  165. fail_mapping_file_hostname_chars: "Hostname should not contain _ or . or space as it will cause error with slurm and K8s. Found in: "
  166. fail_mapping_file_roles_error: "Failed. Define correct Component Roles for each node.
  167. Component roles can only take values: {{ group_name_manager }}, {{group_name_compute}},
  168. {{ group_name_login }}, {{ group_name_nfs }}"
  169. fail_mapping_file_manager_role: "Exactly 1 manager node must be defined"
  170. fail_mapping_file_compute_role: "Atleast 1 compute node must be defined"
  171. fail_mapping_file_login_role: "Exactly 1 login node must be defined or login_node_required must be true in omnia_config.yml"
  172. fail_mapping_file_nfs_role: "Exactly 1 nfs node must be defined or powervault_support must be true in base_vars.yml"
  173. count_of_roles_defined: "Component Roles defined: Manager Node: {{ count_of_manager }},
  174. Compute Nodes: {{ count_of_compute }}, Login Node: {{ count_of_login }},
  175. Nfs Node: {{ count_of_nfs_node }}, Total Nodes: {{ count_total_items }} "
  176. group_name_manager: "manager"
  177. group_name_compute: "compute"
  178. group_name_login: "login_node"
  179. group_name_nfs: "nfs_node"
  180. # Usage: validate_device_mapping_file.yml
  181. fail_device_mapping_file_header: "Failed: Header (MAC,IP) should be present in the mapping file."
  182. device_mapping_header_format: "MAC,IP"