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

= Stopping infrastructure management and Compute services

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 Compute, Storage, Networker or Controller(if running `OVN Controller Gateway agent` network agent) roles on the control plane.

The following procedure applies to a single node standalone {OpenStackPreviousInstaller} deployment. You must remove conflicting repositories and packages from your Compute hosts, so that you can install libvirt packages when these hosts are adopted as data plane nodes, where modular libvirt daemons are no longer running in podman containers.

.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::[]
# ... <1>
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>" <2>
endif::[]
----
+
<1> In the `CONTROLLER<X>_SSH` settings, provide SSH connection details for all Controller nodes, including cell Controller nodes, of the source {OpenStackPreviousInstaller} cloud.
ifeval::["{build}" == "downstream"]
<2> Replace `<path_to_SSH_key>` with the path to your SSH key.
endif::[]

.Procedure

* Remove the conflicting repositories and packages from all Compute hosts:
+
----
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
----
