diff options
author | Harald Musum <musum@verizonmedia.com> | 2022-11-16 14:48:21 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-16 14:48:21 +0100 |
commit | c3ea9443f91c8104efe5dca66756a7ed5f64a810 (patch) | |
tree | 7bf3045170e9c255e2c80a9e012f24a08a9a63e7 | |
parent | 9a65f43ecc761072b783fc2564de5235b411fecf (diff) | |
parent | 52206e4bcb518e527bba8c13cd493cc64aef22e2 (diff) |
Merge pull request #24890 from vespa-engine/arnej/handle-access-symlink
handle old leftover symlink
-rw-r--r-- | client/go/vespa/prestart.go | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/client/go/vespa/prestart.go b/client/go/vespa/prestart.go index eb4a598ef37..c102e1ed41b 100644 --- a/client/go/vespa/prestart.go +++ b/client/go/vespa/prestart.go @@ -31,7 +31,6 @@ func RunPreStart() error { } fixSpec.FixDir("logs") fixSpec.FixDir("logs/vespa") - fixSpec.FixDir("logs/vespa/access") fixSpec.FixDir("logs/vespa/configserver") fixSpec.FixDir("logs/vespa/search") fixSpec.FixDir("var/tmp") @@ -54,9 +53,10 @@ func RunPreStart() error { fixSpec.FixDir("var/vespa/bundlecache") fixSpec.FixDir("var/vespa/bundlecache/configserver") fixSpec.FixDir("var/vespa/cache/config") + // fix wrong ownerships within directories: var fixer fs.WalkDirFunc = func(path string, d fs.DirEntry, err error) error { if err != nil { - panic(err) + util.JustExitWith(err) } if d.IsDir() { fixSpec.FixDir(path) @@ -68,5 +68,20 @@ func RunPreStart() error { fileSystem := os.DirFS(vespaHome) fs.WalkDir(fileSystem, "logs/vespa", fixer) fs.WalkDir(fileSystem, "var/db/vespa", fixer) + // we used to have (Vespa 7) a directory "qrs", with "access" a symlink to that. + // now we want it the other way around, try to make it so: + const lva string = "logs/vespa/access" + const lvq string = "logs/vespa/qrs" + info, err := os.Lstat(lva) + if err == nil && (info.Mode()&os.ModeSymlink) != 0 { + err = os.Remove(lva) + if err != nil { + return err + } + } + fixSpec.FixDir(lva) + // best-effort fixup, not trying too hard to get backwards compatibility: + _ = os.Remove(lvq) + _ = os.Symlink("access", lvq) return nil } |