# Installation of ovirt-imageio extensions

TrilioVault extends the ovirt-imageio services running on the RHV-Manager and the RHV hosts, to provide the parallel download of disks from multiple RHV hosts.

The imageio extensions are getting installed automatically using Ansible playbooks provided on the TrilioVault Appliance.

{% hint style="danger" %}
Every time the RHV environment gets updated or a new RHV host is getting added to the RHV Cluster it is necessary to rerun the installation of the ovirt-imageio extensions.
{% endhint %}

## Preparing the inventory files

Ansible playbooks are working with inventory files. These inventory files contain the list of RHV-Hosts and RHV-Managers and how to access them.

To edit the inventory files, open the following files for the server type to add.

For the RHV hosts open: `/opt/stack/imageio-ansible/inventories/production/daemon`\
For the RHV Manager open: `/opt/stack/imageio-ansible/inventories/production/proxy`

### Using password authentication

The first supported method to allow Ansible to access the RHV hosts and the RHV Manager is the classic user password authentication.

To use password authentication edit the files using the following format:

`<Server_IP> ansible_user=root password=xxxxx`

One entry per RHV Host in daemon file and one entry per RHV Manager in the proxy file are required.

### Using passwordless authentication (SSH keys)

The second supported method to Allow Ansible to access the RHV hosts and the RHV Manager is utilizing SSH keys to provide passwordless authentication.

For this method, it is necessary to prepare the TrilioVault Appliance and the RHV Cluster Nodes as well as the RHV Manager.

The recommended method from Trilio is:

1. Use ssh-keygen to generate a key pair
2. Add the private key to `/root/.ssh/` on the TrilioVault Appliance
3. Add the public key to `/root/.ssh/authorized_keys` file on each RHV host and the RHV Manager

Once the TrilioVault Appliance can access the nodes without password, edit the inventory files using the following format:

`<Server_IP> ansible_user=root`

One entry per RHV Host in the daemon file and one entry per RHV Manager in the proxy file are required.

## Starting the installation

To install the ovirt-imageio extensions go to:

`cd /opt/stack/imageio-ansible`

Depending on the method of authentication prepared in the inventory files, different commands need to be used to start the Ansible playbooks.

### Using password authentication

To call the Ansible playbooks when the inventory files use password authentication run.

#### On TrilioVault for RHV 4.0 and 4.0 SP1

For RHV 4.3 Hosts: `ansible-playbook site.yml -i inventories/production/daemon --tags daemon`\
For RHV 4.3 Manager: `ansible-playbook site.yml -i inventories/production/proxy --tags proxy`

For RHV 4.4 Hosts: `ansible-playbook test.yml -i inventories/production/daemon --tags daemon`\
For RHV 4.4 Manager: `ansible-playbook test.yml -i inventories/production/proxy --tags proxy`

#### On TrilioVault for RHV 4.0 SP2

For RHV 4.3 Hosts: `ansible-playbook rhv_4_3.yml -i inventories/production/daemon --tags daemon`\
For RHV 4.3 Manager: `ansible-playbook rhv_4_3.yml -i inventories/production/proxy --tags proxy`

For RHV 4.4 Hosts: `ansible-playbook rhv_4_4.yml -i inventories/production/daemon --tags daemon`\
For RHV 4.4 Manager: `ansible-playbook rhv_4_4.yml -i inventories/production/proxy --tags proxy`

### Using passwordless authentication (SSH keys)

To call the Ansible playbooks when the inventory files use passwordless authentication run.

#### On TrilioVault for RHV 4.0 and 4.0 SP1

For RHV 4.3 Hosts: `ansible-playbook site.yml -i inventories/production/daemon --private-key ~/.ssh/id_rsa --tags daemon`For RHV 4.3 Manager:`ansible-playbook site.yml -i inventories/production/proxy --private-key ~/.ssh/id_rsa --tags proxy`

For RHV 4.4 Hosts: `ansible-playbook test.yml -i inventories/production/daemon --private-key ~/.ssh/id_rsa --tags daemon`For RHV 4.4 Manager:`ansible-playbook test.yml -i inventories/production/proxy --private-key ~/.ssh/id_rsa --tags proxy`

#### On TrilioVault for RHV 4.0 SP2

For RHV 4.3 Hosts: `ansible-playbook rhv_4_3.yml -i inventories/production/daemon --private-key ~/.ssh/id_rsa --tags daemon`For RHV 4.3 Manager:`ansible-playbook rhv_4_3.yml -i inventories/production/proxy --private-key ~/.ssh/id_rsa --tags proxy`

For RHV 4.4 Hosts: `ansible-playbook rhv_4_4.yml -i inventories/production/daemon --private-key ~/.ssh/id_rsa --tags daemon`For RHV 4.4 Manager:`ansible-playbook rhv_4_4.yml -i inventories/production/proxy --private-key ~/.ssh/id_rsa --tags proxy`

{% hint style="info" %}
Ansible shows the output of the running playbook. Do not intervene until the playbook has finished.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.trilio.io/rhv/4.0/deployment-guide/installation-of-ovirt-imageio-extensions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
