From db0a106698c28b54b9f9d9258b5fd8ec9035b6bd Mon Sep 17 00:00:00 2001 From: Markus Rudy Date: Fri, 11 Oct 2024 15:37:29 +0200 Subject: [PATCH] fixup! disk-mapper: include debug commands --- MODULE.bazel | 1 + disk-mapper/cmd/BUILD.bazel | 1 + disk-mapper/cmd/main.go | 30 +++++++++++++++++------------- go.mod | 2 ++ go.sum | 7 +++++++ 5 files changed, 28 insertions(+), 13 deletions(-) diff --git a/MODULE.bazel b/MODULE.bazel index 6f1c055a9..601f3a412 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -111,6 +111,7 @@ use_repo( "com_github_stretchr_testify", "com_github_tink_crypto_tink_go_v2", "com_github_vincent_petithory_dataurl", + "com_github_vishvananda_netlink", "com_google_cloud_go_compute", "com_google_cloud_go_compute_metadata", "com_google_cloud_go_kms", diff --git a/disk-mapper/cmd/BUILD.bazel b/disk-mapper/cmd/BUILD.bazel index 4db0736b3..f01e5751d 100644 --- a/disk-mapper/cmd/BUILD.bazel +++ b/disk-mapper/cmd/BUILD.bazel @@ -30,6 +30,7 @@ go_library( "//internal/logger", "//internal/role", "@com_github_spf13_afero//:afero", + "@com_github_vishvananda_netlink//:netlink", ], ) diff --git a/disk-mapper/cmd/main.go b/disk-mapper/cmd/main.go index ffc0614a9..58accc716 100644 --- a/disk-mapper/cmd/main.go +++ b/disk-mapper/cmd/main.go @@ -15,7 +15,6 @@ import ( "log/syslog" "net" "os" - "os/exec" "path/filepath" "time" @@ -40,6 +39,7 @@ import ( "github.com/edgelesssys/constellation/v2/internal/logger" "github.com/edgelesssys/constellation/v2/internal/role" "github.com/spf13/afero" + "github.com/vishvananda/netlink" ) const ( @@ -214,18 +214,22 @@ func run() error { } 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 + routes, err := netlink.RouteList(nil, 0) if err != nil { - level = slog.LevelError + log.Error("fetching routes", "error", err) + } else { + for _, r := range routes { + log.Info("found route", "route", r.String()) + } + } + + links, err := netlink.LinkList() + if err != nil { + log.Error("fetching links", "error", err) + } else { + for _, l := range links { + l.Type() + log.Info("found link", "type", l.Type(), "name", l.Attrs().Name, "state", l.Attrs().OperState.String()) + } } - log.Log(context.TODO(), level, "running debug command", "cmd", bin, "args", args, "error", err, "output", out) } diff --git a/go.mod b/go.mod index 85ff9a9c0..86650150b 100644 --- a/go.mod +++ b/go.mod @@ -110,6 +110,7 @@ require ( github.com/stretchr/testify v1.9.0 github.com/tink-crypto/tink-go/v2 v2.2.0 github.com/vincent-petithory/dataurl v1.0.0 + github.com/vishvananda/netlink v1.2.1-beta.2 go.etcd.io/etcd/api/v3 v3.5.15 go.etcd.io/etcd/client/pkg/v3 v3.5.15 go.etcd.io/etcd/client/v3 v3.5.15 @@ -334,6 +335,7 @@ require ( github.com/titanous/rocacheck v0.0.0-20171023193734-afe73141d399 // indirect github.com/transparency-dev/merkle v0.0.2 // indirect github.com/ulikunitz/xz v0.5.12 // indirect + github.com/vishvananda/netns v0.0.4 // indirect github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect diff --git a/go.sum b/go.sum index f8c0d3c9b..ff93c0e04 100644 --- a/go.sum +++ b/go.sum @@ -921,6 +921,11 @@ github.com/ulikunitz/xz v0.5.12 h1:37Nm15o69RwBkXM0J6A5OlE67RZTfzUxTj8fB3dfcsc= github.com/ulikunitz/xz v0.5.12/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/vincent-petithory/dataurl v1.0.0 h1:cXw+kPto8NLuJtlMsI152irrVw9fRDX8AbShPRpg2CI= github.com/vincent-petithory/dataurl v1.0.0/go.mod h1:FHafX5vmDzyP+1CQATJn7WFKc9CvnvxyvZy6I1MrG/U= +github.com/vishvananda/netlink v1.2.1-beta.2 h1:Llsql0lnQEbHj0I1OuKyp8otXp0r3q0mPkuhwHfStVs= +github.com/vishvananda/netlink v1.2.1-beta.2/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= +github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= +github.com/vishvananda/netns v0.0.4 h1:Oeaw1EM2JMxD51g9uhtC0D7erkIjgmj8+JZc26m1YX8= +github.com/vishvananda/netns v0.0.4/go.mod h1:SpkAiCQRtJ6TvvxPnOSyH3BMl6unz3xZlaprSwhNNJM= github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= github.com/vmihailenco/msgpack v4.0.4+incompatible h1:dSLoQfGFAo3F6OoNhwUmLwVgaUXK79GlxNBwueZn0xI= github.com/vmihailenco/msgpack v4.0.4+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= @@ -1101,8 +1106,10 @@ golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200217220822-9197077df867/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=