Move pre-tasks into global defaults
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
skip_list:
|
skip_list:
|
||||||
- run-once
|
- run-once
|
||||||
exclude_paths:
|
exclude_paths:
|
||||||
- roles/global_defaults/defaults/main.yml
|
- roles/global_defaults/
|
||||||
|
|||||||
108
main.yml
108
main.yml
@@ -30,114 +30,6 @@
|
|||||||
ansible.builtin.import_role:
|
ansible.builtin.import_role:
|
||||||
name: global_defaults
|
name: global_defaults
|
||||||
|
|
||||||
- name: Validate variables
|
|
||||||
ansible.builtin.assert:
|
|
||||||
that:
|
|
||||||
- install_type is defined and install_type in ["virtual", "physical"]
|
|
||||||
- hypervisor in ["libvirt", "proxmox", "vmware", "none"]
|
|
||||||
- >-
|
|
||||||
install_type is defined and (
|
|
||||||
install_type == "physical"
|
|
||||||
or hypervisor in ["libvirt", "proxmox", "vmware"]
|
|
||||||
)
|
|
||||||
- filesystem is defined and filesystem in ["btrfs", "ext4", "xfs"]
|
|
||||||
- install_drive is defined and install_drive | length > 0
|
|
||||||
- hostname is defined and hostname | length > 0
|
|
||||||
- >-
|
|
||||||
os is defined and os in [
|
|
||||||
"archlinux", "almalinux", "debian11", "debian12", "debian13", "fedora",
|
|
||||||
"rhel8", "rhel9", "rhel10", "rocky", "ubuntu", "ubuntu-lts"
|
|
||||||
]
|
|
||||||
- >-
|
|
||||||
os is defined and (
|
|
||||||
os not in ["rhel8", "rhel9", "rhel10"]
|
|
||||||
or (rhel_iso is defined and rhel_iso | length > 0)
|
|
||||||
)
|
|
||||||
- >-
|
|
||||||
install_type is defined and (
|
|
||||||
install_type == "physical"
|
|
||||||
or (boot_iso is defined and boot_iso | length > 0)
|
|
||||||
)
|
|
||||||
- >-
|
|
||||||
install_type is defined and (
|
|
||||||
install_type == "physical"
|
|
||||||
or (vm_cpus is defined and (vm_cpus | int) > 0)
|
|
||||||
)
|
|
||||||
- >-
|
|
||||||
install_type is defined and (
|
|
||||||
install_type == "physical"
|
|
||||||
or (vm_size is defined and (vm_size | float) > 0)
|
|
||||||
)
|
|
||||||
- >-
|
|
||||||
install_type is defined and (
|
|
||||||
install_type == "physical"
|
|
||||||
or (vm_memory is defined and (vm_memory | float) > 0)
|
|
||||||
)
|
|
||||||
- >-
|
|
||||||
install_type is defined and filesystem is defined and (
|
|
||||||
install_type == "physical"
|
|
||||||
or (
|
|
||||||
vm_size is defined
|
|
||||||
and (
|
|
||||||
(filesystem == "btrfs" and (vm_size | int) >= 10)
|
|
||||||
or (filesystem != "btrfs" and (vm_size | int) >= 20)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
- >-
|
|
||||||
install_type is defined and (
|
|
||||||
install_type == "physical"
|
|
||||||
or (
|
|
||||||
vm_size is defined
|
|
||||||
and vm_memory is defined
|
|
||||||
and (
|
|
||||||
(vm_size | float)
|
|
||||||
>= (
|
|
||||||
(vm_memory | float / 1024 >= 16.0)
|
|
||||||
| ternary(
|
|
||||||
(vm_memory | float / 2048),
|
|
||||||
[vm_memory | float / 1024, 4.0] | max
|
|
||||||
)
|
|
||||||
+ 16
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
- >-
|
|
||||||
vm_ip is not defined
|
|
||||||
or vm_ip | length == 0
|
|
||||||
or (vm_nms is defined and (vm_nms | int) > 0)
|
|
||||||
fail_msg: Invalid input specified, please try again.
|
|
||||||
|
|
||||||
- name: Set OS family flags
|
|
||||||
ansible.builtin.set_fact:
|
|
||||||
is_rhel: "{{ os | lower in ['almalinux', 'fedora', 'rhel8', 'rhel9', 'rhel10', 'rocky'] }}"
|
|
||||||
is_debian: "{{ os | lower in ['debian11', 'debian12', 'debian13', 'ubuntu', 'ubuntu-lts'] }}"
|
|
||||||
changed_when: false
|
|
||||||
|
|
||||||
- name: Set Python interpreter for RHEL-based installers
|
|
||||||
when:
|
|
||||||
- ansible_python_interpreter is not defined
|
|
||||||
- os | lower in ["almalinux", "rhel8", "rhel9", "rhel10", "rocky"]
|
|
||||||
ansible.builtin.set_fact:
|
|
||||||
ansible_python_interpreter: /usr/bin/python3
|
|
||||||
changed_when: false
|
|
||||||
|
|
||||||
- name: Set SSH access
|
|
||||||
when:
|
|
||||||
- install_type == "virtual"
|
|
||||||
- hypervisor != "vmware"
|
|
||||||
ansible.builtin.set_fact:
|
|
||||||
ansible_user: "{{ user_name }}"
|
|
||||||
ansible_password: "{{ user_password }}"
|
|
||||||
ansible_become_password: "{{ user_password }}"
|
|
||||||
ansible_ssh_extra_args: "-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
|
|
||||||
|
|
||||||
- name: Set connection for VMware
|
|
||||||
when: hypervisor == "vmware"
|
|
||||||
ansible.builtin.set_fact:
|
|
||||||
ansible_connection: vmware_tools
|
|
||||||
|
|
||||||
roles:
|
roles:
|
||||||
- role: virtualization
|
- role: virtualization
|
||||||
when: install_type == "virtual"
|
when: install_type == "virtual"
|
||||||
|
|||||||
@@ -3,3 +3,111 @@
|
|||||||
ansible.builtin.debug:
|
ansible.builtin.debug:
|
||||||
msg: Global defaults loaded.
|
msg: Global defaults loaded.
|
||||||
changed_when: false
|
changed_when: false
|
||||||
|
|
||||||
|
- name: Validate variables
|
||||||
|
ansible.builtin.assert:
|
||||||
|
that:
|
||||||
|
- install_type is defined and install_type in ["virtual", "physical"]
|
||||||
|
- hypervisor in ["libvirt", "proxmox", "vmware", "none"]
|
||||||
|
- >-
|
||||||
|
install_type is defined and (
|
||||||
|
install_type == "physical"
|
||||||
|
or hypervisor in ["libvirt", "proxmox", "vmware"]
|
||||||
|
)
|
||||||
|
- filesystem is defined and filesystem in ["btrfs", "ext4", "xfs"]
|
||||||
|
- install_drive is defined and install_drive | length > 0
|
||||||
|
- hostname is defined and hostname | length > 0
|
||||||
|
- >-
|
||||||
|
os is defined and os in [
|
||||||
|
"archlinux", "almalinux", "debian11", "debian12", "debian13", "fedora",
|
||||||
|
"rhel8", "rhel9", "rhel10", "rocky", "ubuntu", "ubuntu-lts"
|
||||||
|
]
|
||||||
|
- >-
|
||||||
|
os is defined and (
|
||||||
|
os not in ["rhel8", "rhel9", "rhel10"]
|
||||||
|
or (rhel_iso is defined and rhel_iso | length > 0)
|
||||||
|
)
|
||||||
|
- >-
|
||||||
|
install_type is defined and (
|
||||||
|
install_type == "physical"
|
||||||
|
or (boot_iso is defined and boot_iso | length > 0)
|
||||||
|
)
|
||||||
|
- >-
|
||||||
|
install_type is defined and (
|
||||||
|
install_type == "physical"
|
||||||
|
or (vm_cpus is defined and (vm_cpus | int) > 0)
|
||||||
|
)
|
||||||
|
- >-
|
||||||
|
install_type is defined and (
|
||||||
|
install_type == "physical"
|
||||||
|
or (vm_size is defined and (vm_size | float) > 0)
|
||||||
|
)
|
||||||
|
- >-
|
||||||
|
install_type is defined and (
|
||||||
|
install_type == "physical"
|
||||||
|
or (vm_memory is defined and (vm_memory | float) > 0)
|
||||||
|
)
|
||||||
|
- >-
|
||||||
|
install_type is defined and filesystem is defined and (
|
||||||
|
install_type == "physical"
|
||||||
|
or (
|
||||||
|
vm_size is defined
|
||||||
|
and (
|
||||||
|
(filesystem == "btrfs" and (vm_size | int) >= 10)
|
||||||
|
or (filesystem != "btrfs" and (vm_size | int) >= 20)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
- >-
|
||||||
|
install_type is defined and (
|
||||||
|
install_type == "physical"
|
||||||
|
or (
|
||||||
|
vm_size is defined
|
||||||
|
and vm_memory is defined
|
||||||
|
and (
|
||||||
|
(vm_size | float)
|
||||||
|
>= (
|
||||||
|
(vm_memory | float / 1024 >= 16.0)
|
||||||
|
| ternary(
|
||||||
|
(vm_memory | float / 2048),
|
||||||
|
[vm_memory | float / 1024, 4.0] | max
|
||||||
|
)
|
||||||
|
+ 16
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
- >-
|
||||||
|
vm_ip is not defined
|
||||||
|
or vm_ip | length == 0
|
||||||
|
or (vm_nms is defined and (vm_nms | int) > 0)
|
||||||
|
fail_msg: Invalid input specified, please try again.
|
||||||
|
|
||||||
|
- name: Set OS family flags
|
||||||
|
ansible.builtin.set_fact:
|
||||||
|
is_rhel: "{{ os | lower in ['almalinux', 'fedora', 'rhel8', 'rhel9', 'rhel10', 'rocky'] }}"
|
||||||
|
is_debian: "{{ os | lower in ['debian11', 'debian12', 'debian13', 'ubuntu', 'ubuntu-lts'] }}"
|
||||||
|
changed_when: false
|
||||||
|
|
||||||
|
- name: Set Python interpreter for RHEL-based installers
|
||||||
|
when:
|
||||||
|
- ansible_python_interpreter is not defined
|
||||||
|
- os | lower in ["almalinux", "rhel8", "rhel9", "rhel10", "rocky"]
|
||||||
|
ansible.builtin.set_fact:
|
||||||
|
ansible_python_interpreter: /usr/bin/python3
|
||||||
|
changed_when: false
|
||||||
|
|
||||||
|
- name: Set SSH access
|
||||||
|
when:
|
||||||
|
- install_type == "virtual"
|
||||||
|
- hypervisor != "vmware"
|
||||||
|
ansible.builtin.set_fact:
|
||||||
|
ansible_user: "{{ user_name }}"
|
||||||
|
ansible_password: "{{ user_password }}"
|
||||||
|
ansible_become_password: "{{ user_password }}"
|
||||||
|
ansible_ssh_extra_args: "-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
|
||||||
|
|
||||||
|
- name: Set connection for VMware
|
||||||
|
when: hypervisor == "vmware"
|
||||||
|
ansible.builtin.set_fact:
|
||||||
|
ansible_connection: vmware_tools
|
||||||
|
|||||||
Reference in New Issue
Block a user