# Uninstalling from Kolla OpenStack

## Clean triliovault\_datamover\_api container

The container needs to be cleaned on all nodes where the `triliovault_datamover_api` container is running.\
The Kolla Openstack inventory file helps to identify the nodes with the service.

Following steps need to be done to clean the `triliovault_datamover_api` container:

Stop the `triliovault_datamover_api` container.

```
docker stop triliovault_datamover_api
```

Remove the `triliovault_datamover_api` container.

```
docker rm triliovault_datamover_api
```

Clean `/etc/kolla/triliovault-datamover-api` directory.

```
rm -rf /etc/kolla/triliovault-datamover-api
```

Clean log directory of `triliovault_datamover_api` container.

```
rm -rf /var/log/kolla/triliovault-datamover-api/
```

## Clean triliovault\_datamover container

The container needs to be cleaned on all nodes where the `triliovault_datamover` container is running.\
The Kolla Openstack inventory file helps to identify the nodes with the service.

Following steps need to be done to clean the `triliovault_datamover` container:

Stop the `triliovault_datamover` container.

```
docker stop triliovault_datamover
```

Remove the `triliovault_datamover` container.

```
docker rm triliovault_datamover
```

Clean `/etc/kolla/triliovault-datamover` directory.

```
rm -rf /etc/kolla/triliovault-datamover
```

Clean log directory of `triliovault_datamover` container.

```
rm -rf /var/log/kolla/triliovault-datamover/
```

## Clean haproxy of Trilio Datamover API

The Trilio Datamover API entries need to be cleaned on all `haproxy` nodes.\
The Kolla Openstack inventory file helps to identify the nodes with the service.

Following steps need to be done to clean the `haproxy` container:

```
rm /etc/kolla/haproxy/services.d/triliovault-datamover-api.cfg
docker restart haproxy
```

## Clean Kolla Ansible deployment procedure

Delete all Trilio related entries from:

{% hint style="info" %}
To cross-verify the uninstallation undo all steps done in [append Kolla Ansible yml files](https://docs.trilio.io/openstack/tvo-4.1/configuring-and-installing-triliovault/installing-on-kolla#append-to-kolla-ansible-yaml-files) and [clone Trilio Ansible role](https://docs.trilio.io/openstack/tvo-4.1/configuring-and-installing-triliovault/installing-on-kolla#clone-triliovault-ansible-role).
{% endhint %}

Trilio entries can be found in:

* `/usr/local/share/kolla-ansible/ansible/roles/` :arrow\_right: There is a role triliovault
* `/etc/kolla/globals.yml`:arrow\_right: Trilio entries had been appended at the end of the file
* `/etc/kolla/passwords.yml`:arrow\_right: Trilio entries had been appended at the end of the file
* `/usr/local/share/kolla-ansible/ansible/site.yml` :arrow\_right: Trilio entries had been appended at the end of the file
* `/root/multinode` :arrow\_right: Trilio entries had been appended at the end of this example inventory file

## Revert to original Horizon container

Run deploy command to replace the Trilio Horizon container with original Kolla Ansible Horizon container.

```
kolla-ansible -i multinode deploy
```

## Clean Keystone resources

Trilio created a dmapi service with dmapi user.

```
openstack service delete dmapi
openstack user delete dmapi
```

## Clean Trilio database resources

Trilio Datamover API service has its own database in the Openstack database.

Login to Openstack database as root user or user with similar priviliges.

```
mysql -u root -p
```

Delete dmapi database and user.

```
DROP DATABASE dmapi;
DROP USER dmapi;
```

## Destroy the Trilio VM Cluster

List all VMs running on the KVM node

```
virsh list
```

Destroy the Trilio VMs

```
virsh destroy <Trilio VM Name or ID>
```

Undefine the Trilio VMs

```
virsh undefine <Trilio VM name>
```

Delete the TrlioVault VM disk from KVM Host storage
