Skip to content

Commit

Permalink
Don't upgrade etcd on atomic host, ever.
Browse files Browse the repository at this point in the history
Fixes Bug 1408668
Fixes BZ1408668
  • Loading branch information
sdodson committed Jan 5, 2017
1 parent d234e53 commit 3cc4232
Showing 1 changed file with 21 additions and 8 deletions.
29 changes: 21 additions & 8 deletions playbooks/common/openshift-cluster/upgrades/etcd/backup.yml
Expand Up @@ -42,15 +42,28 @@
{{ avail_disk.stdout }} Kb available.
when: (embedded_etcd | bool) and (etcd_disk_usage.stdout|int > avail_disk.stdout|int)

# TODO - Refactor containerized backup to use etcd_container to backup the data so we don't rely on
# the host's etcdctl binary which may be of a different version.

# for non containerized and non embedded we should have the correct version of etcd installed already
# For embedded we need to use the latest because OCP 3.3 uses a version of etcd that can only be backed
# up with etcd-3.x
# For non containerized and non embedded we should have the correct version of
# etcd installed already. So don't do anything.
#
# For embedded or containerized we need to use the latest because OCP 3.3 uses
# a version of etcd that can only be backed up with etcd-3.x and if it's
# containerized then etcd version may be newer than that on the host so
# upgrade it.
#
# On atomic we have neither yum nor dnf so ansible throws a hard to debug error
# if you use package there, like this: "Could not find a module for unknown."
# see https://bugzilla.redhat.com/show_bug.cgi?id=1408668
#
# TODO - We should refactor all containerized backups to use the containerized
# version of etcd to perform the backup rather than relying on the host's
# binaries. Until we do that we'll continue to have problems backing up etcd
# when atomic host has an older version than the version that's running in the
# container whether that's embedded or not
- name: Install latest etcd for containerized or embedded
package: name=etcd state=latest
when: ( openshift.common.is_containerized and not openshift.common.is_atomic ) or embedded_etcd | bool
package:
name: etcd
state: latest
when: ( embedded_etcd | bool or openshift.common.is_containerized ) and not openshift.common.is_atomic

- name: Generate etcd backup
command: >
Expand Down

0 comments on commit 3cc4232

Please sign in to comment.