diff --git a/cluster/images/etcd/migrate-if-needed.sh b/cluster/images/etcd/migrate-if-needed.sh index fe3ac8af8c7..359a636e0d5 100755 --- a/cluster/images/etcd/migrate-if-needed.sh +++ b/cluster/images/etcd/migrate-if-needed.sh @@ -230,7 +230,6 @@ if [ "${CURRENT_STORAGE}" = "etcd3" -a "${TARGET_STORAGE}" = "etcd2" ]; then rm -rf "${ROLLBACK_BACKUP_DIR}" mkdir -p "${ROLLBACK_BACKUP_DIR}" cp -r "${DATA_DIRECTORY}" "${ROLLBACK_BACKUP_DIR}" - rm -rf "${DATA_DIRECTORY}"/member/snap/*.snap echo "Performing etcd3 -> etcd2 rollback" ${ROLLBACK} --data-dir "${DATA_DIRECTORY}" if [ "$?" -ne "0" ]; then diff --git a/cluster/images/etcd/rollback/rollback.go b/cluster/images/etcd/rollback/rollback.go index ba75df4b2ae..76cdb066f8d 100644 --- a/cluster/images/etcd/rollback/rollback.go +++ b/cluster/images/etcd/rollback/rollback.go @@ -38,6 +38,7 @@ import ( "github.com/coreos/etcd/store" "github.com/coreos/etcd/wal" "github.com/coreos/etcd/wal/walpb" + "github.com/coreos/go-semver/semver" "github.com/golang/glog" ) @@ -263,6 +264,7 @@ func rebuild(datadir string) ([]byte, *raftpb.HardState, store.Store, error) { cluster := membership.NewCluster("") cluster.SetStore(st) + cluster.Recover(func(*semver.Version) {}) applier := etcdserver.NewApplierV2(st, cluster) for _, ent := range ents {