Skip to content
  • Bob Tanner's avatar
    3fa3457b
    refactor!: align role with 2.20 standards · 3fa3457b
    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.
    3fa3457b
    refactor!: align role with 2.20 standards
    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.
This project is licensed under the MIT License. Learn more
Loading