Browse code

fix cleanup logic if restoring plugin fails

The "err" output variable was masked by the "if" statement,
so the error was never updated.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

Sebastiaan van Stijn authored on 2017/02/20 22:13:50
Showing 1 changed files
... ...
@@ -207,9 +207,8 @@ func (pm *Manager) upgradePlugin(p *v2.Plugin, configDigest digest.Digest, blobs
207 207
 				logrus.WithError(rmErr).WithField("dir", backup).Error("error cleaning up after failed upgrade")
208 208
 				return
209 209
 			}
210
-
211
-			if err := os.Rename(backup, orig); err != nil {
212
-				err = errors.Wrap(err, "error restoring old plugin root on upgrade failure")
210
+			if mvErr := os.Rename(backup, orig); mvErr != nil {
211
+				err = errors.Wrap(mvErr, "error restoring old plugin root on upgrade failure")
213 212
 			}
214 213
 			if rmErr := os.RemoveAll(tmpRootFSDir); rmErr != nil && !os.IsNotExist(rmErr) {
215 214
 				logrus.WithError(rmErr).WithField("plugin", p.Name()).Errorf("error cleaning up plugin upgrade dir: %s", tmpRootFSDir)