Este contenido no está disponible en el idioma seleccionado.

Chapter 4. Downgrading OpenShift


4.1. Overview

Following an OpenShift Enterprise upgrade, it may be desirable in extreme cases to downgrade your cluster to a previous version. The following sections outline the required steps for each system in a cluster to perform such a downgrade for the OpenShift Enterprise 3.2 to 3.1 downgrade path.

Warning

These steps are currently only supported for RPM-based installations of OpenShift Enterprise and assumes downtime of the entire cluster.

Important

For the OpenShift Enterprise 3.1 to 3.0 downgrade path, see the OpenShift Enterprise 3.1 documentation, which has modified steps.

4.2. Verifying Backups

The Ansible playbook used during the upgrade process should have created a backup of the master-config.yaml file and the etcd data directory. Ensure these exist on your masters and etcd members:

/etc/origin/master/master-config.yaml.<timestamp>
/var/lib/origin/etcd-backup-<timestamp>
Copy to Clipboard Toggle word wrap

Also, back up the node-config.yaml file on each node (including masters, which have the node component on them) with a timestamp:

/etc/origin/node/node-config.yaml.<timestamp>
Copy to Clipboard Toggle word wrap

If you use a separate etcd cluster instead of a single embedded etcd instance, the backup is likely created on all etcd members, though only one is required for the recovery process. You can run a separate etcd instance that is co-located with your master nodes.

The RPM downgrade process in a later step should create .rpmsave backups of the following files, but it may be a good idea to keep a separate copy regardless:

/etc/sysconfig/atomic-openshift-master
/etc/etcd/etcd.conf 
1
Copy to Clipboard Toggle word wrap
1
Only required if using a separate etcd cluster.

4.3. Shutting Down the Cluster

On all masters, nodes, and etcd members, if you use a separate etcd cluster that runs on different nodes, ensure the relevant services are stopped.

On the master in a single master cluster:

# systemctl stop atomic-openshift-master
Copy to Clipboard Toggle word wrap

On each master in a multi-master cluster:

# systemctl stop atomic-openshift-master-api
# systemctl stop atomic-openshift-master-controllers
Copy to Clipboard Toggle word wrap

On all master and node hosts:

# systemctl stop atomic-openshift-node
Copy to Clipboard Toggle word wrap

On any etcd hosts for a separate etcd cluster:

# systemctl stop etcd
Copy to Clipboard Toggle word wrap

4.4. Removing RPMs

On all masters, nodes, and etcd members, if you use a separate etcd cluster that runs on different nodes, remove the following packages:

# yum remove atomic-openshift \
    atomic-openshift-clients \
    atomic-openshift-node \
    atomic-openshift-master \
    openvswitch \
    atomic-openshift-sdn-ovs \
    tuned-profiles-atomic-openshift-node
Copy to Clipboard Toggle word wrap

If you use a separate etcd cluster, also remove the etcd package:

# yum remove etcd
Copy to Clipboard Toggle word wrap

If using the embedded etcd, leave the etcd package installed. It is required for running the etcdctl command to issue operations in later steps.

4.5. Downgrading Docker

OpenShift Enterprise 3.2 requires Docker 1.9.1 and also supports Docker 1.10.3, however OpenShift Enterprise 3.1 requires Docker 1.8.2.

Downgrade to Docker 1.8.2 on each host using the following steps:

  1. Remove all local containers and images on the host. Any pods backed by a replication controller will be recreated.

    Warning

    The following commands are destructive and should be used with caution.

    Delete all containers:

    # docker rm $(docker ps -a -q)
    Copy to Clipboard Toggle word wrap

    Delete all images:

    # docker rmi $(docker images -q)
    Copy to Clipboard Toggle word wrap
  2. Use yum swap (instead of yum downgrade) to install Docker 1.8.2:

    # yum swap docker-* docker-*1.8.2
    # sed -i 's/--storage-opt dm.use_deferred_deletion=true//' /etc/sysconfig/docker-storage
    # systemctl restart docker
    Copy to Clipboard Toggle word wrap
  3. You should now have Docker 1.8.2 installed and running on the host. Verify with the following:

    # docker version
    Client:
     Version:      1.8.2-el7
     API version:  1.20
     Package Version: docker-1.8.2-10.el7.x86_64
    [...]
    
    # systemctl status docker
    ● docker.service - Docker Application Container Engine
       Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
       Active: active (running) since Mon 2016-06-27 15:44:20 EDT; 33min ago
    [...]
    Copy to Clipboard Toggle word wrap

4.6. Reinstalling RPMs

Disable the OpenShift Enterprise 3.3 repositories, and re-enable the 3.2 repositories:

# subscription-manager repos \
    --disable=rhel-7-server-ose-3.3-rpms \
    --enable=rhel-7-server-ose-3.2-rpms
Copy to Clipboard Toggle word wrap

On each master, install the following packages:

# yum install atomic-openshift \
    atomic-openshift-clients \
    atomic-openshift-node \
    atomic-openshift-master \
    openvswitch \
    atomic-openshift-sdn-ovs \
    tuned-profiles-atomic-openshift-node
Copy to Clipboard Toggle word wrap

On each node, install the following packages:

# yum install atomic-openshift \
    atomic-openshift-node \
    openvswitch \
    atomic-openshift-sdn-ovs \
    tuned-profiles-atomic-openshift-node
Copy to Clipboard Toggle word wrap

If you use a separate etcd cluster, install the following package on each etcd member:

# yum install etcd
Copy to Clipboard Toggle word wrap

4.7. Restoring etcd

See Backup and Restore.

4.8. Bringing OpenShift Enterprise Services Back Online

See Backup and Restore.

4.9. Verifying the Downgrade

To verify the downgrade, first check that all nodes are marked as Ready:

# oc get nodes
NAME                        STATUS                     AGE
master.example.com          Ready,SchedulingDisabled   165d
node1.example.com           Ready                      165d
node2.example.com           Ready                      165d
Copy to Clipboard Toggle word wrap

Then, verify that you are running the expected versions of the docker-registry and router images, if deployed:

# oc get -n default dc/docker-registry -o json | grep \"image\"
    "image": "openshift3/ose-docker-registry:v3.1.1.6",
# oc get -n default dc/router -o json | grep \"image\"
    "image": "openshift3/ose-haproxy-router:v3.1.1.6",
Copy to Clipboard Toggle word wrap

You can use the diagnostics tool on the master to look for common issues and provide suggestions. In OpenShift Enterprise 3.1, the oc adm diagnostics tool is available as openshift ex diagnostics:

# openshift ex diagnostics
...
[Note] Summary of diagnostics execution:
[Note] Completed with no errors or warnings seen.
Copy to Clipboard Toggle word wrap
Volver arriba
Red Hat logoGithubredditYoutubeTwitter

Aprender

Pruebe, compre y venda

Comunidades

Acerca de la documentación de Red Hat

Ayudamos a los usuarios de Red Hat a innovar y alcanzar sus objetivos con nuestros productos y servicios con contenido en el que pueden confiar. Explore nuestras recientes actualizaciones.

Hacer que el código abierto sea más inclusivo

Red Hat se compromete a reemplazar el lenguaje problemático en nuestro código, documentación y propiedades web. Para más detalles, consulte el Blog de Red Hat.

Acerca de Red Hat

Ofrecemos soluciones reforzadas que facilitan a las empresas trabajar en plataformas y entornos, desde el centro de datos central hasta el perímetro de la red.

Theme

© 2025 Red Hat