Uninstalling from Ansible OpenStack

Uninstall TrilioVault Services

The TrilioVault Ansible OpenStack playbook can be run to uninstall the TrilioVault services.

cd /opt/openstack-ansible/playbooks
openstack-ansible os-tvault-install.yml --tags "tvault-all-uninstall"

Destroy TrilioVault Datamover API container

To cleanly remove the TrilioVault Datamover API container run the following Ansible playbook.

cd /opt/openstack-ansible/playbooks
openstack-ansible lxc-containers-destroy.yml --limit "DMPAI CONTAINER_NAME"

Clean openstack_user_config.yml

Remove the tvault-dmapi_hosts and tvault_compute_hosts entries from /etc/openstack_deploy/openstack_user_config.yml

#tvault-dmapi
tvault-dmapi_hosts:
infra-1:
ip: 172.26.0.3
infra-2:
ip: 172.26.0.4
#tvault-datamover
tvault_compute_hosts:
infra-1:
ip: 172.26.0.7
infra-2:
ip: 172.26.0.8

Remove TrilioVault haproxy settings in user_variables.yml

Remove TrilioVault Datamover API settings from /etc/openstack_deploy/user_variables.yml

# Datamover haproxy setting
haproxy_extra_services:
- service:
haproxy_service_name: datamover_service
haproxy_backend_nodes: "{{ groups['dmapi_all'] | default([]) }}"
haproxy_ssl: "{{ haproxy_ssl }}"
haproxy_port: 8784
haproxy_balance_type: http
haproxy_backend_options:
- "httpchk GET / HTTP/1.0\\r\\nUser-agent:\\ osa-haproxy-healthcheck"

Remove TrilioVault Datamover API inventory file

rm /opt/openstack-ansible/inventory/env.d/tvault-dmapi.yml

Remove TrilioVault Datamover API service endpoints

source cloudadmin.rc
openstack endpoint delete "internal datamover service endpoint_id"
openstack endpoint delete "public datamover service endpoint_id"
openstack endpoint delete "admin datamover service endpoint_id"

Delete TrilioVault Datamover API database and user

  • Go inside galera container.

  • Login as root user in mysql database engine.

  • Drop dmapi database.

  • Drop dmapi user

lxc-attach -n "GALERA CONTAINER NAME"
mysql -u root -p "root password"
DROP DATABASE dmapi;
DROP USER dmapi;

Remove dmapi rabbitmq user from rabbitmq container

  • Go inside rabbitmq container.

  • Delete dmapi user.

  • Delete dmapi vhost.

lxc-attach -n "RABBITMQ CONTAINER NAME"
rabbitmqctl delete_user dmapi
rabbitmqctl delete_vhost /dmapi

Clean haproxy

Remove /etc/haproxy/conf.d/datamover_service file.

rm /etc/haproxy/conf.d/datamover_service

Remove HAproxy configuration entry from /etc/haproxy/haproxy.cfg file.

frontend datamover_service-front-1
bind ussuriubuntu.triliodata.demo:8784 ssl crt /etc/ssl/private/haproxy.pem ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS
option httplog
option forwardfor except 127.0.0.0/8
reqadd X-Forwarded-Proto:\ https
mode http
default_backend datamover_service-back
frontend datamover_service-front-2
bind 172.26.1.2:8784
option httplog
option forwardfor except 127.0.0.0/8
mode http
default_backend datamover_service-back
backend datamover_service-back
mode http
balance leastconn
stick store-request src
stick-table type ip size 256k expire 30m
option forwardfor
option httplog
option httpchk GET / HTTP/1.0\r\nUser-agent:\ osa-haproxy-healthcheck
server controller_dmapi_container-bf17d5b3 172.26.1.75:8784 check port 8784 inter 12000 rise 1 fall 1

Restart the HAproxy service.

systemctl restart haproxy

Remove certificates from Compute nodes

rm -rf /opt/config-certs/rabbitmq
rm -rf /opt/config-certs/s3

Destroy the TrilioVault VM Cluster

List all VMs running on the KVM node

virsh list

Destroy the TrilioVault VMs

virsh destroy <TrilioVault VM Name or ID>

Undefine the TrilioVault VMs

virsh undefine <TrilioVault VM name>

Delete the TrlioVault VM disk from KVM Host storage