# ovirt_host – Module to manage hosts in oVirt/RHV

- Synopsis
- Requirements
- Parameters
- Notes
- Examples
- Return Values
- Status

## Synopsis

- Module to manage hosts in oVirt/RHV

## Requirements

The below requirements are needed on the host that executes this module.

- python >= 2.7
- ovirt-engine-sdk-python >= 4.3.0

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---

activate
boolean
added in 2.4

Choices:
- no
- yes ←

If `state` is present activate the host.
This parameter is good to disable, when you don't want to change the state of host when using present `state`.

address - |  | Host address. It can be either FQDN (preferred) or IP address.
auth dictionary / required |  | Dictionary with values needed to create HTTP/HTTPS connection to oVirt:
| ca_file string |  | A PEM file containing the trusted CA certificates. The certificate presented by the server will be verified using these CA certificates. If `ca_file` parameter is not set, system wide CA certificate store is used. Default value is set by `OVIRT_CAFILE` environment variable.
| headers dictionary |  | Dictionary of HTTP headers to be added to each API call.
| hostname string |  | A string containing the hostname of the server, usually something like `server.example.com`. Default value is set by `OVIRT_HOSTNAME` environment variable. Either `url` or `hostname` is required.

insecure
boolean

Choices:
- no
- yes

A boolean flag that indicates if the server TLS certificate and host name should be checked.

kerberos
boolean

Choices:
- no
- yes

A boolean flag indicating if Kerberos authentication should be used instead of the default basic authentication.

| password string / required |  | The password of the user. Default value is set by `OVIRT_PASSWORD` environment variable.
| token string |  | Token to be used instead of login with username/password. Default value is set by `OVIRT_TOKEN` environment variable.
| url string |  | A string containing the API URL of the server, usually something like `https://server.example.com/ovirt-engine/api`. Default value is set by `OVIRT_URL` environment variable. Either `url` or `hostname` is required.
| username string / required |  | The name of the user, something like admin@internal. Default value is set by `OVIRT_USERNAME` environment variable.

check_upgrade
boolean
added in 2.4

Choices:
- no
- yes ←

If true and `state` is upgraded run check for upgrade action before executing upgrade action.

cluster - |  | Name of the cluster, where host should be created.
comment - |  | Description of the host.

fetch_nested
boolean

Choices:
- no
- yes

If True the module will fetch additional data from the API.
It will fetch IDs of the VMs disks, snapshots, etc. User can configure to fetch other attributes of the nested entities by specifying `nested_attributes`.

force
boolean

Choices:
- no ←
- yes

Indicates that the host should be removed even if it is non-responsive, or if it is part of a Gluster Storage cluster and has volume bricks on it.
WARNING: It doesn't forcibly remove the host if another host related operation is being executed on the host at the same time.

hosted_engine
-

Choices:
- deploy
- undeploy

If deploy it means this host should deploy also hosted engine components.
If undeploy it means this host should un-deploy hosted engine components and this host will not function as part of the High Availability cluster.

id - added in 2.8 |  | ID of the host to manage.
iscsi - added in 2.4 |  | If `state` is iscsidiscover it means that the iscsi attribute is being used to discover targets If `state` is iscsilogin it means that the iscsi attribute is being used to login to the specified targets passed as part of the iscsi attribute

kdump_integration
-

Choices:
- enabled
- disabled

Specify if host will have enabled Kdump integration.

kernel_params
-

List of kernel boot parameters.
Following are most common kernel parameters used for host:
Hostdev Passthrough & SR-IOV: intel_iommu=on
Nested Virtualization: kvm-intel.nested=1
Unsafe Interrupts: vfio_iommu_type1.allow_unsafe_interrupts=1
PCI Reallocation: pci=realloc
`Note:`
Modifying kernel boot parameters settings can lead to a host boot failure. Please consult the product documentation before doing any changes.
Kernel boot parameters changes require host deploy and restart. The host needs to be reinstalled successfully and then to be rebooted for kernel boot parameters to be applied.

name - / required |  | Name of the host to manage.
nested_attributes list |  | Specifies list of the attributes which should be fetched from the API. This parameter apply only when `fetch_nested` is true.

override_display
boolean

Choices:
- no
- yes

Override the display address of all VMs on this host with specified address.

override_iptables
boolean

Choices:
- no
- yes

If True host iptables will be overridden by host deploy script.
Note that `override_iptables` is false by default in oVirt/RHV.

password - |  | Password of the root. It's required in case `public_key` is set to False.
poll_interval integer | Default: 3 | Number of the seconds the module waits until another poll request on entity status is sent.

power_management_enabled
boolean
added in 2.4

Choices:
- no
- yes

Enable or disable power management of the host.
For more comprehensive setup of PM use `ovirt_host_pm` module.

public_key
boolean

Choices:
- no ←
- yes

True if the public key should be used to authenticate to host.
It's required in case `password` is not set.
aliases: ssh_public_key

reboot_after_upgrade
boolean
added in 2.6

Choices:
- no
- yes ←

If true and `state` is upgraded reboot host after successful upgrade.

spm_priority - |  | SPM priority of the host. Integer value from 1 to 10, where higher number means higher priority.

state
-

Choices:
- present ←
- absent
- maintenance
- upgraded
- started
- restarted
- stopped
- reinstalled
- iscsidiscover
- iscsilogin

State which should a host to be in after successful completion.
iscsilogin and iscsidiscover are supported since version 2.4.

timeout integer | Default: 600 | The amount of time in seconds the module should wait for the host to get into desired state.

vgpu_placement
-
added in 2.8

Choices:
- consolidated
- separated

If consolidated, each vGPU is placed on the first physical card with available space. This is the default placement, utilizing all available space on the physical cards.
If separated, each vGPU is placed on a separate physical card, if possible. This can be useful for improving vGPU performance.

wait
boolean

Choices:
- no
- yes ←

`yes` if the module should wait for the entity to get into desired state.

## Notes

Note

- In order to use this module you have to install oVirt Python SDK. To ensure it’s installed with correct version you can create the following task: pip: name=ovirt-engine-sdk-python version=4.3.0

## Examples

    # Examples don't contain auth parameter for simplicity,
    # look at ovirt_auth module to see how to reuse authentication:

    # Add host with username/password supporting SR-IOV.
    # Note that override_iptables is false by default in oVirt/RHV:
    - ovirt_host:
        cluster: Default
        name: myhost
        address: 10.34.61.145
        password: secret
        override_iptables: true
        kernel_params:
          - intel_iommu=on

    # Add host using public key
    - ovirt_host:
        public_key: true
        cluster: Default
        name: myhost2
        address: 10.34.61.145
        override_iptables: true

    # Deploy hosted engine host
    - ovirt_host:
        cluster: Default
        name: myhost2
        password: secret
        address: 10.34.61.145
        override_iptables: true
        hosted_engine: deploy

    # Maintenance
    - ovirt_host:
        state: maintenance
        name: myhost

    # Restart host using power management:
    - ovirt_host:
        state: restarted
        name: myhost

    # Upgrade host
    - ovirt_host:
        state: upgraded
        name: myhost

    # discover iscsi targets
    - ovirt_host:
        state: iscsidiscover
        name: myhost
        iscsi:
          username: iscsi_user
          password: secret
          address: 10.34.61.145
          port: 3260

    # login to iscsi targets
    - ovirt_host:
        state: iscsilogin
        name: myhost
        iscsi:
          username: iscsi_user
          password: secret
          address: 10.34.61.145
          target: "iqn.2015-07.com.mlipchuk2.redhat:444"
          port: 3260

    # Reinstall host using public key
    - ovirt_host:
        state: reinstalled
        name: myhost
        public_key: true

    # Remove host
    - ovirt_host:
        state: absent
        name: myhost
        force: True

    # Retry removing host when failed (https://bugzilla.redhat.com/show_bug.cgi?id=1719271)
    - ovirt_host:
        state: absent
        name: myhost
      register: result
      until: not result.failed
      retries: 6
      delay: 20

    # Change host Name
    - ovirt_host:
        id: 00000000-0000-0000-0000-000000000000
        name: "new host name"

## Return Values

Common return values are documented here, the following are the fields unique to this module:

Key | Returned | Description
--- | --- | ---
host dictionary | On success if host is found. | Dictionary of all the host attributes. Host attributes can be found on your oVirt/RHV instance at following url: http://ovirt.github.io/ovirt-engine-api-model/master/#types/host.
id string | On success if host is found. | ID of the host which is managed Sample: 7de90f31-222c-436c-a1ca-7e655bd5b60c
iscsi_targets list | On success if host is found and state is iscsidiscover. | List of host iscsi targets

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]

### Authors

- Ondra Machacek (@machacekondra)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.