:_mod-docs-content-type: PROCEDURE
[id="stopping-infrastructure-management-and-compute-services_{context}"]

= Stopping infrastructure management and Compute services

[role="_abstract"]
You must stop cloud database nodes and messaging nodes on the {rhos_prev_long} {rhos_prev_ver} control plane. Do not stop nodes that are running the following roles:

* Compute
* Storage
* Networker
* Controller if running `OVN Controller Gateway agent` network agent

The following procedure applies to a standalone {OpenStackPreviousInstaller} deployment. You must stop the Pacemaker services on your host so that you can install libvirt packages when the Compute roles are adopted as data plane nodes. Modular libvirt daemons no longer run in podman containers on data plane nodes.

.Prerequisites

* Define the shell variables. Replace the following example values with values that apply to your environment:
+
[subs=+quotes]
----
ifeval::["{build}" != "downstream"]
CONTROLLER1_SSH="ssh -i ~/install_yamls/out/edpm/ansibleee-ssh-key-id_rsa root@<controller-1 IP>"
# ...
endif::[]
ifeval::["{build}" == "downstream"]
CONTROLLER1_SSH="ssh -i <path_to_SSH_key> root@<controller-1 IP>"
# ...
endif::[]
# ...
ifeval::["{build}" != "downstream"]
EDPM_PRIVATEKEY_PATH="~/install_yamls/out/edpm/ansibleee-ssh-key-id_rsa"
endif::[]
ifeval::["{build}" == "downstream"]
EDPM_PRIVATEKEY_PATH="<path_to_SSH_key>"
endif::[]
----
+
** `CONTROLLER<X>_SSH` defines the SSH connection details for all Controller nodes, including cell Controller nodes, of the source {OpenStackPreviousInstaller} cloud.
ifeval::["{build}" == "downstream"]
** `<path_to_SSH_key>` defines the path to your SSH key.
endif::[]

.Procedure

* Stop the Pacemaker services:
+
----
PacemakerResourcesToStop=(
                "galera-bundle"
                "haproxy-bundle"
                "rabbitmq-bundle")

echo "Stopping pacemaker services"
for i in {1..3}; do
    SSH_CMD=CONTROLLER${i}_SSH
    if [ ! -z "${!SSH_CMD}" ]; then
        echo "Using controller $i to run pacemaker commands"
        for resource in ${PacemakerResourcesToStop[*]}; do
            if ${!SSH_CMD} sudo pcs resource config $resource; then
                ${!SSH_CMD} sudo pcs resource disable $resource
            fi
        done
        break
    fi
done
----
