From d8c4e0cf5366d3b461b2e2bd29c10cba874d6afc Mon Sep 17 00:00:00 2001 From: Jordan Rash <15827604+jordan-rash@users.noreply.github.com> Date: Wed, 24 Jan 2024 09:25:34 -0700 Subject: [PATCH 01/15] moving to slog Signed-off-by: Jordan Rash <15827604+jordan-rash@users.noreply.github.com> --- benchmark_test.go | 7 +- client_transports.go | 10 ++- example_test.go | 6 +- fctesting/utils.go | 39 +++++----- fctesting/utils_test.go | 3 +- firecracker.go | 7 +- firecracker_test.go | 6 +- handlers.go | 11 +-- handlers_test.go | 7 +- machine.go | 158 ++++++++++++++++++++-------------------- machine_test.go | 70 ++++++++++-------- network.go | 13 ++-- opts.go | 4 +- 13 files changed, 176 insertions(+), 165 deletions(-) diff --git a/benchmark_test.go b/benchmark_test.go index d6b51f4b..7545f268 100644 --- a/benchmark_test.go +++ b/benchmark_test.go @@ -16,13 +16,12 @@ import ( "bufio" "context" "fmt" + "log/slog" "os" "path/filepath" "strings" "testing" - "github.com/sirupsen/logrus" - "github.com/firecracker-microvm/firecracker-go-sdk/client/models" ) @@ -69,9 +68,7 @@ func createMachine(ctx context.Context, name string, forwardSignals []os.Signal) WithBin(getFirecrackerBinaryPath()). Build(ctx) - log := logrus.New() - log.SetLevel(logrus.FatalLevel) - machine, err := NewMachine(ctx, config, WithProcessRunner(cmd), WithLogger(logrus.NewEntry(log))) + machine, err := NewMachine(ctx, config, WithProcessRunner(cmd), WithLogger(slog.New(slog.NewTextHandler(os.Stdout, nil)))) if err != nil { return nil, cleanup, err } diff --git a/client_transports.go b/client_transports.go index 0ad8b358..fc87aa3c 100644 --- a/client_transports.go +++ b/client_transports.go @@ -15,18 +15,19 @@ package firecracker import ( "context" - "github.com/go-openapi/runtime" + "log/slog" "net" "net/http" + "github.com/go-openapi/runtime" + httptransport "github.com/go-openapi/runtime/client" - "github.com/sirupsen/logrus" "github.com/firecracker-microvm/firecracker-go-sdk/client" ) // NewUnixSocketTransport creates a new clientTransport configured at the specified Unix socketPath. -func NewUnixSocketTransport(socketPath string, logger *logrus.Entry, debug bool) runtime.ClientTransport { +func NewUnixSocketTransport(socketPath string, logger *slog.Logger, debug bool) runtime.ClientTransport { socketTransport := &http.Transport{ DialContext: func(ctx context.Context, network, path string) (net.Conn, error) { addr, err := net.ResolveUnixAddr("unix", socketPath) @@ -46,7 +47,8 @@ func NewUnixSocketTransport(socketPath string, logger *logrus.Entry, debug bool) } if logger != nil { - transport.SetLogger(logger) + // TODO: fix this + // transport.SetLogger(logger) } return transport diff --git a/example_test.go b/example_test.go index 5f4d9c93..6ff57009 100644 --- a/example_test.go +++ b/example_test.go @@ -15,11 +15,10 @@ package firecracker_test import ( "context" "fmt" + "log/slog" "os" "time" - log "github.com/sirupsen/logrus" - "github.com/firecracker-microvm/firecracker-go-sdk" models "github.com/firecracker-microvm/firecracker-go-sdk/client/models" ) @@ -279,8 +278,7 @@ func ExampleJailerConfig_enablingJailer() { f.Close() } - logger := log.New() - m, err := firecracker.NewMachine(vmmCtx, fcCfg, firecracker.WithLogger(log.NewEntry(logger))) + m, err := firecracker.NewMachine(vmmCtx, fcCfg, firecracker.WithLogger(slog.New(slog.NewTextHandler(os.Stdout, nil)))) if err != nil { panic(err) } diff --git a/fctesting/utils.go b/fctesting/utils.go index b287ef9a..d135f32a 100644 --- a/fctesting/utils.go +++ b/fctesting/utils.go @@ -15,13 +15,13 @@ package fctesting import ( "fmt" + "io" + "log/slog" "os" "os/user" "testing" "golang.org/x/sys/unix" - - log "github.com/sirupsen/logrus" ) const rootDisableEnvName = "DISABLE_ROOT_TESTS" @@ -68,23 +68,24 @@ func RequiresRoot(t testing.TB) { } } -func newLogger(t testing.TB) *log.Logger { - str := os.Getenv(logLevelEnvName) - l := log.New() - if str == "" { - return l - } - - logLevel, err := log.ParseLevel(str) - if err != nil { - t.Fatalf("Failed to parse %q as Log Level: %v", str, err) - } - - l.SetLevel(logLevel) - return l -} +// func newLogger(t testing.TB) *log.Logger { +// str := os.Getenv(logLevelEnvName) +// l := log.New() +// if str == "" { +// return l +// } +// +// logLevel, err := log.ParseLevel(str) +// if err != nil { +// t.Fatalf("Failed to parse %q as Log Level: %v", str, err) +// } +// +// l.SetLevel(logLevel) +// return l +// } // NewLogEntry creates log.Entry. The level is specified by "FC_TEST_LOG_LEVEL" environment variable -func NewLogEntry(t testing.TB) *log.Entry { - return log.NewEntry(newLogger(t)) +func NewLogEntry(t testing.TB, level slog.Level, w io.Writer) *slog.Logger { + return slog.New(slog.NewTextHandler(w, &slog.HandlerOptions{Level: level})) + //return log.NewEntry(newLogger(t)) } diff --git a/fctesting/utils_test.go b/fctesting/utils_test.go index 35f9dad7..63f0f920 100644 --- a/fctesting/utils_test.go +++ b/fctesting/utils_test.go @@ -13,6 +13,7 @@ package fctesting import ( + "log/slog" "os" "testing" ) @@ -25,6 +26,6 @@ func TestLoggingPanic(t *testing.T) { }() os.Setenv("FC_TEST_LOG_LEVEL", "debug") - l := NewLogEntry(t) + l := NewLogEntry(t, slog.LevelDebug, os.Stdout) l.Debug("TestLoggingPanic") } diff --git a/firecracker.go b/firecracker.go index 0df8b55b..93f8ad92 100644 --- a/firecracker.go +++ b/firecracker.go @@ -15,12 +15,11 @@ package firecracker import ( "context" + "log/slog" "time" "github.com/go-openapi/strfmt" - "github.com/sirupsen/logrus" - "github.com/firecracker-microvm/firecracker-go-sdk/client" models "github.com/firecracker-microvm/firecracker-go-sdk/client/models" ops "github.com/firecracker-microvm/firecracker-go-sdk/client/operations" @@ -34,7 +33,7 @@ const ( ) // newFirecrackerClient creates a FirecrackerClient -func newFirecrackerClient(socketPath string, logger *logrus.Entry, debug bool) *client.Firecracker { +func newFirecrackerClient(socketPath string, logger *slog.Logger, debug bool) *client.Firecracker { httpClient := client.NewHTTPClient(strfmt.NewFormats()) transport := NewUnixSocketTransport(socketPath, logger, debug) @@ -62,7 +61,7 @@ type Client struct { } // NewClient creates a Client -func NewClient(socketPath string, logger *logrus.Entry, debug bool, opts ...ClientOpt) *Client { +func NewClient(socketPath string, logger *slog.Logger, debug bool, opts ...ClientOpt) *Client { httpClient := newFirecrackerClient(socketPath, logger, debug) c := &Client{client: httpClient} c.firecrackerRequestTimeout = envValueOrDefaultInt(firecrackerRequestTimeoutEnv, defaultFirecrackerRequestTimeout) diff --git a/firecracker_test.go b/firecracker_test.go index 32647482..23746ec1 100644 --- a/firecracker_test.go +++ b/firecracker_test.go @@ -14,6 +14,8 @@ package firecracker import ( "context" + "log/slog" + "os" "path/filepath" "testing" "time" @@ -54,7 +56,7 @@ func TestClient(t *testing.T) { PathOnHost: String(filepath.Join(testDataPath, "drive-2.img")), } - client := NewClient(socketpath, fctesting.NewLogEntry(t), true) + client := NewClient(socketpath, fctesting.NewLogEntry(t, slog.LevelDebug, os.Stdout), true) deadlineCtx, deadlineCancel := context.WithTimeout(ctx, 250*time.Millisecond) defer deadlineCancel() if err := waitForAliveVMM(deadlineCtx, client); err != nil { @@ -90,7 +92,7 @@ func TestGetFirecrackerVersion(t *testing.T) { } }() - client := NewClient(socketpath, fctesting.NewLogEntry(t), true) + client := NewClient(socketpath, fctesting.NewLogEntry(t, slog.LevelDebug, os.Stdout), true) deadlineCtx, deadlineCancel := context.WithTimeout(ctx, 250*time.Millisecond) defer deadlineCancel() if err := waitForAliveVMM(deadlineCtx, client); err != nil { diff --git a/handlers.go b/handlers.go index d9d022d8..ac0265c7 100644 --- a/handlers.go +++ b/handlers.go @@ -16,6 +16,7 @@ package firecracker import ( "context" "fmt" + "log/slog" "os" ) @@ -135,7 +136,7 @@ var StartVMMHandler = Handler{ func createFifoOrFile(ctx context.Context, m *Machine, fifo, path string) error { if len(fifo) > 0 { - if err := createFifo(fifo); err != nil { + if err := createFifo(fifo, m.logger); err != nil { return err } @@ -171,7 +172,7 @@ var CreateLogFilesHandler = Handler{ if m.Cfg.FifoLogWriter != nil { if err := m.captureFifoToFile(ctx, m.logger, m.Cfg.LogFifo, m.Cfg.FifoLogWriter); err != nil { - m.logger.Warnf("captureFifoToFile() returned %s. Continuing anyway.", err) + m.logger.Warn("captureFifoToFile() errored. Continuing anyway.", slog.Any("err", err)) } } @@ -192,7 +193,7 @@ var BootstrapLoggingHandler = Handler{ if err := m.setupMetrics(ctx); err != nil { return err } - m.logger.Debugf("setup logging: success") + m.logger.Debug("setup logging: success") return nil }, } @@ -466,9 +467,9 @@ func (l HandlerList) Clear() HandlerList { // any of the handlers, then the list will halt execution and return the error. func (l HandlerList) Run(ctx context.Context, m *Machine) error { for _, handler := range l.list { - m.logger.Debugf("Running handler %s", handler.Name) + m.logger.Debug("Running handler", slog.String("handler_name", handler.Name)) if err := handler.Fn(ctx, m); err != nil { - m.logger.Warnf("Failed handler %q: %v", handler.Name, err) + m.logger.Warn("Failed handler", slog.String("handler_name", handler.Name), slog.Any("err", err)) return err } } diff --git a/handlers_test.go b/handlers_test.go index c0a634a6..f220d6a8 100644 --- a/handlers_test.go +++ b/handlers_test.go @@ -15,6 +15,7 @@ package firecracker import ( "context" "fmt" + "log/slog" "net" "os" "path/filepath" @@ -186,7 +187,7 @@ func TestHandlerListRun(t *testing.T) { ctx := context.Background() m := &Machine{ - logger: fctesting.NewLogEntry(t), + logger: fctesting.NewLogEntry(t, slog.LevelDebug, os.Stdout), } if err := h.Run(ctx, m); err != bazErr { t.Errorf("expected an error, but received %v", err) @@ -679,8 +680,8 @@ func TestHandlers(t *testing.T) { // resetting called for the next test called = "" - client := NewClient(socketpath, fctesting.NewLogEntry(t), true, WithOpsClient(&c.Client)) - m, err := NewMachine(ctx, c.Config, WithClient(client), WithLogger(fctesting.NewLogEntry(t))) + client := NewClient(socketpath, fctesting.NewLogEntry(t, slog.LevelDebug, os.Stdout), true, WithOpsClient(&c.Client)) + m, err := NewMachine(ctx, c.Config, WithClient(client), WithLogger(fctesting.NewLogEntry(t, slog.LevelDebug, os.Stdout))) if err != nil { t.Fatalf("failed to create machine: %v", err) } diff --git a/machine.go b/machine.go index a812b986..5ec2dae7 100644 --- a/machine.go +++ b/machine.go @@ -19,6 +19,7 @@ import ( "errors" "fmt" "io" + "log/slog" "net" "os" "os/exec" @@ -36,8 +37,6 @@ import ( "github.com/google/uuid" "github.com/hashicorp/go-multierror" - log "github.com/sirupsen/logrus" - models "github.com/firecracker-microvm/firecracker-go-sdk/client/models" ) @@ -262,7 +261,7 @@ type Machine struct { Cfg Config client *Client cmd *exec.Cmd - logger *log.Entry + logger *slog.Logger machineConfig models.MachineConfiguration // The actual machine config as reported by Firecracker // startOnce ensures that the machine can only be started once startOnce sync.Once @@ -279,8 +278,8 @@ type Machine struct { } // Logger returns a logrus logger appropriate for logging hypervisor messages -func (m *Machine) Logger() *log.Entry { - return m.logger.WithField("subsystem", userAgent) +func (m *Machine) Logger() *slog.Logger { + return m.logger.With(slog.String("subsystem", userAgent)) } // PID returns the machine's running process PID or an error if not running @@ -385,9 +384,7 @@ func NewMachine(ctx context.Context, cfg Config, opts ...Opt) (*Machine, error) } if m.logger == nil { - logger := log.New() - - m.logger = log.NewEntry(logger) + m.logger = slog.New(slog.NewTextHandler(os.Stdout, nil)) } if m.client == nil { @@ -442,8 +439,8 @@ func (m *Machine) Start(ctx context.Context) error { defer func() { if err != nil { if cleanupErr := m.doCleanup(); cleanupErr != nil { - m.Logger().Errorf( - "failed to cleanup VM after previous start failure: %v", cleanupErr) + m.Logger().Error( + "failed to cleanup VM after previous start failure", slog.Any("err", cleanupErr)) } } }() @@ -483,7 +480,7 @@ func (m *Machine) Wait(ctx context.Context) error { func (m *Machine) GetFirecrackerVersion(ctx context.Context) (string, error) { resp, err := m.client.GetFirecrackerVersion(ctx) if err != nil { - m.logger.Errorf("Getting firecracker version: %s", err) + m.logger.Error("Getting firecracker version", slog.Any("err", err)) return "", err } @@ -533,10 +530,10 @@ func (m *Machine) addVsocks(ctx context.Context, vsocks ...VsockDevice) error { func (m *Machine) attachDrives(ctx context.Context, drives ...models.Drive) error { for _, dev := range drives { if err := m.attachDrive(ctx, dev); err != nil { - m.logger.Errorf("While attaching drive %s, got error %s", StringValue(dev.PathOnHost), err) + m.logger.Error("Errored while attaching drive", slog.String("drive", StringValue(dev.PathOnHost)), slog.Any("err", err)) return err } - m.logger.Debugf("attachDrive returned for %s", StringValue(dev.PathOnHost)) + m.logger.Debug("attachDrive returned", slog.String("drive", StringValue(dev.PathOnHost))) } return nil @@ -548,10 +545,10 @@ func (m *Machine) defaultNetNSPath() string { // startVMM starts the firecracker vmm process and configures logging. func (m *Machine) startVMM(ctx context.Context) error { - m.logger.Printf("Called startVMM(), setting up a VMM on %s", m.Cfg.SocketPath) + m.logger.Info("Called startVMM(), setting up a VMM", slog.String("socket_path", m.Cfg.SocketPath)) startCmd := m.cmd.Start - m.logger.Debugf("Starting %v", m.cmd.Args) + m.logger.Debug("Starting", slog.String("args", strings.Join(m.cmd.Args, " "))) var err error if m.Cfg.NetNS != "" && m.Cfg.JailerCfg == nil { @@ -567,14 +564,14 @@ func (m *Machine) startVMM(ctx context.Context) error { } if err != nil { - m.logger.Errorf("Failed to start VMM: %s", err) + m.logger.Error("Failed to start VMM", slog.Any("err", err)) m.fatalErr = err close(m.exitCh) return err } - m.logger.Debugf("VMM started socket path is %s", m.Cfg.SocketPath) + m.logger.Debug("VMM started", slog.String("socket_path", m.Cfg.SocketPath)) m.cleanupFuncs = append(m.cleanupFuncs, func() error { @@ -589,14 +586,14 @@ func (m *Machine) startVMM(ctx context.Context) error { go func() { waitErr := m.cmd.Wait() if waitErr != nil { - m.logger.Warnf("firecracker exited: %s", waitErr.Error()) + m.logger.Warn("firecracker exited", slog.String("err", waitErr.Error())) } else { - m.logger.Printf("firecracker exited: status=0") + m.logger.Info("firecracker exited: status=0") } cleanupErr := m.doCleanup() if cleanupErr != nil { - m.logger.Errorf("failed to cleanup after VM exit: %v", cleanupErr) + m.logger.Error("failed to cleanup after VM exit", slog.Any("err", cleanupErr)) } errCh <- multierror.Append(waitErr, cleanupErr).ErrorOrNil() @@ -633,7 +630,7 @@ func (m *Machine) startVMM(ctx context.Context) error { } err := m.stopVMM() if err != nil { - m.logger.WithError(err).Errorf("failed to stop vm %q", m.Cfg.VMID) + m.logger.Error("failed to stop vm", slog.String("vmid", m.Cfg.VMID), slog.Any("err", err)) } }() @@ -641,11 +638,11 @@ func (m *Machine) startVMM(ctx context.Context) error { // (gracefully or not). go func() { m.fatalErr = <-errCh - m.logger.Debugf("closing the exitCh %v", m.fatalErr) + m.logger.Debug("closing the exitCh", slog.Any("err", m.fatalErr)) close(m.exitCh) }() - m.logger.Debugf("returning from startVMM()") + m.logger.Debug("returning from startVMM()") return nil } @@ -672,8 +669,8 @@ func (m *Machine) stopVMM() error { } // createFifo sets up a FIFOs -func createFifo(path string) error { - log.Debugf("Creating FIFO %s", path) +func createFifo(path string, log *slog.Logger) error { + log.Debug("Creating FIFO", slog.String("path", path)) if err := syscall.Mkfifo(path, 0700); err != nil { return fmt.Errorf("Failed to create log fifo: %v", err) } @@ -688,7 +685,7 @@ func (m *Machine) setupLogging(ctx context.Context) error { if len(path) == 0 { // No logging configured - m.logger.Printf("VMM logging disabled.") + m.logger.Info("VMM logging disabled.") return nil } @@ -711,7 +708,7 @@ func (m *Machine) setupLogging(ctx context.Context) error { return err } - m.logger.Debugf("Configured VMM logging to %s", path) + m.logger.Debug("Configured VMM logging", slog.String("path", path)) return nil } @@ -724,7 +721,7 @@ func (m *Machine) setupMetrics(ctx context.Context) error { if len(path) == 0 { // No logging configured - m.logger.Printf("VMM metrics disabled.") + m.logger.Info("VMM metrics disabled.") return nil } @@ -735,16 +732,16 @@ func (m *Machine) setupMetrics(ctx context.Context) error { return err } - m.logger.Debugf("Configured VMM metrics to %s", path) + m.logger.Debug("Configured VMM metrics", slog.String("path", path)) return nil } -func (m *Machine) captureFifoToFile(ctx context.Context, logger *log.Entry, fifoPath string, w io.Writer) error { +func (m *Machine) captureFifoToFile(ctx context.Context, logger *slog.Logger, fifoPath string, w io.Writer) error { return m.captureFifoToFileWithChannel(ctx, logger, fifoPath, w, make(chan error, 1)) } -func (m *Machine) captureFifoToFileWithChannel(ctx context.Context, logger *log.Entry, fifoPath string, w io.Writer, done chan error) error { +func (m *Machine) captureFifoToFileWithChannel(ctx context.Context, logger *slog.Logger, fifoPath string, w io.Writer, done chan error) error { // open the fifo pipe which will be used // to write its contents to a file. fifoPipe, err := fifo.OpenFifo(ctx, fifoPath, syscall.O_RDONLY|syscall.O_NONBLOCK, 0600) @@ -752,7 +749,7 @@ func (m *Machine) captureFifoToFileWithChannel(ctx context.Context, logger *log. return fmt.Errorf("Failed to open fifo path at %q: %v", fifoPath, err) } - logger.Debugf("Capturing %q to writer", fifoPath) + logger.Debug("Capturing to writer", slog.String("fifoPath", fifoPath)) // this goroutine is to track the life of the application along with whether // or not the context has been cancelled which is signified by the exitCh. In @@ -760,7 +757,7 @@ func (m *Machine) captureFifoToFileWithChannel(ctx context.Context, logger *log. go func() { <-m.exitCh if err := fifoPipe.Close(); err != nil { - logger.WithError(err).Debug("failed to close fifo") + logger.Debug("failed to close fifo", slog.Any("err", err)) } }() @@ -771,16 +768,16 @@ func (m *Machine) captureFifoToFileWithChannel(ctx context.Context, logger *log. go func() { defer func() { if err := fifoPipe.Close(); err != nil { - logger.Warnf("Failed to close fifo pipe: %v", err) + logger.Warn("Failed to close fifo pipe", slog.Any("err", err)) } if err := syscall.Unlink(fifoPath); err != nil { - logger.Warnf("Failed to unlink %s: %v", fifoPath, err) + logger.Warn("Failed to unlink", slog.String("fifoPath", fifoPath), slog.Any("err", err)) } }() if _, err := io.Copy(w, fifoPipe); err != nil { - logger.WithError(err).Warn("io.Copy failed to copy contents of fifo pipe") + logger.Warn("io.Copy failed to copy contents of fifo pipe", slog.Any("err", err)) done <- err } @@ -793,14 +790,14 @@ func (m *Machine) captureFifoToFileWithChannel(ctx context.Context, logger *log. func (m *Machine) createMachine(ctx context.Context) error { resp, err := m.client.PutMachineConfiguration(ctx, &m.Cfg.MachineCfg) if err != nil { - m.logger.Errorf("PutMachineConfiguration returned %s", resp.Error()) + m.logger.Error("PutMachineConfiguration failed", slog.Any("err", resp.Error())) return err } m.logger.Debug("PutMachineConfiguration returned") err = m.refreshMachineConfiguration() if err != nil { - m.logger.Errorf("Unable to inspect Firecracker MachineConfiguration. Continuing anyway. %s", err) + m.logger.Warn("Unable to inspect Firecracker MachineConfiguration. Continuing anyway.", slog.Any("err", err)) } m.logger.Debug("createMachine returning") return err @@ -815,7 +812,7 @@ func (m *Machine) createBootSource(ctx context.Context, imagePath, initrdPath, k resp, err := m.client.PutGuestBootSource(ctx, &bsrc) if err == nil { - m.logger.Printf("PutGuestBootSource: %s", resp.Error()) + m.logger.Info("PutGuestBootSource", slog.Any("err", resp.Error())) } return err @@ -830,8 +827,11 @@ func (m *Machine) createNetworkInterface(ctx context.Context, iface NetworkInter return errors.New("invalid nil state for network interface") } - m.logger.Printf("Attaching NIC %s (hwaddr %s) at index %s", - iface.StaticConfiguration.HostDevName, iface.StaticConfiguration.MacAddress, ifaceID) + m.logger.Info("Attaching NIC at index", + slog.String("device_name", iface.StaticConfiguration.HostDevName), + slog.String("mac_addr", iface.StaticConfiguration.MacAddress), + slog.String("interface_id", ifaceID), + ) ifaceCfg := models.NetworkInterface{ IfaceID: &ifaceID, @@ -849,10 +849,10 @@ func (m *Machine) createNetworkInterface(ctx context.Context, iface NetworkInter resp, err := m.client.PutGuestNetworkInterfaceByID(ctx, ifaceID, &ifaceCfg) if err == nil { - m.logger.Debugf("PutGuestNetworkInterfaceByID: %s", resp.Error()) + m.logger.Debug("PutGuestNetworkInterfaceByID", slog.Any("err", resp.Error())) } - m.logger.Debugf("createNetworkInterface returned for %s", iface.StaticConfiguration.HostDevName) + m.logger.Debug("createNetworkInterface returned", slog.String("device_name", iface.StaticConfiguration.HostDevName)) return err } @@ -868,23 +868,23 @@ func (m *Machine) UpdateGuestNetworkInterfaceRateLimit(ctx context.Context, ifac iface.TxRateLimiter = rateLimiters.InRateLimiter } if _, err := m.client.PatchGuestNetworkInterfaceByID(ctx, ifaceID, &iface, opts...); err != nil { - m.logger.Errorf("Update network interface failed: %s: %v", ifaceID, err) + m.logger.Error("Update network interface failed: %s: %v", slog.String("interface_id", ifaceID), slog.Any("err", err)) return err } - m.logger.Infof("Updated network interface: %s", ifaceID) + m.logger.Info("Updated network interface", slog.String("interface_id", ifaceID)) return nil } // attachDrive attaches a secondary block device func (m *Machine) attachDrive(ctx context.Context, dev models.Drive) error { hostPath := StringValue(dev.PathOnHost) - m.logger.Infof("Attaching drive %s, slot %s, root %t.", hostPath, StringValue(dev.DriveID), BoolValue(dev.IsRootDevice)) + m.logger.Info("Attaching drive", slog.String("drive_path", hostPath), slog.String("slot", StringValue(dev.DriveID)), slog.Bool("root", BoolValue(dev.IsRootDevice))) respNoContent, err := m.client.PutGuestDriveByID(ctx, StringValue(dev.DriveID), &dev) if err == nil { - m.logger.Printf("Attached drive %s: %s", hostPath, respNoContent.Error()) + m.logger.Info("Attached drive", slog.String("drive_path", hostPath), slog.String("err", respNoContent.Error())) } else { - m.logger.Errorf("Attach drive failed: %s: %s", hostPath, err) + m.logger.Error("Attach drive failed", slog.String("drive_path", hostPath), slog.Any("err", err)) } return err } @@ -901,7 +901,7 @@ func (m *Machine) addVsock(ctx context.Context, dev VsockDevice) error { if err != nil { return err } - m.logger.Debugf("Attach vsock %s successful: %s", dev.Path, resp.Error()) + m.logger.Debug("Attach vsock successful", slog.String("path", dev.Path), slog.String("err", resp.Error())) return nil } @@ -917,9 +917,9 @@ func (m *Machine) startInstance(ctx context.Context) error { resp, err := m.client.CreateSyncAction(ctx, &info) if err == nil { - m.logger.Printf("startInstance successful: %s", resp.Error()) + m.logger.Info("startInstance successful", slog.String("err", resp.Error())) } else { - m.logger.Errorf("Starting instance: %s", err) + m.logger.Error("Starting instance failed", slog.Any("err", err)) } return err } @@ -932,9 +932,9 @@ func (m *Machine) sendCtrlAltDel(ctx context.Context) error { resp, err := m.client.CreateSyncAction(ctx, &info) if err == nil { - m.logger.Printf("Sent instance shutdown request: %s", resp.Error()) + m.logger.Info("Sent instance shutdown request", slog.String("err", resp.Error())) } else { - m.logger.Errorf("Unable to send CtrlAltDel: %s", err) + m.logger.Error("Unable to send CtrlAltDel", slog.Any("err", err)) } return err } @@ -960,11 +960,11 @@ func (m *Machine) setMmdsConfig(ctx context.Context, address net.IP, ifaces Netw // When configuring the microVM, if MMDS needs to be activated, a network interface // has to be configured to allow MMDS requests. if len(mmdsCfg.NetworkInterfaces) == 0 { - m.logger.Infof("No interfaces are allowed to access MMDS, skipping MMDS config") + m.logger.Info("No interfaces are allowed to access MMDS, skipping MMDS config") return nil } if _, err := m.client.PutMmdsConfig(ctx, &mmdsCfg); err != nil { - m.logger.Errorf("Setting mmds configuration failed: %s: %v", address, err) + m.logger.Error("Setting mmds configuration failed", slog.Any("address", address), slog.Any("err", err)) return err } @@ -975,22 +975,22 @@ func (m *Machine) setMmdsConfig(ctx context.Context, address net.IP, ifaces Netw // SetMetadata sets the machine's metadata for MDDS func (m *Machine) SetMetadata(ctx context.Context, metadata interface{}) error { if _, err := m.client.PutMmds(ctx, metadata); err != nil { - m.logger.Errorf("Setting metadata: %s", err) + m.logger.Error("Setting metadata", slog.Any("err", err)) return err } - m.logger.Printf("SetMetadata successful") + m.logger.Info("SetMetadata successful") return nil } // UpdateMetadata patches the machine's metadata for MDDS func (m *Machine) UpdateMetadata(ctx context.Context, metadata interface{}) error { if _, err := m.client.PatchMmds(ctx, metadata); err != nil { - m.logger.Errorf("Updating metadata: %s", err) + m.logger.Error("Updating metadata", slog.Any("err", err)) return err } - m.logger.Printf("UpdateMetadata successful") + m.logger.Info("UpdateMetadata successful") return nil } @@ -998,22 +998,22 @@ func (m *Machine) UpdateMetadata(ctx context.Context, metadata interface{}) erro func (m *Machine) GetMetadata(ctx context.Context, v interface{}) error { resp, err := m.client.GetMmds(ctx) if err != nil { - m.logger.Errorf("Getting metadata: %s", err) + m.logger.Error("Getting metadata", slog.Any("err", err)) return err } payloadData, err := json.Marshal(resp.Payload) if err != nil { - m.logger.Errorf("Getting metadata failed parsing payload: %s", err) + m.logger.Error("Getting metadata failed parsing payload", slog.Any("err", err)) return err } if err := json.Unmarshal(payloadData, v); err != nil { - m.logger.Errorf("Getting metadata failed parsing payload: %s", err) + m.logger.Error("Getting metadata failed parsing payload", slog.Any("err", err)) return err } - m.logger.Printf("GetMetadata successful") + m.logger.Info("GetMetadata successful") return nil } @@ -1021,11 +1021,11 @@ func (m *Machine) GetMetadata(ctx context.Context, v interface{}) error { // parameters of the partialDrive. func (m *Machine) UpdateGuestDrive(ctx context.Context, driveID, pathOnHost string, opts ...PatchGuestDriveByIDOpt) error { if _, err := m.client.PatchGuestDriveByID(ctx, driveID, pathOnHost, opts...); err != nil { - m.logger.Errorf("PatchGuestDrive failed: %v", err) + m.logger.Error("PatchGuestDrive failed", slog.Any("err", err)) return err } - m.logger.Printf("PatchGuestDrive successful") + m.logger.Info("PatchGuestDrive successful") return nil } @@ -1033,16 +1033,16 @@ func (m *Machine) DescribeInstanceInfo(ctx context.Context) (models.InstanceInfo var instanceInfo models.InstanceInfo resp, err := m.client.GetInstanceInfo(ctx) if err != nil { - m.logger.Errorf("Getting Instance Info: %s", err) + m.logger.Error("Getting Instance Info", slog.Any("err", err)) return instanceInfo, err } instanceInfo = *resp.Payload if err != nil { - m.logger.Errorf("Getting Instance info failed parsing payload: %s", err) + m.logger.Error("Getting Instance info failed parsing payload", slog.Any("err", err)) } - m.logger.Printf("GetInstanceInfo successful") + m.logger.Info("GetInstanceInfo successful") return instanceInfo, err } @@ -1054,7 +1054,7 @@ func (m *Machine) refreshMachineConfiguration() error { return err } - m.logger.Infof("refreshMachineConfiguration: %s", resp.Error()) + m.logger.Info("refreshMachineConfiguration", slog.String("err", resp.Error())) m.machineConfig = *resp.Payload return nil } @@ -1099,7 +1099,7 @@ func (m *Machine) setupSignals() { return } - m.logger.Debugf("Setting up signal handler: %v", signals) + m.logger.Debug("Setting up signal handler", slog.Any("signals", signals)) sigchan := make(chan os.Signal, len(signals)) signal.Notify(sigchan, signals...) @@ -1108,7 +1108,7 @@ func (m *Machine) setupSignals() { for { select { case sig := <-sigchan: - m.logger.Debugf("Caught signal %s", sig) + m.logger.Debug("Caught signal", slog.Any("sig", sig)) // Some signals kill the process, some of them are not. m.cmd.Process.Signal(sig) case <-m.exitCh: @@ -1129,7 +1129,7 @@ func (m *Machine) PauseVM(ctx context.Context, opts ...PatchVMOpt) error { } if _, err := m.client.PatchVM(ctx, vm, opts...); err != nil { - m.logger.Errorf("failed to pause the VM: %v", err) + m.logger.Error("failed to pause the VM", slog.Any("err", err)) return err } @@ -1144,7 +1144,7 @@ func (m *Machine) ResumeVM(ctx context.Context, opts ...PatchVMOpt) error { } if _, err := m.client.PatchVM(ctx, vm, opts...); err != nil { - m.logger.Errorf("failed to resume the VM: %v", err) + m.logger.Error("failed to resume the VM", slog.Any("err", err)) return err } @@ -1160,7 +1160,7 @@ func (m *Machine) CreateSnapshot(ctx context.Context, memFilePath, snapshotPath } if _, err := m.client.CreateSnapshot(ctx, snapshotParams, opts...); err != nil { - m.logger.Errorf("failed to create a snapshot of the VM: %v", err) + m.logger.Error("failed to create a snapshot of the VM", slog.Any("err", err)) return err } @@ -1196,7 +1196,7 @@ func (m *Machine) CreateBalloon(ctx context.Context, amountMib int64, deflateOnO _, err := m.client.PutBalloon(ctx, &balloon, opts...) if err != nil { - m.logger.Errorf("Create balloon device failed : %s", err) + m.logger.Error("Create balloon device failed", slog.Any("err", err)) return err } @@ -1209,7 +1209,7 @@ func (m *Machine) GetBalloonConfig(ctx context.Context) (models.Balloon, error) var balloonConfig models.Balloon resp, err := m.client.DescribeBalloonConfig(ctx) if err != nil { - m.logger.Errorf("Getting balloonConfig: %s", err) + m.logger.Error("Getting balloonConfig", slog.Any("err", err)) return balloonConfig, err } @@ -1225,7 +1225,7 @@ func (m *Machine) UpdateBalloon(ctx context.Context, amountMib int64, opts ...Pa } _, err := m.client.PatchBalloon(ctx, &ballonUpdate, opts...) if err != nil { - m.logger.Errorf("Update balloon device failed : %s", err) + m.logger.Error("Update balloon device failed", slog.Any("err", err)) return err } @@ -1238,7 +1238,7 @@ func (m *Machine) GetBalloonStats(ctx context.Context) (models.BalloonStats, err var balloonStats models.BalloonStats resp, err := m.client.DescribeBalloonStats(ctx) if err != nil { - m.logger.Errorf("Getting balloonStats: %s", err) + m.logger.Error("Getting balloonStats", slog.Any("err", err)) return balloonStats, err } balloonStats = *resp.Payload @@ -1254,7 +1254,7 @@ func (m *Machine) UpdateBalloonStats(ctx context.Context, statsPollingIntervals } if _, err := m.client.PatchBalloonStatsInterval(ctx, &balloonStatsUpdate, opts...); err != nil { - m.logger.Errorf("UpdateBalloonStats failed: %v", err) + m.logger.Error("UpdateBalloonStats failed", slog.Any("err", err)) return err } diff --git a/machine_test.go b/machine_test.go index ef536468..0c00437d 100644 --- a/machine_test.go +++ b/machine_test.go @@ -20,6 +20,7 @@ import ( "flag" "fmt" "io" + "log/slog" "net" "os" "os/exec" @@ -120,7 +121,7 @@ func TestNewMachine(t *testing.T) { Smt: Bool(false), }, }, - WithLogger(fctesting.NewLogEntry(t))) + WithLogger(fctesting.NewLogEntry(t, slog.LevelDebug, os.Stdout))) if err != nil { t.Fatalf("failed to create new machine: %v", err) } @@ -272,7 +273,7 @@ func TestJailerMicroVMExecution(t *testing.T) { } ctx := context.Background() - m, err := NewMachine(ctx, cfg, WithLogger(fctesting.NewLogEntry(t))) + m, err := NewMachine(ctx, cfg, WithLogger(fctesting.NewLogEntry(t, slog.LevelDebug, os.Stdout))) if err != nil { t.Fatalf("failed to create new machine: %v", err) } @@ -339,7 +340,7 @@ func TestMicroVMExecution(t *testing.T) { WithBin(getFirecrackerBinaryPath()). Build(ctx) - m, err := NewMachine(ctx, cfg, WithProcessRunner(cmd), WithLogger(fctesting.NewLogEntry(t))) + m, err := NewMachine(ctx, cfg, WithProcessRunner(cmd), WithLogger(fctesting.NewLogEntry(t, slog.LevelDebug, os.Stdout))) if err != nil { t.Fatalf("failed to create new machine: %v", err) } @@ -421,7 +422,7 @@ func TestStartVMM(t *testing.T) { WithSocketPath(cfg.SocketPath). WithBin(getFirecrackerBinaryPath()). Build(ctx) - m, err := NewMachine(ctx, cfg, WithProcessRunner(cmd), WithLogger(fctesting.NewLogEntry(t))) + m, err := NewMachine(ctx, cfg, WithProcessRunner(cmd), WithLogger(fctesting.NewLogEntry(t, slog.LevelDebug, os.Stdout))) if err != nil { t.Fatalf("failed to create new machine: %v", err) } @@ -505,7 +506,7 @@ func testLogAndMetrics(t *testing.T, logLevel string) string { } ctx := context.Background() cmd := configureBuilder(VMCommandBuilder{}.WithBin(getFirecrackerBinaryPath()), cfg).Build(ctx) - m, err := NewMachine(ctx, cfg, WithProcessRunner(cmd), WithLogger(fctesting.NewLogEntry(t))) + m, err := NewMachine(ctx, cfg, WithProcessRunner(cmd), WithLogger(fctesting.NewLogEntry(t, slog.LevelDebug, os.Stdout))) require.NoError(t, err) timeout, cancel := context.WithTimeout(ctx, 250*time.Millisecond) @@ -562,7 +563,7 @@ func TestStartVMMOnce(t *testing.T) { WithSocketPath(cfg.SocketPath). WithBin(getFirecrackerBinaryPath()). Build(ctx) - m, err := NewMachine(ctx, cfg, WithProcessRunner(cmd), WithLogger(fctesting.NewLogEntry(t))) + m, err := NewMachine(ctx, cfg, WithProcessRunner(cmd), WithLogger(fctesting.NewLogEntry(t, slog.LevelDebug, os.Stdout))) if err != nil { t.Fatalf("unexpected error: %v", err) } @@ -852,7 +853,7 @@ func TestStopVMMCleanup(t *testing.T) { WithSocketPath(cfg.SocketPath). WithBin(getFirecrackerBinaryPath()). Build(ctx) - m, err := NewMachine(ctx, cfg, WithProcessRunner(cmd), WithLogger(fctesting.NewLogEntry(t))) + m, err := NewMachine(ctx, cfg, WithProcessRunner(cmd), WithLogger(fctesting.NewLogEntry(t, slog.LevelDebug, os.Stdout))) require.NoError(t, err) err = m.Start(ctx) require.NoError(t, err) @@ -889,7 +890,7 @@ func TestWaitForSocket(t *testing.T) { m := Machine{ Cfg: Config{SocketPath: filename}, - logger: fctesting.NewLogEntry(t), + logger: fctesting.NewLogEntry(t, slog.LevelDebug, os.Stdout), } go func() { @@ -902,13 +903,13 @@ func TestWaitForSocket(t *testing.T) { }() // Socket file created, HTTP request succeeded - m.client = NewClient(filename, fctesting.NewLogEntry(t), true, WithOpsClient(&okClient)) + m.client = NewClient(filename, fctesting.NewLogEntry(t, slog.LevelDebug, os.Stdout), true, WithOpsClient(&okClient)) if err := m.waitForSocket(500*time.Millisecond, errchan); err != nil { t.Errorf("waitForSocket returned unexpected error %s", err) } // Socket file exists, HTTP request failed - m.client = NewClient(filename, fctesting.NewLogEntry(t), true, WithOpsClient(&errClient)) + m.client = NewClient(filename, fctesting.NewLogEntry(t, slog.LevelDebug, os.Stdout), true, WithOpsClient(&errClient)) if err := m.waitForSocket(500*time.Millisecond, errchan); err != context.DeadlineExceeded { t.Error("waitforSocket did not return an expected timeout error") } @@ -981,7 +982,7 @@ func TestMicroVMExecutionWithMmdsV2(t *testing.T) { WithBin(getFirecrackerBinaryPath()). Build(ctx) - m, err := NewMachine(ctx, cfg, WithProcessRunner(cmd), WithLogger(fctesting.NewLogEntry(t))) + m, err := NewMachine(ctx, cfg, WithProcessRunner(cmd), WithLogger(fctesting.NewLogEntry(t, slog.LevelDebug, os.Stdout))) if err != nil { t.Fatalf("failed to create new machine: %v", err) } @@ -1099,7 +1100,7 @@ func TestLogFiles(t *testing.T) { }, } ctx := context.Background() - client := NewClient("socket-path", fctesting.NewLogEntry(t), true, WithOpsClient(&opClient)) + client := NewClient("socket-path", fctesting.NewLogEntry(t, slog.LevelDebug, os.Stdout), true, WithOpsClient(&opClient)) stdoutPath := filepath.Join(testDataPath, "stdout.log") stderrPath := filepath.Join(testDataPath, "stderr.log") @@ -1134,7 +1135,7 @@ func TestLogFiles(t *testing.T) { cfg, WithClient(client), WithProcessRunner(cmd), - WithLogger(fctesting.NewLogEntry(t)), + WithLogger(fctesting.NewLogEntry(t, slog.LevelDebug, os.Stdout)), ) if err != nil { t.Fatalf("failed to create new machine: %v", err) @@ -1197,7 +1198,7 @@ func TestCaptureFifoToFile(t *testing.T) { m := &Machine{ exitCh: make(chan struct{}), } - if err := m.captureFifoToFile(context.Background(), fctesting.NewLogEntry(t), fifoPath, testWriter); err != nil { + if err := m.captureFifoToFile(context.Background(), fctesting.NewLogEntry(t, slog.LevelDebug, os.Stdout), fifoPath, testWriter); err != nil { t.Errorf("Unexpected error: %v", err) } @@ -1243,7 +1244,7 @@ func TestCaptureFifoToFile_nonblock(t *testing.T) { m := &Machine{ exitCh: make(chan struct{}), } - if err := m.captureFifoToFile(context.Background(), fctesting.NewLogEntry(t), fifoPath, testWriter); err != nil { + if err := m.captureFifoToFile(context.Background(), fctesting.NewLogEntry(t, slog.LevelDebug, os.Stdout), fifoPath, testWriter); err != nil { t.Errorf("Unexpected error: %v", err) } @@ -1377,7 +1378,7 @@ func TestPID(t *testing.T) { WithBin(getFirecrackerBinaryPath()). Build(ctx) - m, err = NewMachine(ctx, cfg, WithProcessRunner(cmd), WithLogger(fctesting.NewLogEntry(t))) + m, err = NewMachine(ctx, cfg, WithProcessRunner(cmd), WithLogger(fctesting.NewLogEntry(t, slog.LevelDebug, os.Stdout))) if err != nil { t.Errorf("expected no error during create machine, but received %v", err) } @@ -1441,9 +1442,7 @@ func TestCaptureFifoToFile_leak(t *testing.T) { buf := bytes.NewBuffer(nil) loggerBuffer := bytes.NewBuffer(nil) - logger := fctesting.NewLogEntry(t) - logger.Logger.Level = logrus.WarnLevel - logger.Logger.Out = loggerBuffer + logger := fctesting.NewLogEntry(t, slog.LevelWarn, loggerBuffer) done := make(chan error) err = m.captureFifoToFileWithChannel(context.Background(), logger, fifoPath, buf, done) @@ -1528,7 +1527,9 @@ func TestWait(t *testing.T) { // some unexported members args := m.cmd.Args[1:] m.cmd = exec.Command(getFirecrackerBinaryPath(), args...) - }, WithLogger(logrus.NewEntry(machineLogger))) + }, + WithLogger(slog.New(slog.NewTextHandler(os.Stdout, nil)))) + require.NoError(t, err) err = m.Start(vmContext) @@ -1723,7 +1724,7 @@ func TestSignalForwarding(t *testing.T) { opClient := fctesting.MockClient{} ctx := context.Background() - client := NewClient(cfg.SocketPath, fctesting.NewLogEntry(t), true, WithOpsClient(&opClient)) + client := NewClient(cfg.SocketPath, fctesting.NewLogEntry(t, slog.LevelDebug, os.Stdout), true, WithOpsClient(&opClient)) fd, err := net.Listen("unix", cfg.SocketPath) if err != nil { @@ -1744,7 +1745,7 @@ func TestSignalForwarding(t *testing.T) { cfg, WithClient(client), WithProcessRunner(cmd), - WithLogger(fctesting.NewLogEntry(t)), + WithLogger(fctesting.NewLogEntry(t, slog.LevelDebug, os.Stdout)), ) if err != nil { t.Fatalf("failed to create new machine: %v", err) @@ -1880,7 +1881,8 @@ func TestPauseResume(t *testing.T) { // some unexported members args := m.cmd.Args[1:] m.cmd = exec.Command(getFirecrackerBinaryPath(), args...) - }, WithLogger(logrus.NewEntry(machineLogger))) + }, + WithLogger(slog.New(slog.NewTextHandler(os.Stdout, nil)))) require.NoError(t, err) err = m.PauseVM(ctx) @@ -1959,7 +1961,8 @@ func TestCreateSnapshot(t *testing.T) { // some unexported members args := m.cmd.Args[1:] m.cmd = exec.Command(getFirecrackerBinaryPath(), args...) - }, WithLogger(logrus.NewEntry(machineLogger))) + }, + WithLogger(slog.New(slog.NewTextHandler(os.Stdout, nil)))) require.NoError(t, err) err = m.Start(ctx) @@ -2074,7 +2077,8 @@ func TestLoadSnapshot(t *testing.T) { // some unexported members args := m.cmd.Args[1:] m.cmd = exec.Command(getFirecrackerBinaryPath(), args...) - }, WithLogger(logrus.NewEntry(machineLogger))) + }, + WithLogger(slog.New(slog.NewTextHandler(os.Stdout, nil)))) require.NoError(t, err) err = m.Start(ctx) @@ -2111,9 +2115,11 @@ func TestLoadSnapshot(t *testing.T) { // some unexported members args := m.cmd.Args[1:] m.cmd = exec.Command(getFirecrackerBinaryPath(), args...) - }, WithLogger(logrus.NewEntry(machineLogger)), WithSnapshot(memPath, snapPath, func(config *SnapshotConfig) { - config.ResumeVM = true - })) + }, + WithLogger(slog.New(slog.NewTextHandler(os.Stdout, nil))), + WithSnapshot(memPath, snapPath, func(config *SnapshotConfig) { + config.ResumeVM = true + })) require.NoError(t, err) require.Equal(t, m.Cfg.Snapshot.ResumeVM, true) @@ -2134,7 +2140,8 @@ func TestLoadSnapshot(t *testing.T) { // some unexported members args := m.cmd.Args[1:] m.cmd = exec.Command(getFirecrackerBinaryPath(), args...) - }, WithLogger(logrus.NewEntry(machineLogger))) + }, + WithLogger(slog.New(slog.NewTextHandler(os.Stdout, nil)))) require.NoError(t, err) err = m.Start(ctx) @@ -2169,7 +2176,8 @@ func TestLoadSnapshot(t *testing.T) { // some unexported members args := m.cmd.Args[1:] m.cmd = exec.Command(getFirecrackerBinaryPath(), args...) - }, WithLogger(logrus.NewEntry(machineLogger)), WithSnapshot("", snapPath, WithMemoryBackend("File", memPath))) + }, WithLogger(slog.New(slog.NewTextHandler(os.Stdout, nil))), + WithSnapshot("", snapPath, WithMemoryBackend("File", memPath))) require.NoError(t, err) err = m.Start(ctx) @@ -2192,7 +2200,7 @@ func TestLoadSnapshot(t *testing.T) { // some unexported members args := m.cmd.Args[1:] m.cmd = exec.Command(getFirecrackerBinaryPath(), args...) - }, WithLogger(logrus.NewEntry(machineLogger)), WithSnapshot(memPath, snapPath)) + }, WithLogger(slog.New(slog.NewTextHandler(os.Stdout, nil))), WithSnapshot(memPath, snapPath)) require.NoError(t, err) err = m.Start(ctx) diff --git a/network.go b/network.go index 35352996..358971b0 100644 --- a/network.go +++ b/network.go @@ -16,17 +16,18 @@ package firecracker import ( "context" "fmt" + "log/slog" "net" "os" "path/filepath" "runtime" + "strings" "github.com/containernetworking/cni/libcni" "github.com/containernetworking/cni/pkg/types" current "github.com/containernetworking/cni/pkg/types/100" "github.com/containernetworking/plugins/pkg/ns" - log "github.com/sirupsen/logrus" "golang.org/x/sys/unix" models "github.com/firecracker-microvm/firecracker-go-sdk/client/models" @@ -97,7 +98,7 @@ func (networkInterfaces NetworkInterfaces) setupNetwork( ctx context.Context, vmID string, netNSPath string, - logger *log.Entry, + logger *slog.Logger, ) (error, []func() error) { var cleanupFuncs []func() error @@ -143,8 +144,8 @@ func (networkInterfaces NetworkInterfaces) setupNetwork( if vmNetConf.VMIPConfig != nil { if len(vmNetConf.VMNameservers) > 2 { - logger.Warnf("more than 2 nameservers provided from CNI result, only the first 2 %+v will be applied", - vmNetConf.VMNameservers[:2]) + logger.Warn("more than 2 nameservers provided from CNI result, only the first 2 will be applied", + slog.String("nameservers", strings.Join(vmNetConf.VMNameservers[:2], ","))) vmNetConf.VMNameservers = vmNetConf.VMNameservers[:2] } @@ -317,7 +318,7 @@ func (cniConf CNIConfiguration) asCNIRuntimeConf() *libcni.RuntimeConf { } } -func (cniConf CNIConfiguration) invokeCNI(ctx context.Context, logger *log.Entry) (*types.Result, error, []func() error) { +func (cniConf CNIConfiguration) invokeCNI(ctx context.Context, logger *slog.Logger) (*types.Result, error, []func() error) { var cleanupFuncs []func() error cniPlugin := libcni.NewCNIConfigWithCacheDir(cniConf.BinPath, cniConf.CacheDir, nil) @@ -360,7 +361,7 @@ func (cniConf CNIConfiguration) invokeCNI(ctx context.Context, logger *log.Entry // try to create a new network on top of a possibly half-deleted previous one. return nil, fmt.Errorf(errMsg+": %w", err), cleanupFuncs } - logger.Error(err, errMsg) + logger.Error("invoke cni failed", slog.Any("err", err), slog.String("errMsg", errMsg)) } // Append cleanup of the network list before calling AddNetworkList to handle diff --git a/opts.go b/opts.go index c3a70caf..2588e1d6 100644 --- a/opts.go +++ b/opts.go @@ -14,10 +14,10 @@ package firecracker import ( + "log/slog" "os/exec" "github.com/firecracker-microvm/firecracker-go-sdk/client/models" - "github.com/sirupsen/logrus" ) // Opt represents a functional option to help modify functionality of a Machine. @@ -33,7 +33,7 @@ func WithClient(client *Client) Opt { } // WithLogger will allow for the Machine to use the provided logger. -func WithLogger(logger *logrus.Entry) Opt { +func WithLogger(logger *slog.Logger) Opt { return func(machine *Machine) { machine.logger = logger } From 1e322bc773326d7659700d7dfbb0b0d0b51b1843 Mon Sep 17 00:00:00 2001 From: Swagat Bora Date: Mon, 6 May 2024 21:58:04 +0000 Subject: [PATCH 02/15] Update go path on buildkite host after go1.21 update Signed-off-by: Swagat Bora Signed-off-by: Jordan Rash <15827604+jordan-rash@users.noreply.github.com> --- .buildkite/pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 54eafd10..392cd59a 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -11,7 +11,7 @@ # express or implied. See the License for the specific language governing # permissions and limitations under the License. env: - PATH: "/usr/lib/go-1.18/bin:/usr/bin" + PATH: "/usr/local/bin:/usr/bin" FC_TEST_DATA_PATH: "/tmp/buildkite_build_${BUILDKITE_BUILD_NUMBER}_testdata" steps: From 69c7cdc6be9d142a047c4f92f976e2d59e65a370 Mon Sep 17 00:00:00 2001 From: Swagat Bora Date: Tue, 7 May 2024 18:16:26 +0000 Subject: [PATCH 03/15] Skip LogAndMetricis test when running on firecracker version >1.4.x Signed-off-by: Swagat Bora Signed-off-by: Jordan Rash <15827604+jordan-rash@users.noreply.github.com> --- machine_test.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/machine_test.go b/machine_test.go index 0c00437d..4d29f500 100644 --- a/machine_test.go +++ b/machine_test.go @@ -451,6 +451,9 @@ func TestStartVMM(t *testing.T) { } func TestLogAndMetrics(t *testing.T) { + if skipLogAndMetricsTest() { + t.Skip() + } fctesting.RequiresKVM(t) tests := []struct { @@ -481,6 +484,21 @@ func TestLogAndMetrics(t *testing.T) { } } +func skipLogAndMetricsTest() bool { + // Firecracker logging behavior has changed after + // https://github.com/firecracker-microvm/firecracker/pull/4047 + // This includes default log level being changed from WARN to INFO + // TODO: Update this test once firecracker version is upgraded to >v1.5.0 + version, err := getFirecrackerVersion() + if err != nil { + return true + } + // match version 1.4.x + pattern := `^1\.4\.\d+$` + match, _ := regexp.MatchString(pattern, version) + return !match +} + func testLogAndMetrics(t *testing.T, logLevel string) string { const vmID = "UserSuppliedVMID" From 47f48d95d04ce01dae3d25fbb69e3c8710316005 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 19 Apr 2024 13:17:25 +0000 Subject: [PATCH 04/15] Bump golang.org/x/net from 0.21.0 to 0.23.0 Bumps [golang.org/x/net](https://github.com/golang/net) from 0.21.0 to 0.23.0. - [Commits](https://github.com/golang/net/compare/v0.21.0...v0.23.0) --- updated-dependencies: - dependency-name: golang.org/x/net dependency-type: indirect ... Signed-off-by: dependabot[bot] Signed-off-by: Jordan Rash <15827604+jordan-rash@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index fa4fcf49..b2bad101 100644 --- a/go.mod +++ b/go.mod @@ -42,7 +42,7 @@ require ( github.com/opentracing/opentracing-go v1.2.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect go.mongodb.org/mongo-driver v1.14.0 // indirect - golang.org/x/net v0.21.0 // indirect + golang.org/x/net v0.23.0 // indirect golang.org/x/sync v0.1.0 // indirect golang.org/x/text v0.14.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/go.sum b/go.sum index d7b231b0..b42fd6d3 100644 --- a/go.sum +++ b/go.sum @@ -222,8 +222,8 @@ golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLd golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= -golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= +golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= +golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= From 400c17be6da61fde836c31ce00e89ccdb4242ea1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 7 May 2024 14:37:01 +0000 Subject: [PATCH 05/15] Bump golang.org/x/crypto from 0.22.0 to 0.23.0 Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.22.0 to 0.23.0. - [Commits](https://github.com/golang/crypto/compare/v0.22.0...v0.23.0) --- updated-dependencies: - dependency-name: golang.org/x/crypto dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Signed-off-by: Jordan Rash <15827604+jordan-rash@users.noreply.github.com> --- go.mod | 6 +++--- go.sum | 14 +++++++------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/go.mod b/go.mod index b2bad101..440a2318 100644 --- a/go.mod +++ b/go.mod @@ -19,8 +19,8 @@ require ( github.com/stretchr/testify v1.9.0 github.com/vishvananda/netlink v1.2.1-beta.2 github.com/vishvananda/netns v0.0.4 - golang.org/x/crypto v0.22.0 - golang.org/x/sys v0.19.0 + golang.org/x/crypto v0.23.0 + golang.org/x/sys v0.20.0 ) require ( @@ -44,7 +44,7 @@ require ( go.mongodb.org/mongo-driver v1.14.0 // indirect golang.org/x/net v0.23.0 // indirect golang.org/x/sync v0.1.0 // indirect - golang.org/x/text v0.14.0 // indirect + golang.org/x/text v0.15.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index b42fd6d3..aae75e92 100644 --- a/go.sum +++ b/go.sum @@ -209,8 +209,8 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= -golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30= -golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M= +golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= +golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= @@ -258,19 +258,19 @@ golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= -golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= +golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.19.0 h1:+ThwsDv+tYfnJFhF4L8jITxu1tdTWRTZpdsWgEgjL6Q= +golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= +golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= From 0c070a7a3995cedae929f401d3f8bc392ebc11e5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 6 May 2024 14:51:52 +0000 Subject: [PATCH 06/15] Bump golang.org/x/crypto in /examples/cmd/snapshotting Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.22.0 to 0.23.0. - [Commits](https://github.com/golang/crypto/compare/v0.22.0...v0.23.0) --- updated-dependencies: - dependency-name: golang.org/x/crypto dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Signed-off-by: Jordan Rash <15827604+jordan-rash@users.noreply.github.com> --- examples/cmd/snapshotting/go.mod | 4 ++-- examples/cmd/snapshotting/go.sum | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/examples/cmd/snapshotting/go.mod b/examples/cmd/snapshotting/go.mod index 00a66da8..1d9a750d 100644 --- a/examples/cmd/snapshotting/go.mod +++ b/examples/cmd/snapshotting/go.mod @@ -4,8 +4,8 @@ go 1.18 require ( github.com/firecracker-microvm/firecracker-go-sdk v1.0.0 - golang.org/x/crypto v0.22.0 - golang.org/x/sys v0.19.0 + golang.org/x/crypto v0.23.0 + golang.org/x/sys v0.20.0 ) require ( diff --git a/examples/cmd/snapshotting/go.sum b/examples/cmd/snapshotting/go.sum index d36282f5..4611ea94 100644 --- a/examples/cmd/snapshotting/go.sum +++ b/examples/cmd/snapshotting/go.sum @@ -212,8 +212,8 @@ golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30= -golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M= +golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= +golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= @@ -258,18 +258,18 @@ golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= -golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= +golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.19.0 h1:+ThwsDv+tYfnJFhF4L8jITxu1tdTWRTZpdsWgEgjL6Q= +golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= +golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= From cfe3915e2e90784dd8243f3fb94483095149b5de Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 May 2024 14:32:16 +0000 Subject: [PATCH 07/15] Bump github.com/containernetworking/plugins from 1.4.1 to 1.5.0 Bumps [github.com/containernetworking/plugins](https://github.com/containernetworking/plugins) from 1.4.1 to 1.5.0. - [Release notes](https://github.com/containernetworking/plugins/releases) - [Commits](https://github.com/containernetworking/plugins/compare/v1.4.1...v1.5.0) --- updated-dependencies: - dependency-name: github.com/containernetworking/plugins dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Signed-off-by: Jordan Rash <15827604+jordan-rash@users.noreply.github.com> --- go.mod | 4 ++-- go.sum | 19 ++++++++++--------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/go.mod b/go.mod index 440a2318..156e2013 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.18 require ( github.com/containerd/fifo v1.1.0 github.com/containernetworking/cni v1.1.2 - github.com/containernetworking/plugins v1.4.1 + github.com/containernetworking/plugins v1.5.0 github.com/go-openapi/errors v0.22.0 github.com/go-openapi/runtime v0.24.0 github.com/go-openapi/strfmt v0.23.0 @@ -42,7 +42,7 @@ require ( github.com/opentracing/opentracing-go v1.2.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect go.mongodb.org/mongo-driver v1.14.0 // indirect - golang.org/x/net v0.23.0 // indirect + golang.org/x/net v0.24.0 // indirect golang.org/x/sync v0.1.0 // indirect golang.org/x/text v0.15.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/go.sum b/go.sum index aae75e92..73046ba8 100644 --- a/go.sum +++ b/go.sum @@ -14,8 +14,8 @@ github.com/containerd/fifo v1.1.0 h1:4I2mbh5stb1u6ycIABlBw9zgtlK8viPI9QkQNRQEEmY github.com/containerd/fifo v1.1.0/go.mod h1:bmC4NWMbXlt2EZ0Hc7Fx7QzTFxgPID13eH0Qu+MAb2o= github.com/containernetworking/cni v1.1.2 h1:wtRGZVv7olUHMOqouPpn3cXJWpJgM6+EUl31EQbXALQ= github.com/containernetworking/cni v1.1.2/go.mod h1:sDpYKmGVENF3s6uvMvGgldDWeG8dMxakj/u+i9ht9vw= -github.com/containernetworking/plugins v1.4.1 h1:+sJRRv8PKhLkXIl6tH1D7RMi+CbbHutDGU+ErLBORWA= -github.com/containernetworking/plugins v1.4.1/go.mod h1:n6FFGKcaY4o2o5msgu/UImtoC+fpQXM3076VHfHbj60= +github.com/containernetworking/plugins v1.5.0 h1:P09DMlfvvsLSskDoftnuwXY7lwa7IAhTGznZxA5E8fk= +github.com/containernetworking/plugins v1.5.0/go.mod h1:bcXMvG9gWGc6jVXeodmMzuXmXqpqMguZm6Zu/oIr7AA= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= @@ -58,8 +58,9 @@ github.com/go-ping/ping v1.1.0 h1:3MCGhVX4fyEUuhsfwPrsEdQw6xspHkv5zHsiSoDFZYw= github.com/go-ping/ping v1.1.0/go.mod h1:xIFjORFzTxqIV/tDVGO4eDy/bLuSyawEeojSm3GfRGk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-stack/stack v1.8.1/go.mod h1:dcoOX6HbPZSZptuspn9bctJ+N/CnF5gGygcUP3XYfe4= +github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0 h1:p104kn46Q8WdvHunIJ9dAyjPVtrBPhSr3KT2yUst43I= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= -github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= +github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg= @@ -101,7 +102,7 @@ github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20230323073829-e72429f035bd h1:r8yyd+DJDmsUhGrRBxH5Pj7KeFK5l+Y3FsgT8keqKtk= +github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6 h1:k7nVchz72niMH6YLQNvHSdIE7iqsQxK1P41mySCvssg= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= @@ -154,11 +155,11 @@ github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108 github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= -github.com/onsi/ginkgo/v2 v2.16.0 h1:7q1w9frJDzninhXxjZd+Y/x54XNjG/UlRLIYPZafsPM= +github.com/onsi/ginkgo/v2 v2.17.3 h1:oJcvKpIb7/8uLpDDtnQuf18xVnwKp8DTD7DQ6gTd/MU= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= -github.com/onsi/gomega v1.31.1 h1:KYppCUK+bUgAZwHOu7EXVBKyQA6ILvOESHkn/tgoqvo= +github.com/onsi/gomega v1.33.1 h1:dsYjIxxSR755MDmKVsaFQTE22ChNBcuuTWgkUDSubOk= github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= @@ -222,8 +223,8 @@ golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLd golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= +golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w= +golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -278,7 +279,7 @@ golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3 golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.17.0 h1:FvmRgNOcs3kOa+T20R1uhfP9F6HgG2mfxDv1vrx1Htc= +golang.org/x/tools v0.20.0 h1:hz/CVckiOxybQvFw6h7b/q80NTr9IUQb4s1IIzW7KNY= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From 1a300ef2ba8defd952d07e8fb7cc61257a223761 Mon Sep 17 00:00:00 2001 From: Swagat Bora Date: Tue, 28 May 2024 16:41:48 +0000 Subject: [PATCH 08/15] run go mod tidy in examples/cmd/snapshotting Signed-off-by: Swagat Bora Signed-off-by: Jordan Rash <15827604+jordan-rash@users.noreply.github.com> --- examples/cmd/snapshotting/go.mod | 2 +- examples/cmd/snapshotting/go.sum | 17 +++++++++-------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/examples/cmd/snapshotting/go.mod b/examples/cmd/snapshotting/go.mod index 1d9a750d..226af844 100644 --- a/examples/cmd/snapshotting/go.mod +++ b/examples/cmd/snapshotting/go.mod @@ -12,7 +12,7 @@ require ( github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect github.com/containerd/fifo v1.1.0 // indirect github.com/containernetworking/cni v1.1.2 // indirect - github.com/containernetworking/plugins v1.4.1 // indirect + github.com/containernetworking/plugins v1.5.0 // indirect github.com/go-openapi/analysis v0.21.4 // indirect github.com/go-openapi/errors v0.22.0 // indirect github.com/go-openapi/jsonpointer v0.19.5 // indirect diff --git a/examples/cmd/snapshotting/go.sum b/examples/cmd/snapshotting/go.sum index 4611ea94..ce251fb0 100644 --- a/examples/cmd/snapshotting/go.sum +++ b/examples/cmd/snapshotting/go.sum @@ -12,8 +12,8 @@ github.com/containerd/fifo v1.1.0 h1:4I2mbh5stb1u6ycIABlBw9zgtlK8viPI9QkQNRQEEmY github.com/containerd/fifo v1.1.0/go.mod h1:bmC4NWMbXlt2EZ0Hc7Fx7QzTFxgPID13eH0Qu+MAb2o= github.com/containernetworking/cni v1.1.2 h1:wtRGZVv7olUHMOqouPpn3cXJWpJgM6+EUl31EQbXALQ= github.com/containernetworking/cni v1.1.2/go.mod h1:sDpYKmGVENF3s6uvMvGgldDWeG8dMxakj/u+i9ht9vw= -github.com/containernetworking/plugins v1.4.1 h1:+sJRRv8PKhLkXIl6tH1D7RMi+CbbHutDGU+ErLBORWA= -github.com/containernetworking/plugins v1.4.1/go.mod h1:n6FFGKcaY4o2o5msgu/UImtoC+fpQXM3076VHfHbj60= +github.com/containernetworking/plugins v1.5.0 h1:P09DMlfvvsLSskDoftnuwXY7lwa7IAhTGznZxA5E8fk= +github.com/containernetworking/plugins v1.5.0/go.mod h1:bcXMvG9gWGc6jVXeodmMzuXmXqpqMguZm6Zu/oIr7AA= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= @@ -59,8 +59,9 @@ github.com/go-openapi/validate v0.22.0/go.mod h1:rjnrwK57VJ7A8xqfpAOEKRH8yQSGUri github.com/go-ping/ping v1.1.0 h1:3MCGhVX4fyEUuhsfwPrsEdQw6xspHkv5zHsiSoDFZYw= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-stack/stack v1.8.1/go.mod h1:dcoOX6HbPZSZptuspn9bctJ+N/CnF5gGygcUP3XYfe4= +github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0 h1:p104kn46Q8WdvHunIJ9dAyjPVtrBPhSr3KT2yUst43I= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= -github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= +github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg= @@ -102,7 +103,7 @@ github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20230323073829-e72429f035bd h1:r8yyd+DJDmsUhGrRBxH5Pj7KeFK5l+Y3FsgT8keqKtk= +github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6 h1:k7nVchz72niMH6YLQNvHSdIE7iqsQxK1P41mySCvssg= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -151,11 +152,11 @@ github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108 github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= -github.com/onsi/ginkgo/v2 v2.16.0 h1:7q1w9frJDzninhXxjZd+Y/x54XNjG/UlRLIYPZafsPM= +github.com/onsi/ginkgo/v2 v2.17.3 h1:oJcvKpIb7/8uLpDDtnQuf18xVnwKp8DTD7DQ6gTd/MU= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= -github.com/onsi/gomega v1.31.1 h1:KYppCUK+bUgAZwHOu7EXVBKyQA6ILvOESHkn/tgoqvo= +github.com/onsi/gomega v1.33.1 h1:dsYjIxxSR755MDmKVsaFQTE22ChNBcuuTWgkUDSubOk= github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= @@ -225,7 +226,7 @@ golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1 golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= +golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -277,7 +278,7 @@ golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3 golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.17.0 h1:FvmRgNOcs3kOa+T20R1uhfP9F6HgG2mfxDv1vrx1Htc= +golang.org/x/tools v0.20.0 h1:hz/CVckiOxybQvFw6h7b/q80NTr9IUQb4s1IIzW7KNY= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From fe2b351431e14e01f885d0047375c140c1174569 Mon Sep 17 00:00:00 2001 From: Austin Vazquez <55906459+austinvazquez@users.noreply.github.com> Date: Tue, 28 May 2024 14:57:18 -0700 Subject: [PATCH 09/15] Revert update to github.com/containernetworking/plugins@v1.5.0 (#568) * Revert "Bump github.com/containernetworking/plugins from 1.4.1 to 1.5.0" This reverts commit 0027aaebbc2dcf34a9811f8f05b785e62b187741. Signed-off-by: Austin Vazquez * Revert "run go mod tidy in examples/cmd/snapshotting" This reverts commit 70b0100367b0733b8d0a4dcf54e345248e65ae4c. Signed-off-by: Austin Vazquez --------- Signed-off-by: Austin Vazquez Signed-off-by: Jordan Rash <15827604+jordan-rash@users.noreply.github.com> --- examples/cmd/snapshotting/go.mod | 2 +- examples/cmd/snapshotting/go.sum | 17 ++++++++--------- go.mod | 4 ++-- go.sum | 19 +++++++++---------- 4 files changed, 20 insertions(+), 22 deletions(-) diff --git a/examples/cmd/snapshotting/go.mod b/examples/cmd/snapshotting/go.mod index 226af844..1d9a750d 100644 --- a/examples/cmd/snapshotting/go.mod +++ b/examples/cmd/snapshotting/go.mod @@ -12,7 +12,7 @@ require ( github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect github.com/containerd/fifo v1.1.0 // indirect github.com/containernetworking/cni v1.1.2 // indirect - github.com/containernetworking/plugins v1.5.0 // indirect + github.com/containernetworking/plugins v1.4.1 // indirect github.com/go-openapi/analysis v0.21.4 // indirect github.com/go-openapi/errors v0.22.0 // indirect github.com/go-openapi/jsonpointer v0.19.5 // indirect diff --git a/examples/cmd/snapshotting/go.sum b/examples/cmd/snapshotting/go.sum index ce251fb0..4611ea94 100644 --- a/examples/cmd/snapshotting/go.sum +++ b/examples/cmd/snapshotting/go.sum @@ -12,8 +12,8 @@ github.com/containerd/fifo v1.1.0 h1:4I2mbh5stb1u6ycIABlBw9zgtlK8viPI9QkQNRQEEmY github.com/containerd/fifo v1.1.0/go.mod h1:bmC4NWMbXlt2EZ0Hc7Fx7QzTFxgPID13eH0Qu+MAb2o= github.com/containernetworking/cni v1.1.2 h1:wtRGZVv7olUHMOqouPpn3cXJWpJgM6+EUl31EQbXALQ= github.com/containernetworking/cni v1.1.2/go.mod h1:sDpYKmGVENF3s6uvMvGgldDWeG8dMxakj/u+i9ht9vw= -github.com/containernetworking/plugins v1.5.0 h1:P09DMlfvvsLSskDoftnuwXY7lwa7IAhTGznZxA5E8fk= -github.com/containernetworking/plugins v1.5.0/go.mod h1:bcXMvG9gWGc6jVXeodmMzuXmXqpqMguZm6Zu/oIr7AA= +github.com/containernetworking/plugins v1.4.1 h1:+sJRRv8PKhLkXIl6tH1D7RMi+CbbHutDGU+ErLBORWA= +github.com/containernetworking/plugins v1.4.1/go.mod h1:n6FFGKcaY4o2o5msgu/UImtoC+fpQXM3076VHfHbj60= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= @@ -59,9 +59,8 @@ github.com/go-openapi/validate v0.22.0/go.mod h1:rjnrwK57VJ7A8xqfpAOEKRH8yQSGUri github.com/go-ping/ping v1.1.0 h1:3MCGhVX4fyEUuhsfwPrsEdQw6xspHkv5zHsiSoDFZYw= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-stack/stack v1.8.1/go.mod h1:dcoOX6HbPZSZptuspn9bctJ+N/CnF5gGygcUP3XYfe4= -github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0 h1:p104kn46Q8WdvHunIJ9dAyjPVtrBPhSr3KT2yUst43I= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= +github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg= @@ -103,7 +102,7 @@ github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6 h1:k7nVchz72niMH6YLQNvHSdIE7iqsQxK1P41mySCvssg= +github.com/google/pprof v0.0.0-20230323073829-e72429f035bd h1:r8yyd+DJDmsUhGrRBxH5Pj7KeFK5l+Y3FsgT8keqKtk= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -152,11 +151,11 @@ github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108 github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= -github.com/onsi/ginkgo/v2 v2.17.3 h1:oJcvKpIb7/8uLpDDtnQuf18xVnwKp8DTD7DQ6gTd/MU= +github.com/onsi/ginkgo/v2 v2.16.0 h1:7q1w9frJDzninhXxjZd+Y/x54XNjG/UlRLIYPZafsPM= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= -github.com/onsi/gomega v1.33.1 h1:dsYjIxxSR755MDmKVsaFQTE22ChNBcuuTWgkUDSubOk= +github.com/onsi/gomega v1.31.1 h1:KYppCUK+bUgAZwHOu7EXVBKyQA6ILvOESHkn/tgoqvo= github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= @@ -226,7 +225,7 @@ golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1 golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w= +golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -278,7 +277,7 @@ golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3 golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.20.0 h1:hz/CVckiOxybQvFw6h7b/q80NTr9IUQb4s1IIzW7KNY= +golang.org/x/tools v0.17.0 h1:FvmRgNOcs3kOa+T20R1uhfP9F6HgG2mfxDv1vrx1Htc= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/go.mod b/go.mod index 156e2013..440a2318 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.18 require ( github.com/containerd/fifo v1.1.0 github.com/containernetworking/cni v1.1.2 - github.com/containernetworking/plugins v1.5.0 + github.com/containernetworking/plugins v1.4.1 github.com/go-openapi/errors v0.22.0 github.com/go-openapi/runtime v0.24.0 github.com/go-openapi/strfmt v0.23.0 @@ -42,7 +42,7 @@ require ( github.com/opentracing/opentracing-go v1.2.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect go.mongodb.org/mongo-driver v1.14.0 // indirect - golang.org/x/net v0.24.0 // indirect + golang.org/x/net v0.23.0 // indirect golang.org/x/sync v0.1.0 // indirect golang.org/x/text v0.15.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/go.sum b/go.sum index 73046ba8..aae75e92 100644 --- a/go.sum +++ b/go.sum @@ -14,8 +14,8 @@ github.com/containerd/fifo v1.1.0 h1:4I2mbh5stb1u6ycIABlBw9zgtlK8viPI9QkQNRQEEmY github.com/containerd/fifo v1.1.0/go.mod h1:bmC4NWMbXlt2EZ0Hc7Fx7QzTFxgPID13eH0Qu+MAb2o= github.com/containernetworking/cni v1.1.2 h1:wtRGZVv7olUHMOqouPpn3cXJWpJgM6+EUl31EQbXALQ= github.com/containernetworking/cni v1.1.2/go.mod h1:sDpYKmGVENF3s6uvMvGgldDWeG8dMxakj/u+i9ht9vw= -github.com/containernetworking/plugins v1.5.0 h1:P09DMlfvvsLSskDoftnuwXY7lwa7IAhTGznZxA5E8fk= -github.com/containernetworking/plugins v1.5.0/go.mod h1:bcXMvG9gWGc6jVXeodmMzuXmXqpqMguZm6Zu/oIr7AA= +github.com/containernetworking/plugins v1.4.1 h1:+sJRRv8PKhLkXIl6tH1D7RMi+CbbHutDGU+ErLBORWA= +github.com/containernetworking/plugins v1.4.1/go.mod h1:n6FFGKcaY4o2o5msgu/UImtoC+fpQXM3076VHfHbj60= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= @@ -58,9 +58,8 @@ github.com/go-ping/ping v1.1.0 h1:3MCGhVX4fyEUuhsfwPrsEdQw6xspHkv5zHsiSoDFZYw= github.com/go-ping/ping v1.1.0/go.mod h1:xIFjORFzTxqIV/tDVGO4eDy/bLuSyawEeojSm3GfRGk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-stack/stack v1.8.1/go.mod h1:dcoOX6HbPZSZptuspn9bctJ+N/CnF5gGygcUP3XYfe4= -github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0 h1:p104kn46Q8WdvHunIJ9dAyjPVtrBPhSr3KT2yUst43I= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= +github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg= @@ -102,7 +101,7 @@ github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6 h1:k7nVchz72niMH6YLQNvHSdIE7iqsQxK1P41mySCvssg= +github.com/google/pprof v0.0.0-20230323073829-e72429f035bd h1:r8yyd+DJDmsUhGrRBxH5Pj7KeFK5l+Y3FsgT8keqKtk= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= @@ -155,11 +154,11 @@ github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108 github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= -github.com/onsi/ginkgo/v2 v2.17.3 h1:oJcvKpIb7/8uLpDDtnQuf18xVnwKp8DTD7DQ6gTd/MU= +github.com/onsi/ginkgo/v2 v2.16.0 h1:7q1w9frJDzninhXxjZd+Y/x54XNjG/UlRLIYPZafsPM= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= -github.com/onsi/gomega v1.33.1 h1:dsYjIxxSR755MDmKVsaFQTE22ChNBcuuTWgkUDSubOk= +github.com/onsi/gomega v1.31.1 h1:KYppCUK+bUgAZwHOu7EXVBKyQA6ILvOESHkn/tgoqvo= github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= @@ -223,8 +222,8 @@ golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLd golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w= -golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= +golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= +golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -279,7 +278,7 @@ golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3 golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.20.0 h1:hz/CVckiOxybQvFw6h7b/q80NTr9IUQb4s1IIzW7KNY= +golang.org/x/tools v0.17.0 h1:FvmRgNOcs3kOa+T20R1uhfP9F6HgG2mfxDv1vrx1Htc= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From 4379f6ce6228cd2093c53489268fd88f475ed214 Mon Sep 17 00:00:00 2001 From: Gudmundur Bjarni Olafsson Date: Wed, 12 Jun 2024 10:37:38 +0200 Subject: [PATCH 10/15] Pass firecracker log level through jailer Signed-off-by: Gudmundur Bjarni Olafsson Signed-off-by: Jordan Rash <15827604+jordan-rash@users.noreply.github.com> --- jailer.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/jailer.go b/jailer.go index 208de670..126390ea 100644 --- a/jailer.go +++ b/jailer.go @@ -339,6 +339,10 @@ func jail(ctx context.Context, m *Machine, cfg *Config) error { fcArgs := seccompArgs(cfg) fcArgs = append(fcArgs, "--api-sock", machineSocketPath) + if cfg.LogLevel != "" { + fcArgs = append(fcArgs, "--level", cfg.LogLevel) + } + builder := NewJailerCommandBuilder(). WithID(cfg.JailerCfg.ID). WithUID(*cfg.JailerCfg.UID). From 04c692fabc435e548673643836f235e96530540b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Jun 2024 13:56:17 -0700 Subject: [PATCH 11/15] Bump golang.org/x/sys in /examples/cmd/snapshotting (#573) Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.20.0 to 0.21.0. - [Commits](https://github.com/golang/sys/compare/v0.20.0...v0.21.0) --- updated-dependencies: - dependency-name: golang.org/x/sys dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Signed-off-by: Jordan Rash <15827604+jordan-rash@users.noreply.github.com> --- examples/cmd/snapshotting/go.mod | 2 +- examples/cmd/snapshotting/go.sum | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/cmd/snapshotting/go.mod b/examples/cmd/snapshotting/go.mod index 1d9a750d..99138cdb 100644 --- a/examples/cmd/snapshotting/go.mod +++ b/examples/cmd/snapshotting/go.mod @@ -5,7 +5,7 @@ go 1.18 require ( github.com/firecracker-microvm/firecracker-go-sdk v1.0.0 golang.org/x/crypto v0.23.0 - golang.org/x/sys v0.20.0 + golang.org/x/sys v0.21.0 ) require ( diff --git a/examples/cmd/snapshotting/go.sum b/examples/cmd/snapshotting/go.sum index 4611ea94..1beec866 100644 --- a/examples/cmd/snapshotting/go.sum +++ b/examples/cmd/snapshotting/go.sum @@ -225,7 +225,7 @@ golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1 golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= +golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -258,8 +258,8 @@ golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= From abfeb6dd33450caa83e7b6e26f49e12008be6833 Mon Sep 17 00:00:00 2001 From: Swagat Bora Date: Mon, 24 Jun 2024 23:50:04 +0000 Subject: [PATCH 12/15] Revert "Pass firecracker log level through jailer" This reverts commit fe672947d6eeda2d2c99ff1379a766cbc25e0fee. Signed-off-by: Swagat Bora Signed-off-by: Jordan Rash <15827604+jordan-rash@users.noreply.github.com> --- jailer.go | 4 ---- 1 file changed, 4 deletions(-) diff --git a/jailer.go b/jailer.go index 126390ea..208de670 100644 --- a/jailer.go +++ b/jailer.go @@ -339,10 +339,6 @@ func jail(ctx context.Context, m *Machine, cfg *Config) error { fcArgs := seccompArgs(cfg) fcArgs = append(fcArgs, "--api-sock", machineSocketPath) - if cfg.LogLevel != "" { - fcArgs = append(fcArgs, "--level", cfg.LogLevel) - } - builder := NewJailerCommandBuilder(). WithID(cfg.JailerCfg.ID). WithUID(*cfg.JailerCfg.UID). From 4b105a54c516743c7db546d1e7446be2b8f2bb35 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2024 14:55:07 +0000 Subject: [PATCH 13/15] Bump golang.org/x/crypto in /examples/cmd/snapshotting Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.23.0 to 0.25.0. - [Commits](https://github.com/golang/crypto/compare/v0.23.0...v0.25.0) --- updated-dependencies: - dependency-name: golang.org/x/crypto dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Signed-off-by: Jordan Rash <15827604+jordan-rash@users.noreply.github.com> --- examples/cmd/snapshotting/go.mod | 4 ++-- examples/cmd/snapshotting/go.sum | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/examples/cmd/snapshotting/go.mod b/examples/cmd/snapshotting/go.mod index 99138cdb..027af0ef 100644 --- a/examples/cmd/snapshotting/go.mod +++ b/examples/cmd/snapshotting/go.mod @@ -4,8 +4,8 @@ go 1.18 require ( github.com/firecracker-microvm/firecracker-go-sdk v1.0.0 - golang.org/x/crypto v0.23.0 - golang.org/x/sys v0.21.0 + golang.org/x/crypto v0.25.0 + golang.org/x/sys v0.22.0 ) require ( diff --git a/examples/cmd/snapshotting/go.sum b/examples/cmd/snapshotting/go.sum index 1beec866..434f4c85 100644 --- a/examples/cmd/snapshotting/go.sum +++ b/examples/cmd/snapshotting/go.sum @@ -212,8 +212,8 @@ golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30= +golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= @@ -258,18 +258,18 @@ golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= -golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI= +golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= +golang.org/x/term v0.22.0 h1:BbsgPEJULsl2fV/AT3v15Mjva5yXKQDyKf+TbDz7QJk= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= From 8df47f1501d7690b426567a677028aabd8e434cb Mon Sep 17 00:00:00 2001 From: Jordan Rash <15827604+jordan-rash@users.noreply.github.com> Date: Wed, 31 Jul 2024 08:49:24 -0600 Subject: [PATCH 14/15] moved logs to debug Signed-off-by: Jordan Rash <15827604+jordan-rash@users.noreply.github.com> --- machine.go | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/machine.go b/machine.go index 5ec2dae7..ab322908 100644 --- a/machine.go +++ b/machine.go @@ -545,7 +545,7 @@ func (m *Machine) defaultNetNSPath() string { // startVMM starts the firecracker vmm process and configures logging. func (m *Machine) startVMM(ctx context.Context) error { - m.logger.Info("Called startVMM(), setting up a VMM", slog.String("socket_path", m.Cfg.SocketPath)) + m.logger.Debug("Called startVMM(), setting up a VMM", slog.String("socket_path", m.Cfg.SocketPath)) startCmd := m.cmd.Start m.logger.Debug("Starting", slog.String("args", strings.Join(m.cmd.Args, " "))) @@ -721,7 +721,7 @@ func (m *Machine) setupMetrics(ctx context.Context) error { if len(path) == 0 { // No logging configured - m.logger.Info("VMM metrics disabled.") + m.logger.Debug("VMM metrics disabled.") return nil } @@ -812,7 +812,7 @@ func (m *Machine) createBootSource(ctx context.Context, imagePath, initrdPath, k resp, err := m.client.PutGuestBootSource(ctx, &bsrc) if err == nil { - m.logger.Info("PutGuestBootSource", slog.Any("err", resp.Error())) + m.logger.Error("PutGuestBootSource", slog.Any("err", resp.Error())) } return err @@ -827,7 +827,7 @@ func (m *Machine) createNetworkInterface(ctx context.Context, iface NetworkInter return errors.New("invalid nil state for network interface") } - m.logger.Info("Attaching NIC at index", + m.logger.Debug("Attaching NIC at index", slog.String("device_name", iface.StaticConfiguration.HostDevName), slog.String("mac_addr", iface.StaticConfiguration.MacAddress), slog.String("interface_id", ifaceID), @@ -879,10 +879,10 @@ func (m *Machine) UpdateGuestNetworkInterfaceRateLimit(ctx context.Context, ifac // attachDrive attaches a secondary block device func (m *Machine) attachDrive(ctx context.Context, dev models.Drive) error { hostPath := StringValue(dev.PathOnHost) - m.logger.Info("Attaching drive", slog.String("drive_path", hostPath), slog.String("slot", StringValue(dev.DriveID)), slog.Bool("root", BoolValue(dev.IsRootDevice))) + m.logger.Debug("Attaching drive", slog.String("drive_path", hostPath), slog.String("slot", StringValue(dev.DriveID)), slog.Bool("root", BoolValue(dev.IsRootDevice))) respNoContent, err := m.client.PutGuestDriveByID(ctx, StringValue(dev.DriveID), &dev) if err == nil { - m.logger.Info("Attached drive", slog.String("drive_path", hostPath), slog.String("err", respNoContent.Error())) + m.logger.Debug("Attached drive", slog.String("drive_path", hostPath), slog.String("err", respNoContent.Error())) } else { m.logger.Error("Attach drive failed", slog.String("drive_path", hostPath), slog.Any("err", err)) } @@ -917,7 +917,7 @@ func (m *Machine) startInstance(ctx context.Context) error { resp, err := m.client.CreateSyncAction(ctx, &info) if err == nil { - m.logger.Info("startInstance successful", slog.String("err", resp.Error())) + m.logger.Debug("startInstance successful", slog.String("err", resp.Error())) } else { m.logger.Error("Starting instance failed", slog.Any("err", err)) } @@ -979,7 +979,7 @@ func (m *Machine) SetMetadata(ctx context.Context, metadata interface{}) error { return err } - m.logger.Info("SetMetadata successful") + m.logger.Debug("SetMetadata successful") return nil } @@ -1051,10 +1051,10 @@ func (m *Machine) DescribeInstanceInfo(ctx context.Context) (models.InstanceInfo func (m *Machine) refreshMachineConfiguration() error { resp, err := m.client.GetMachineConfiguration() if err != nil { + m.logger.Error("refreshMachineConfiguration", slog.String("err", resp.Error())) return err } - m.logger.Info("refreshMachineConfiguration", slog.String("err", resp.Error())) m.machineConfig = *resp.Payload return nil } From 9fefbe818f472e068a42678f1952bb38146693a5 Mon Sep 17 00:00:00 2001 From: Jordan Rash <15827604+jordan-rash@users.noreply.github.com> Date: Wed, 31 Jul 2024 12:51:18 -0600 Subject: [PATCH 15/15] found 2 more Signed-off-by: Jordan Rash <15827604+jordan-rash@users.noreply.github.com> --- machine.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/machine.go b/machine.go index ab322908..16c555cb 100644 --- a/machine.go +++ b/machine.go @@ -588,7 +588,7 @@ func (m *Machine) startVMM(ctx context.Context) error { if waitErr != nil { m.logger.Warn("firecracker exited", slog.String("err", waitErr.Error())) } else { - m.logger.Info("firecracker exited: status=0") + m.logger.Debug("firecracker exited: status=0") } cleanupErr := m.doCleanup() @@ -812,7 +812,7 @@ func (m *Machine) createBootSource(ctx context.Context, imagePath, initrdPath, k resp, err := m.client.PutGuestBootSource(ctx, &bsrc) if err == nil { - m.logger.Error("PutGuestBootSource", slog.Any("err", resp.Error())) + m.logger.Debug("PutGuestBootSource", slog.Any("err", resp.Error())) } return err