Files
offline_kubespray/collection/cisco/intersight/playbooks/hyperflex_cluster_profiles.yml
ByeonJungHun 360c6eef4a offline 작업
2024-02-19 16:02:29 +09:00

173 lines
5.3 KiB
YAML

---
#
# Configure HyperFlex Cluster Profiles
#
# The hosts group used is provided by the group variable or defaulted to 'Intersight_HX'.
# You can specify a specific host (or host group) on the command line:
# ansible-playbook ... -e group=<your host group>
# e.g., ansible-playbook server_profiles.yml -e group=TME_Demo
#
- hosts: "{{ group | default('Intersight_HX') }}"
connection: local
gather_facts: false
vars:
# If your inventory or host/group_vars don't specify required api key information, you can set directly below:
# api_private_key: ~/Downloads/SecretKey.txt
# api_key_id: 5a3404ac3768393836093cab/5b02fa7e6d6c356772394170/5b02fad36d6c356772394449
vars_prompt:
- name: "hx_vcenter_password"
prompt: "Enter the vCenter administrative password"
private: yes
confirm: yes
unsafe: yes
- name: "hx_hypervisor_password"
prompt: "Enter the new ESXi nodes' administrative password"
private: yes
confirm: yes
unsafe: yes
- name: "hx_dp_root_password"
prompt: "Enter the HyperFlex administrative password"
private: yes
confirm: yes
unsafe: yes
- name: "execute_auto_support"
prompt: "Do you need to enable Auto Support settings? (yes/no)"
private: no
- name: "execute_proxy"
prompt: "Do you need to configure proxy settings? (yes/no)"
private: no
- name: "execute_iscsi"
prompt: "Do you need to configure additional vNICs for iSCSI settings? (yes/no)"
private: no
- name: "execute_fc"
prompt: "Do you need to configure additional vHBAs for FC settings? (yes/no)"
private: no
tasks:
# Intersight Org
- import_role:
name: policies/hyperflex_policies/intersight_org
vars:
org_name: "{{ intersight_org_name }}"
tags: ['org']
# Cluster Profile
- import_role:
name: policies/hyperflex_policies/cluster_profile
vars:
hx_cluster_profile: "{{ hx_cluster_name }}"
tags: ['cluster_profile']
# Software Version
- import_role:
name: policies/hyperflex_policies/software_version
vars:
hx_software_policy: "{{ hx_cluster_name }}-software-version-policy"
tags: ['software']
# DNS
- import_role:
name: policies/hyperflex_policies/sys_config
vars:
hx_sys_config_policy: "{{ hx_cluster_name }}-sys-config-policy"
tags: ['dns']
# Security
- import_role:
name: policies/hyperflex_policies/local_credential
vars:
hx_local_credential_policy: "{{ hx_cluster_name }}-local-credential-policy"
tags: ['security']
# vCenter
- import_role:
name: policies/hyperflex_policies/vcenter
vars:
hx_vcenter_config_policy: "{{ hx_cluster_name }}-vcenter-config-policy"
tags: ['vcenter']
# Storage Config
- import_role:
name: policies/hyperflex_policies/cluster_storage
vars:
hx_cluster_storage_policy: "{{ hx_cluster_name }}-cluster-storage-policy"
tags: ['storage']
# Auto Support
- import_role:
name: policies/hyperflex_policies/auto_support
vars:
hx_auto_support_policy: "{{ hx_cluster_name }}-auto-support-policy"
hx_auto_support_enable: true
when: execute_auto_support|bool
tags: ['autosupport']
# Proxy
- import_role:
name: policies/hyperflex_policies/proxy
vars:
hx_proxy_setting_policy: "{{ hx_cluster_name }}-proxy-setting-policy"
when: execute_proxy|bool
tags: ['proxy']
# FC
- import_role:
name: policies/hyperflex_policies/fc
vars:
hx_fc_setting_policy: "{{ hx_cluster_name }}-ext-fc-storage-policy"
hx_fc_setting_enable: true
when: execute_fc|bool
tags: ['fc']
# iSCSI
- import_role:
name: policies/hyperflex_policies/iscsi
vars:
hx_iscsi_setting_policy: "{{ hx_cluster_name }}-ext-iscsi-storage-policy"
hx_iscsi_setting_enable: true
when: execute_iscsi|bool
tags: ['iscsi']
# Network Config
- import_role:
name: policies/hyperflex_policies/cluster_network
vars:
hx_cluster_network_policy: "{{ hx_cluster_name }}-cluster-network-policy"
tags: ['network']
# Node IP and Hostname
- import_role:
name: policies/hyperflex_policies/node_config
vars:
hx_node_config_policy: "{{ hx_cluster_name }}-node-config-policy"
tags: ['nodes']
- debug:
msg: "All policies and the HyperFlex cluster profile have been created."
- name: "Prompt to assign"
pause:
prompt: "Proceed with physical node assignment? (yes/no)"
echo: yes
register: assign_response
run_once: true
tags: ['prompt_assign']
# Assign servers to cluster profile and set deployment action
- import_role:
name: policies/hyperflex_policies/node_profiles
tags: ['assign']
when: assign_response.user_input|bool
- name: "Prompt to deploy"
pause:
prompt: "Proceed with cluster deployment? (yes/no)"
echo: yes
register: deploy_response
run_once: true
tags: ['prompt_deploy']
# Set cluster profile deployment action
- import_role:
name: policies/hyperflex_policies/deploy
tags: ['deploy']
when: deploy_response.user_input|bool
- debug:
msg: "HyperFlex cluster creation is complete."