Felix Matouschek 060ac97b68 fix(inventory): Fix inventory source caching
Fix inventory source caching by separating the fetching of objects and
populating the inventory. This way objects can be fetched from the K8S
API or from a configured cached and the cache related parameters on the
plugin now actually work.

The inventory source cache was tested with the ansible.builtin.jsonfile
cache plugin and 100k hosts (~2G JSON file). Though it took a noticeable
amount of time for the inventory plugin to run it worked fine and no
failures could be observed.

Signed-off-by: Felix Matouschek <fmatouschek@redhat.com>
2024-07-12 10:32:24 +02:00
2024-06-27 15:44:21 +02:00
2023-07-14 10:30:20 +02:00
2023-07-14 10:30:20 +02:00
2024-07-10 14:21:34 +02:00
2024-06-11 11:39:32 +02:00
2023-07-14 10:30:20 +02:00
2023-08-07 14:07:48 +02:00
2024-04-12 10:23:38 +02:00

Lean Ansible bindings for KubeVirt

Build Status

This repository hosts the kubevirt.core Ansible Collection, which provides virtual machine operations and an inventory source for use with Ansible.

Ansible and Python version compatibility

This collection has been tested against Ansible versions >=2.15,<=2.17 and Python versions >=3.9,<=3.12.

See the Ansible core support matrix for supported combinations.

Included content

Plugins

  • kubevirt: Inventory source for KubeVirt VirtualMachines
  • kubevirt_vm: Create or delete KubeVirt VirtualMachines
  • kubevirt_vm_info: Describe KubeVirt VirtualMachines

Using this collection

Installing the Collection from Ansible Galaxy

Before using this collection, you need to install it with the Ansible Galaxy command-line tool:

ansible-galaxy collection install kubevirt.core

Build and install locally

Clone the repository, checkout the tag you want to build, or pick the main branch for the development version; then:

ansible-galaxy collection build .
ansible-galaxy collection install kubevirt-kubevirt.core-*.tar.gz

Dependencies

Ansible collections

To install all the dependencies:

ansible-galaxy collection install -r requirements.yml

Python libraries

  • jsonpatch
  • kubernetes>=28.1.0
  • PyYAML>=3.11

To install all the dependencies:

pip install -r requirements.txt

See Ansible Using collections for more details.

Code of Conduct

We follow the KubeVirt Code of Conduct.

Contributing to this collection

The content of this collection is made by people like you, a community of individuals collaborating on making the world better through developing automation software.

We are actively accepting new contributors.

Any kind of contribution is very welcome.

You don't know how to start? Refer to our contribution guide!

We use the following guidelines:

Collection maintenance

The current maintainers are listed in the OWNERS file. If you have questions or need help, feel free to mention them in the proposals.

To learn how to maintain / become a maintainer of this collection, refer to the Maintainer guidelines.

Release policy

The release policy of the collection can be found at docs/releasing.md.

Governance

The process of decision making in this collection is based on discussing and finding consensus among participants.

Every voice is important. If you have something on your mind, create an issue or dedicated discussion and let's discuss it!

Licensing

Apache License 2.0

See LICENSE to see the full text.

Description
Lean Ansible bindings for KubeVirt
Readme Apache-2.0 8 MiB
Languages
Python 85%
Shell 9.2%
Jinja 5.5%
Makefile 0.3%