The docs workflow fails because ansible_basic_sphinx_ext uses
pkg_resources which was removed in recent setuptools versions.
The package is archived and deprecated - its functionality is
already covered by sphinx_antsibull_ext and ansible-pygments.
Also remove the Python version pin to use the runner default.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Felix Matouschek <fmatouschek@redhat.com>
ansible-core milestone now requires Python >=3.13, causing all
py3.12/milestone CI jobs to fail with:
"Package 'ansible-core' requires a different Python: 3.12 not in '>=3.13'"
Assisted-by: Claude Code
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Felix Matouschek <fmatouschek@redhat.com>
- Assert default_win_ansible_connection is not applied when the host already
has ansible_connection.
- Matching Service is used when SSH and WinRM LoadBalancer services co-exist.
Signed-off-by: Geetika Kapoor <gkapoor@redhat.com>
Update kind v0.31.0 -> v0.32.0 and KubeVirt v1.8.2 -> v1.8.3.
Pin the kind node image to K8s 1.35 since KubeVirt v1.8 does not
yet support K8s 1.36 (kind v0.32.0 defaults to 1.36).
Supersedes: #243
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Felix Matouschek <fmatouschek@redhat.com>
Document tox 4 requirement and PATH fix for --user installs so make
targets use the correct tox binary. Describe how to use selective
unit test environments instead of running the full matrix.
Signed-off-by: Geetika Kapoor <gkapoor@redhat.com>
It adds support for starting, stopping, and restarting VirtualMachines.
The operations are performed through the KubeVirt restart subresource
API (PUT to `subresources.kubevirt.io/v1`). These calls are extracted
into a single shared helper function `_call_subresource()` to handle the
common flow, i.e., check mode, API call and wait conditions.
Moreover, it adds the optional parameter `grace_period_seconds` for
stop and start operations.
Additionally, it adds unit tests and integration tests for all
operations.
Assisted-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Javier Cano Cano <jcanocan@redhat.com>
It adds the option `default_win_ansible_connection` to allow users to
configure the default `ansible_connection` for Windows VMs detected by
the inventory plugin, instead of always hardcoding `winrm`. This enables
use of alternative connection plugins like `psrp` or `ssh` without
per-host overrides.
Defaults to `winrm` for backward compatibility.
Assisted-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Javier Cano Cano <jcanocan@redhat.com>
It adds documentation to provide context about the project to AI agents.
Assisted-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Javier Cano Cano <jcanocan@redhat.com>
It updates test python versions configuration to 3.10 and 3.14.
Otherwise, it fails to run coverage tests due to non supported
operations such as merge dicts.
Signed-off-by: Javier Cano Cano <jcanocan@redhat.com>
Python 3.14 removed pkg_resources, which breaks
ansible_basic_sphinx_ext. Pin to 3.13 until the
upstream dependency is updated.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Felix Matouschek <fmatouschek@redhat.com>
Previously, `_set_composable_vars` hardcoded `strict=True` for the
`_set_composite_vars` call while correctly passing the user-configured
value to `_add_host_to_composed_groups` and `_add_host_to_keyed_groups`.
This meant `strict: false` had no effect on compose expressions.
Pass `strict=strict` consistently to all three calls, matching the
behavior of Ansible's own `constructed` inventory plugin.
Adds a unit test verifying that compose errors are suppressed when
`strict: false` is configured.
Signed-off-by: Jathavedhan M <jathavedhan.m@ibm.com>
Assisted-by: Claude <noreply@anthropic.com>