Browse Source

etcd-agent: ignore error when no file to rename

Fixes https://github.com/coreos/etcd/issues/4512.
When cluster fails before creation of log or data directory
the file does not exist and cannot be renamed. This skips such
error because there's no need to store empty logs in failure_archive.
Gyu-Ho Lee 9 years ago
parent
commit
205033d25f
1 changed files with 9 additions and 2 deletions
  1. 9 2
      tools/functional-tester/etcd-agent/agent.go

+ 9 - 2
tools/functional-tester/etcd-agent/agent.go

@@ -194,7 +194,14 @@ func archiveLogAndDataDir(log string, datadir string) error {
 		return err
 	}
 	if err := os.Rename(log, path.Join(dir, log)); err != nil {
-		return err
+		if !os.IsNotExist(err) {
+			return err
+		}
 	}
-	return os.Rename(datadir, path.Join(dir, datadir))
+	if err := os.Rename(datadir, path.Join(dir, datadir)); err != nil {
+		if !os.IsNotExist(err) {
+			return err
+		}
+	}
+	return nil
 }