-
Bob Tanner authored
Bring virtual_servers up to the current ansible-role-sync template and the ansible-core 2.20 baseline: preflight assertions, a corrected defaults/vars split, a working Molecule scenario, and a documented public interface. * bump min_ansible_version to 2.20 (was 2.12); meta/main.yml drops the dead galaxy_info.platforms key and folds OS/version support into description instead * add tasks/preflight.yml, wired first in tasks/main.yml: asserts ansible-core >= 2.20, supported OS family, keep_build_essentials is boolean, and fact_end_of_life is defined on RedHat hosts * move OS-specific package lists from defaults/Debian.yml and defaults/RedHat.yml to vars/Debian.yml and vars/RedHat.yml so include_vars/first_found loads them as intended; vars/ has different override precedence than defaults/, so any consumer overriding official_vmware_tools, official_virtualbox_tools, official_openvz_tools, official_proxmox_tools, open_vmware_tools, or build_tools via group_vars/host_vars needs a higher-precedence override instead * add the missing keep_build_essentials: false default; it was referenced in tasks/vmware/main.yml and documented in the README but never actually defined, so any consumer that did not set it hit an undefined-variable error * drop past-EOL platforms from the supported-platform statement: Ubuntu bionic, xenial, focal, and Debian bullseye * remove tasks/vmware/install-official-vmware-tools.yml and tasks/vmware/remove-official-vmware-tools.yml, both fully disconnected from tasks/main.yml and never executed * remove unused defaults/Suse.yml; SUSE was never wired into tasks/, so this was dead data * fix molecule/default/converge.yml, which previously had an empty roles list and never exercised the role during molecule converge; it now references the role by its own directory basename * switch the Molecule verifier from Ansible to testinfra, rewrite the platform matrix to jammy/noble/resolute, bookworm/trixie, and EL 9, and add a pytest-testinfra suite under molecule/default/tests * add requirements.yml declaring the amazon.aws collection, required by the existing ec2_metadata_facts task but never previously declared * add meta/argument_specs.yml documenting keep_build_essentials * add CLAUDE.md and TODO.md; see TODO.md for follow-up items (orphaned vmware-repo.j2 template, untestable guest-tools branches under the Docker Molecule driver, no DESIGN.md yet) BREAKING CHANGE: min_ansible_version is now 2.20 (was 2.12). official_vmware_tools, official_virtualbox_tools, official_openvz_tools, official_proxmox_tools, open_vmware_tools, and build_tools moved from defaults/ to vars/, changing their override precedence -- group_vars/host_vars overrides of these will silently stop applying; use a higher-precedence override instead. The supported-platform statement no longer includes Ubuntu bionic, xenial, focal, or Debian bullseye.
Bob Tanner authoredBring virtual_servers up to the current ansible-role-sync template and the ansible-core 2.20 baseline: preflight assertions, a corrected defaults/vars split, a working Molecule scenario, and a documented public interface. * bump min_ansible_version to 2.20 (was 2.12); meta/main.yml drops the dead galaxy_info.platforms key and folds OS/version support into description instead * add tasks/preflight.yml, wired first in tasks/main.yml: asserts ansible-core >= 2.20, supported OS family, keep_build_essentials is boolean, and fact_end_of_life is defined on RedHat hosts * move OS-specific package lists from defaults/Debian.yml and defaults/RedHat.yml to vars/Debian.yml and vars/RedHat.yml so include_vars/first_found loads them as intended; vars/ has different override precedence than defaults/, so any consumer overriding official_vmware_tools, official_virtualbox_tools, official_openvz_tools, official_proxmox_tools, open_vmware_tools, or build_tools via group_vars/host_vars needs a higher-precedence override instead * add the missing keep_build_essentials: false default; it was referenced in tasks/vmware/main.yml and documented in the README but never actually defined, so any consumer that did not set it hit an undefined-variable error * drop past-EOL platforms from the supported-platform statement: Ubuntu bionic, xenial, focal, and Debian bullseye * remove tasks/vmware/install-official-vmware-tools.yml and tasks/vmware/remove-official-vmware-tools.yml, both fully disconnected from tasks/main.yml and never executed * remove unused defaults/Suse.yml; SUSE was never wired into tasks/, so this was dead data * fix molecule/default/converge.yml, which previously had an empty roles list and never exercised the role during molecule converge; it now references the role by its own directory basename * switch the Molecule verifier from Ansible to testinfra, rewrite the platform matrix to jammy/noble/resolute, bookworm/trixie, and EL 9, and add a pytest-testinfra suite under molecule/default/tests * add requirements.yml declaring the amazon.aws collection, required by the existing ec2_metadata_facts task but never previously declared * add meta/argument_specs.yml documenting keep_build_essentials * add CLAUDE.md and TODO.md; see TODO.md for follow-up items (orphaned vmware-repo.j2 template, untestable guest-tools branches under the Docker Molecule driver, no DESIGN.md yet) BREAKING CHANGE: min_ansible_version is now 2.20 (was 2.12). official_vmware_tools, official_virtualbox_tools, official_openvz_tools, official_proxmox_tools, open_vmware_tools, and build_tools moved from defaults/ to vars/, changing their override precedence -- group_vars/host_vars overrides of these will silently stop applying; use a higher-precedence override instead. The supported-platform statement no longer includes Ubuntu bionic, xenial, focal, or Debian bullseye.
This project is licensed under the MIT License.
Learn more
Loading