kubevirt – KubeVirt inventory source¶
New in version 2.8.
Synopsis¶
Fetch running VirtualMachines for one or more namespaces.
Groups by namespace, namespace_vms and labels.
Uses kubevirt.(yml|yaml) YAML configuration file to set parameter values.
Requirements¶
The below requirements are needed on the local master node that executes this inventory.
openshift >= 0.6
PyYAML >= 3.11
Parameters¶
Parameter | Choices/Defaults | Configuration | Comments | |
---|---|---|---|---|
cache
boolean
|
|
ini entries:
[inventory] env:ANSIBLE_INVENTORY_CACHE
|
Toggle to enable/disable the caching of the inventory's source data, requires a cache plugin setup to work.
|
|
cache_connection
string
|
ini entries:
[defaults] [inventory] env:ANSIBLE_CACHE_PLUGIN_CONNECTION
env:ANSIBLE_INVENTORY_CACHE_CONNECTION
|
Cache connection data or path, read cache plugin documentation for specifics.
|
||
cache_plugin
string
|
Default: "memory"
|
ini entries:
[defaults] [inventory] env:ANSIBLE_CACHE_PLUGIN
env:ANSIBLE_INVENTORY_CACHE_PLUGIN
|
Cache plugin to use for the inventory's source data.
|
|
cache_prefix
-
|
Default: "ansible_inventory_"
|
ini entries:
[default] [inventory] env:ANSIBLE_CACHE_PLUGIN_PREFIX
env:ANSIBLE_INVENTORY_CACHE_PLUGIN_PREFIX
|
Prefix to use for cache plugin files/tables
|
|
cache_timeout
integer
|
Default: 3600
|
ini entries:
[defaults] [inventory] env:ANSIBLE_CACHE_PLUGIN_TIMEOUT
env:ANSIBLE_INVENTORY_CACHE_TIMEOUT
|
Cache duration in seconds
|
|
compose
dictionary
|
Default: {}
|
Create vars from jinja2 expressions.
|
||
connections
list
|
Optional list of cluster connection settings. If no connections are provided, the default ~/.kube/config and active context will be used, and objects will be returned for all namespaces the active user is authorized to access.
|
|||
annotation_variable
string
|
Default: "ansible"
|
Specify the name of the annotation which provides data, which should be used as inventory host variables.
Note, that the value in ansible annotations should be json.
|
||
api_key
string
|
Token used to authenticate with the API. Can also be specified via K8S_AUTH_API_KEY environment variable.
|
|||
api_version
string
|
Specify the KubeVirt API version.
|
|||
cert_file
string
|
Path to a certificate used to authenticate with the API. Can also be specified via K8S_AUTH_CERT_FILE environment variable.
|
|||
context
string
|
The name of a context found in the config file. Can also be specified via K8S_AUTH_CONTEXT environment variable.
|
|||
host
string
|
Provide a URL for accessing the API. Can also be specified via K8S_AUTH_HOST environment variable.
|
|||
key_file
string
|
Path to a key file used to authenticate with the API. Can also be specified via K8S_AUTH_HOST environment variable.
|
|||
kubeconfig
string
|
Path to an existing Kubernetes config file. If not provided, and no other connection options are provided, the OpenShift client will attempt to load the default configuration file from ~/.kube/config.json. Can also be specified via K8S_AUTH_KUBECONFIG environment variable.
|
|||
name
string
|
Optional name to assign to the cluster. If not provided, a name is constructed from the server and port.
|
|||
namespaces
list
|
List of namespaces. If not specified, will fetch all virtual machines for all namespaces user is authorized to access.
|
|||
network_name
string
|
In case of multiple network attached to virtual machine, define which interface should be returned as primary IP address.
|
|||
password
string
|
Provide a password for authenticating with the API. Can also be specified via K8S_AUTH_PASSWORD environment variable.
|
|||
ssl_ca_cert
string
|
Path to a CA certificate used to authenticate with the API. Can also be specified via K8S_AUTH_SSL_CA_CERT environment variable.
|
|||
username
string
|
Provide a username for authenticating with the API. Can also be specified via K8S_AUTH_USERNAME environment variable.
|
|||
verify_ssl
boolean
|
|
Whether or not to verify the API server's SSL certificates. Can also be specified via K8S_AUTH_VERIFY_SSL environment variable.
|
||
groups
dictionary
|
Default: {}
|
Add hosts to group based on Jinja2 conditionals.
|
||
host_format
-
|
Default: "{namespace}-{name}-{uid}"
|
Specify the format of the host in the inventory group.
|
||
keyed_groups
list
|
Default: []
|
Add hosts to group based on the values of a variable.
|
||
plugin
string
/ required
|
|
token that ensures this is a source file for the 'kubevirt' plugin.
|
||
strict
boolean
|
|
If
yes make invalid entries a fatal error, otherwise skip and continue.Since it is possible to use facts in the expressions they might not always be available and we ignore those errors by default.
|
Examples¶
# File must be named kubevirt.yaml or kubevirt.yml
# Authenticate with token, and return all virtual machines for all namespaces
plugin: kubevirt
connections:
- host: https://kubevirt.io
token: xxxxxxxxxxxxxxxx
ssl_verify: false
# Use default config (~/.kube/config) file and active context, and return vms with interfaces
# connected to network myovsnetwork and from namespace vms
plugin: kubevirt
connections:
- namespaces:
- vms
network_name: myovsnetwork
Status¶
This inventory is not guaranteed to have a backwards compatible interface. [preview]
This inventory is maintained by the Ansible Community. [community]