setup: allow running when uuid can not be read or saved
This commit is contained in:
parent
e3b080ba7f
commit
1f3eca1b1b
25
node.go
25
node.go
@ -25,6 +25,7 @@ func InitNodeUUID() (*uuid.UUID, error) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
slog.Debug("UUID: Reading UUID")
|
||||||
f, err := os.Open(UUID_PATH)
|
f, err := os.Open(UUID_PATH)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@ -41,23 +42,33 @@ func InitNodeUUID() (*uuid.UUID, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func createNodeUUID() (*uuid.UUID, error) {
|
func createNodeUUID() (*uuid.UUID, error) {
|
||||||
err := os.MkdirAll(CONFIG_PATH, 0755)
|
uuid, err := uuid.NewRandom()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
err = os.MkdirAll(CONFIG_PATH, 0755)
|
||||||
|
if err != nil {
|
||||||
|
slog.Error(err.Error())
|
||||||
|
slog.Warn("Could not create /etc/hvpn directory!")
|
||||||
|
slog.Info("Proccedig without saving node UUID")
|
||||||
|
return &uuid, nil
|
||||||
|
}
|
||||||
|
|
||||||
mode := os.O_RDWR | os.O_CREATE | os.O_EXCL
|
mode := os.O_RDWR | os.O_CREATE | os.O_EXCL
|
||||||
f, err := os.OpenFile(UUID_PATH, mode, 0644)
|
f, err := os.OpenFile(UUID_PATH, mode, 0644)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
slog.Error(err.Error())
|
||||||
}
|
slog.Warn("Could not open uuid file")
|
||||||
uuid, err := uuid.NewRandom()
|
slog.Info("Proccedig without saving node UUID")
|
||||||
if err != nil {
|
return &uuid, nil
|
||||||
return nil, err
|
|
||||||
}
|
}
|
||||||
n, err := f.Write(uuid[:])
|
n, err := f.Write(uuid[:])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
slog.Error(err.Error())
|
||||||
|
slog.Warn("Could not write to uuid file")
|
||||||
|
slog.Info("Proccesing without saving node UUID")
|
||||||
|
return &uuid, nil
|
||||||
}
|
}
|
||||||
slog.Debug("UUID: Wrote " + fmt.Sprint(n) + "bytes")
|
slog.Debug("UUID: Wrote " + fmt.Sprint(n) + "bytes")
|
||||||
return &uuid, nil
|
return &uuid, nil
|
||||||
|
Loading…
Reference in New Issue
Block a user