5.3 Removing Services

You may want to remove OpenStack services from a node, for example because you want to replace the node or because you want to change the services it runs.

You remove services with kollacli host destroy command. This command removes all the Docker containers that run services and their data.

When you remove services, bear in mind the deployment "rules":

  • The nodes in the compute group must not be assigned to the control group.

  • The control group must contain at least two nodes.

  • The number of nodes in the database group must always be a multiple of two.

  • Each group must contain at least two nodes to enable high availability.

To remove all services from a node:

$ kollacli host destroy compute1.example.com
This will delete all containers and data, are you sure? (y/n) y

To remove all services from all nodes:

$ kollacli host destroy all
This will delete all containers and data, are you sure? (y/n) y

By default, the containers are killed (docker kill) before they are removed. Use the --stop option to perform a graceful shutdown (docker stop) of the containers before removing them. This might be slower. To suppress the prompt about deleting all containers and data, use the --includedata option.

Use the --removeimages option to remove the OpenStack Docker images as well as the containers. If you want to always remove the images when you remove OpenStack services from a node, you can configure this behavior by setting the destroy_include_images property:

$ kollacli property set destroy_include_images True

The kollacli host destroy command also performs several tasks to clean up a host after removing the OpenStack containers, for example the disks used for Swift or Ceph are unmounted and their entries are removed from the /etc/fstab file (a backup of this file is also created).

If you no longer want to include a node in a deployment, you must also remove it from the list of target nodes:

$ kollacli host remove [ host | all ]

where host is the fully qualified domain name or IP address of the host, or all for all hosts.

When you destroy a node that runs the Glance image service (usually a controller node), the Glance images are removed from the deployment but they remain on disk in the /var/lib/glance/images directory on the node.