From 8dd7e2516b9ada4fb604d6543c89ee8d53cf0d27 Mon Sep 17 00:00:00 2001 From: Yong Tang Date: Tue, 23 Jan 2018 18:25:23 +0000 Subject: [PATCH] Fix issue where network inspect does not show Created time in swarm scope This fix tries to address the issue raised in 36083 where `network inspect` does not show Created time if the network is created in swarm scope. The issue was that Created was not converted from swarm api. This fix addresses the issue. An unit test has been added. This fix fixes 36083. Signed-off-by: Yong Tang Upstream-commit: 090c439fb8a863731cc80fcb9932ce5958d8166d Component: engine --- .../engine/daemon/cluster/convert/network.go | 1 + .../daemon/cluster/convert/network_test.go | 34 +++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 components/engine/daemon/cluster/convert/network_test.go diff --git a/components/engine/daemon/cluster/convert/network.go b/components/engine/daemon/cluster/convert/network.go index 6f8b7938ce..ab9c694c38 100644 --- a/components/engine/daemon/cluster/convert/network.go +++ b/components/engine/daemon/cluster/convert/network.go @@ -168,6 +168,7 @@ func BasicNetworkFromGRPC(n swarmapi.Network) basictypes.NetworkResource { Ingress: IsIngressNetwork(&n), Labels: n.Spec.Annotations.Labels, } + nr.Created, _ = gogotypes.TimestampFromProto(n.Meta.CreatedAt) if n.Spec.GetNetwork() != "" { nr.ConfigFrom = networktypes.ConfigReference{ diff --git a/components/engine/daemon/cluster/convert/network_test.go b/components/engine/daemon/cluster/convert/network_test.go new file mode 100644 index 0000000000..1603b38d41 --- /dev/null +++ b/components/engine/daemon/cluster/convert/network_test.go @@ -0,0 +1,34 @@ +package convert + +import ( + "testing" + "time" + + swarmapi "github.com/docker/swarmkit/api" + gogotypes "github.com/gogo/protobuf/types" +) + +func TestNetworkConvertBasicNetworkFromGRPCCreatedAt(t *testing.T) { + expected, err := time.Parse("Jan 2, 2006 at 3:04pm (MST)", "Jan 10, 2018 at 7:54pm (PST)") + if err != nil { + t.Fatal(err) + } + createdAt, err := gogotypes.TimestampProto(expected) + if err != nil { + t.Fatal(err) + } + + nw := swarmapi.Network{ + Meta: swarmapi.Meta{ + Version: swarmapi.Version{ + Index: 1, + }, + CreatedAt: createdAt, + }, + } + + n := BasicNetworkFromGRPC(nw) + if !n.Created.Equal(expected) { + t.Fatalf("expected time %s; received %s", expected, n.Created) + } +}