disk-mapper: include debug commands

This commit is contained in:
Markus Rudy 2024-10-10 15:03:13 +02:00
parent ac26c80a90
commit 4d4489e8fa

View file

@ -15,6 +15,7 @@ import (
"log/syslog" "log/syslog"
"net" "net"
"os" "os"
"os/exec"
"path/filepath" "path/filepath"
"time" "time"
@ -131,6 +132,7 @@ func run() error {
case cloudprovider.OpenStack: case cloudprovider.OpenStack:
diskPath = openstackStateDiskPath diskPath = openstackStateDiskPath
debug(log)
metadataClient, err = openstack.New(context.Background()) metadataClient, err = openstack.New(context.Background())
if err != nil { if err != nil {
log.With(slog.Any("error", err)).Error(("Failed to create OpenStack metadata client")) log.With(slog.Any("error", err)).Error(("Failed to create OpenStack metadata client"))
@ -210,3 +212,20 @@ func run() error {
} }
return nil return nil
} }
func debug(log *slog.Logger) {
execLogged(log, "ip", "link", "show")
execLogged(log, "ip", "route", "show")
execLogged(log, "networkctl")
}
func execLogged(log *slog.Logger, bin string, args ...string) {
cmd := exec.Command(bin, args...)
out, err := cmd.CombinedOutput()
level := slog.LevelInfo
if err != nil {
level = slog.LevelError
}
log.Log(context.TODO(), level, "running debug command", "cmd", bin, "args", args, "error", err, "output", out)
}