diff options
author | baude <bbaude@redhat.com> | 2020-11-11 09:45:07 -0600 |
---|---|---|
committer | baude <bbaude@redhat.com> | 2020-11-19 08:16:19 -0600 |
commit | a3e0b7d117251944375fd32449f6b26d65edf367 (patch) | |
tree | 824e4acb1529fb72276630fdd4d57127c07aadc8 /libpod/events | |
parent | 286d356db03a2511722155022c19855f8aee73cf (diff) | |
download | podman-a3e0b7d117251944375fd32449f6b26d65edf367.tar.gz podman-a3e0b7d117251944375fd32449f6b26d65edf367.tar.bz2 podman-a3e0b7d117251944375fd32449f6b26d65edf367.zip |
add network connect|disconnect compat endpoints
this enables the ability to connect and disconnect a container from a
given network. it is only for the compatibility layer. some code had to
be refactored to avoid circular imports.
additionally, tests are being deferred temporarily due to some
incompatibility/bug in either docker-py or our stack.
Signed-off-by: baude <bbaude@redhat.com>
Diffstat (limited to 'libpod/events')
-rw-r--r-- | libpod/events/config.go | 8 | ||||
-rw-r--r-- | libpod/events/events.go | 8 | ||||
-rw-r--r-- | libpod/events/journal_linux.go | 6 | ||||
-rw-r--r-- | libpod/events/logfile.go | 2 |
4 files changed, 23 insertions, 1 deletions
diff --git a/libpod/events/config.go b/libpod/events/config.go index 2ec3111fe..af09a65ae 100644 --- a/libpod/events/config.go +++ b/libpod/events/config.go @@ -30,6 +30,8 @@ type Event struct { Image string `json:",omitempty"` // Name where applicable Name string `json:",omitempty"` + // Network is the network name in a network event + Network string `json:"network,omitempty"` // Status describes the event that occurred Status Status // Time the event occurred @@ -101,6 +103,8 @@ const ( Container Type = "container" // Image - event is related to images Image Type = "image" + // Network - event is related to networks + Network Type = "network" // Pod - event is related to pods Pod Type = "pod" // System - event is related to Podman whole and not to any specific @@ -141,6 +145,10 @@ const ( LoadFromArchive Status = "loadfromarchive" // Mount ... Mount Status = "mount" + // NetworkConnect + NetworkConnect Status = "connect" + // NetworkDisconnect + NetworkDisconnect Status = "disconnect" // Pause ... Pause Status = "pause" // Prune ... diff --git a/libpod/events/events.go b/libpod/events/events.go index 42939d64c..4e7267af3 100644 --- a/libpod/events/events.go +++ b/libpod/events/events.go @@ -77,6 +77,8 @@ func (e *Event) ToHumanReadable() string { } } humanFormat += ")" + case Network: + humanFormat = fmt.Sprintf("%s %s %s %s (container=%s, name=%s)", e.Time, e.Type, e.Status, e.ID, e.ID, e.Network) case Image: humanFormat = fmt.Sprintf("%s %s %s %s %s", e.Time, e.Type, e.Status, e.ID, e.Name) case System: @@ -115,6 +117,8 @@ func StringToType(name string) (Type, error) { return Container, nil case Image.String(): return Image, nil + case Network.String(): + return Network, nil case Pod.String(): return Pod, nil case System.String(): @@ -162,6 +166,10 @@ func StringToStatus(name string) (Status, error) { return LoadFromArchive, nil case Mount.String(): return Mount, nil + case NetworkConnect.String(): + return NetworkConnect, nil + case NetworkDisconnect.String(): + return NetworkDisconnect, nil case Pause.String(): return Pause, nil case Prune.String(): diff --git a/libpod/events/journal_linux.go b/libpod/events/journal_linux.go index 5e3be8009..9a514e302 100644 --- a/libpod/events/journal_linux.go +++ b/libpod/events/journal_linux.go @@ -56,6 +56,9 @@ func (e EventJournalD) Write(ee Event) error { } m["PODMAN_LABELS"] = string(b) } + case Network: + m["PODMAN_ID"] = ee.ID + m["PODMAN_NETWORK_NAME"] = ee.Network case Volume: m["PODMAN_NAME"] = ee.Name } @@ -197,6 +200,9 @@ func newEventFromJournalEntry(entry *sdjournal.JournalEntry) (*Event, error) { / newEvent.Details = Details{Attributes: labels} } } + case Network: + newEvent.ID = entry.Fields["PODMAN_ID"] + newEvent.Network = entry.Fields["PODMAN_NETWORK_NAME"] case Image: newEvent.ID = entry.Fields["PODMAN_ID"] } diff --git a/libpod/events/logfile.go b/libpod/events/logfile.go index b70102450..57e38b815 100644 --- a/libpod/events/logfile.go +++ b/libpod/events/logfile.go @@ -76,7 +76,7 @@ func (e EventLogFile) Read(ctx context.Context, options ReadOptions) error { return err } switch event.Type { - case Image, Volume, Pod, System, Container: + case Image, Volume, Pod, System, Container, Network: // no-op default: return errors.Errorf("event type %s is not valid in %s", event.Type.String(), e.options.LogFilePath) |