Compare commits

..

4 Commits

6 changed files with 47 additions and 11 deletions

View File

@@ -183,7 +183,7 @@ Top-level variables outside `system`/`hypervisor`.
#### `system.content` #### `system.content`
Uniform package content source, family-resolved. `source: ''` defaults to `dvd` on EL and `mirror` on Debian/Ubuntu/Arch. Satellite values come from inventory/vault only, never committed code. Uniform package content source, family-resolved. `source: ''` defaults to `dvd` on `rhel` and to `mirror` everywhere else, AlmaLinux, Rocky and Fedora included: they have public mirrors, RHEL does not. Satellite values come from inventory/vault only, never committed code.
| Key | Type | Default | Description | | Key | Type | Default | Description |
| -------------------------- | ------ | -------------- | ----------------------------------------------------------------- | | -------------------------- | ------ | -------------- | ----------------------------------------------------------------- |

View File

@@ -3,3 +3,5 @@
cleanup_verify_boot: true cleanup_verify_boot: true
cleanup_boot_timeout: 300 cleanup_boot_timeout: 300
cleanup_remove_on_failure: true cleanup_remove_on_failure: true
cleanup_poweroff_retries: 24
cleanup_poweroff_delay: 5

View File

@@ -6,7 +6,30 @@
module_defaults: module_defaults:
community.proxmox.proxmox_disk: "{{ _proxmox_auth }}" community.proxmox.proxmox_disk: "{{ _proxmox_auth }}"
community.proxmox.proxmox_kvm: "{{ _proxmox_auth_node }}" community.proxmox.proxmox_kvm: "{{ _proxmox_auth_node }}"
community.proxmox.proxmox_vm_info: "{{ _proxmox_auth_node }}"
block: block:
- name: Wait for the installer environment to power off
community.proxmox.proxmox_vm_info:
vmid: "{{ system_cfg.id }}"
register: cleanup_proxmox_power
until: >-
((cleanup_proxmox_power.proxmox_vms | default([]) | first | default({})).status
| default('')) == 'stopped'
retries: "{{ cleanup_poweroff_retries }}"
delay: "{{ cleanup_poweroff_delay }}"
failed_when: false
no_log: true
- name: Force the installer environment off when it did not shut down
when: >-
((cleanup_proxmox_power.proxmox_vms | default([]) | first | default({})).status
| default('')) != 'stopped'
community.proxmox.proxmox_kvm:
vmid: "{{ system_cfg.id }}"
state: stopped
force: true
no_log: true
- name: Cleanup Setup Disks - name: Cleanup Setup Disks
community.proxmox.proxmox_disk: community.proxmox.proxmox_disk:
name: "{{ hostname }}" name: "{{ hostname }}"
@@ -21,13 +44,6 @@
failed_when: false failed_when: false
no_log: true no_log: true
- name: Ensure the installer environment is powered off
community.proxmox.proxmox_kvm:
vmid: "{{ system_cfg.id }}"
state: stopped
force: true
no_log: true
- name: Boot the installed OS - name: Boot the installed OS
community.proxmox.proxmox_kvm: community.proxmox.proxmox_kvm:
vmid: "{{ system_cfg.id }}" vmid: "{{ system_cfg.id }}"

View File

@@ -5,9 +5,26 @@
become: false become: false
module_defaults: module_defaults:
community.vmware.vmware_guest: "{{ _vmware_auth }}" community.vmware.vmware_guest: "{{ _vmware_auth }}"
community.vmware.vmware_guest_info: "{{ _vmware_auth }}"
vmware.vmware.vm_powerstate: "{{ _vmware_auth }}" vmware.vmware.vm_powerstate: "{{ _vmware_auth }}"
no_log: true no_log: true
block: block:
- name: Wait for the installer environment to power off
community.vmware.vmware_guest_info:
name: "{{ hostname }}"
register: cleanup_vmware_power
until: (cleanup_vmware_power.instance.hw_power_status | default('') | lower) == 'poweredoff'
retries: "{{ cleanup_poweroff_retries }}"
delay: "{{ cleanup_poweroff_delay }}"
failed_when: false
- name: Force the installer environment off when it did not shut down
when: (cleanup_vmware_power.instance.hw_power_status | default('') | lower) != 'poweredoff'
vmware.vmware.vm_powerstate:
name: "{{ hostname }}"
state: powered-off
force: true
- name: Remove CD-ROM from VM in vCenter - name: Remove CD-ROM from VM in vCenter
community.vmware.vmware_guest: community.vmware.vmware_guest:
name: "{{ hostname }}" name: "{{ hostname }}"
@@ -41,7 +58,7 @@
}} }}
failed_when: false failed_when: false
- name: Start VM in vCenter - name: Boot the installed OS
vmware.vmware.vm_powerstate: vmware.vmware.vm_powerstate:
name: "{{ hostname }}" name: "{{ hostname }}"
state: powered-on state: powered-on

View File

@@ -78,7 +78,8 @@ system_defaults:
timezone: "Europe/Vienna" timezone: "Europe/Vienna"
locale: "en_US.UTF-8" locale: "en_US.UTF-8"
keymap: "us" keymap: "us"
# source: dvd|mirror|satellite|none ('' -> family default: EL=dvd, else mirror). # source: dvd|mirror|satellite|none ('' -> family default: rhel=dvd, else mirror;
# almalinux/rocky/fedora have public mirrors, rhel does not).
# satellite values come from inventory/vault only, never committed code. # satellite values come from inventory/vault only, never committed code.
content: content:
source: "" source: ""

View File

@@ -1,6 +1,6 @@
--- ---
# Raw system.content input -> expected normalized system_cfg.content. Covers family # Raw system.content input -> expected normalized system_cfg.content. Covers family
# source defaults (EL=dvd, else mirror), url pass-through, satellite inputs, and the # source defaults (rhel=dvd, else mirror), url pass-through, satellite inputs, and the
# Arch reflector lock-out (dropped only when a custom mirror url is set). # Arch reflector lock-out (dropped only when a custom mirror url is set).
content_fixtures: content_fixtures:
- name: arch-mirror-url-drops-reflector - name: arch-mirror-url-drops-reflector