mirror of
https://github.com/docker/compose.git
synced 2025-07-23 05:34:36 +02:00
Change inspect json output to group things a bit more nicely, and more like Moby json output
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
This commit is contained in:
parent
343d54dac5
commit
b1edfb6507
@ -499,26 +499,28 @@ func ContainerGroupToContainer(containerID string, cg containerinstance.Containe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var config *containers.RuntimeConfig = &containers.RuntimeConfig{FQDN: fqdn(cg, region)}
|
config := &containers.RuntimeConfig{
|
||||||
if envVars != nil {
|
FQDN: fqdn(cg, region),
|
||||||
config.Env = envVars
|
Env: envVars,
|
||||||
|
}
|
||||||
|
hostConfig := &containers.HostConfig{
|
||||||
|
CPULimit: cpuLimit,
|
||||||
|
MemoryLimit: uint64(memLimits),
|
||||||
|
RestartPolicy: toContainerRestartPolicy(cg.RestartPolicy),
|
||||||
}
|
}
|
||||||
c := containers.Container{
|
c := containers.Container{
|
||||||
ID: containerID,
|
ID: containerID,
|
||||||
Status: status,
|
Status: status,
|
||||||
Image: to.String(cc.Image),
|
Image: to.String(cc.Image),
|
||||||
Command: command,
|
Command: command,
|
||||||
CPUTime: 0,
|
CPUTime: 0,
|
||||||
CPULimit: cpuLimit,
|
MemoryUsage: 0,
|
||||||
MemoryUsage: 0,
|
PidsCurrent: 0,
|
||||||
MemoryLimit: uint64(memLimits),
|
PidsLimit: 0,
|
||||||
PidsCurrent: 0,
|
Ports: ToPorts(cg.IPAddress, *cc.Ports),
|
||||||
PidsLimit: 0,
|
Platform: platform,
|
||||||
Labels: nil,
|
Config: config,
|
||||||
Ports: ToPorts(cg.IPAddress, *cc.Ports),
|
HostConfig: hostConfig,
|
||||||
Platform: platform,
|
|
||||||
RestartPolicyCondition: toContainerRestartPolicy(cg.RestartPolicy),
|
|
||||||
Config: config,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return c
|
return c
|
||||||
|
@ -90,13 +90,11 @@ func TestContainerGroupToContainer(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var expectedContainer = containers.Container{
|
var expectedContainer = containers.Container{
|
||||||
ID: "myContainerID",
|
ID: "myContainerID",
|
||||||
Status: "Running",
|
Status: "Running",
|
||||||
Image: "sha256:666",
|
Image: "sha256:666",
|
||||||
Command: "mycommand",
|
Command: "mycommand",
|
||||||
CPULimit: 3,
|
Platform: "Linux",
|
||||||
MemoryLimit: 107374182,
|
|
||||||
Platform: "Linux",
|
|
||||||
Ports: []containers.Port{{
|
Ports: []containers.Port{{
|
||||||
HostPort: uint32(80),
|
HostPort: uint32(80),
|
||||||
ContainerPort: uint32(80),
|
ContainerPort: uint32(80),
|
||||||
@ -106,7 +104,11 @@ func TestContainerGroupToContainer(t *testing.T) {
|
|||||||
Config: &containers.RuntimeConfig{
|
Config: &containers.RuntimeConfig{
|
||||||
FQDN: "myapp.eastus.azurecontainer.io",
|
FQDN: "myapp.eastus.azurecontainer.io",
|
||||||
},
|
},
|
||||||
RestartPolicyCondition: "any",
|
HostConfig: &containers.HostConfig{
|
||||||
|
CPULimit: 3,
|
||||||
|
MemoryLimit: 107374182,
|
||||||
|
RestartPolicy: "any",
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
container := ContainerGroupToContainer("myContainerID", myContainerGroup, myContainer, "eastus")
|
container := ContainerGroupToContainer("myContainerID", myContainerGroup, myContainer, "eastus")
|
||||||
|
@ -37,30 +37,35 @@ var RestartPolicyList = []string{RestartPolicyNone, RestartPolicyAny, RestartPol
|
|||||||
|
|
||||||
// Container represents a created container
|
// Container represents a created container
|
||||||
type Container struct {
|
type Container struct {
|
||||||
ID string
|
ID string
|
||||||
Status string
|
Status string
|
||||||
Image string
|
Image string
|
||||||
Command string
|
Command string
|
||||||
CPUTime uint64
|
CPUTime uint64
|
||||||
CPULimit float64
|
MemoryUsage uint64
|
||||||
MemoryUsage uint64
|
PidsCurrent uint64
|
||||||
MemoryLimit uint64
|
PidsLimit uint64
|
||||||
PidsCurrent uint64
|
Config *RuntimeConfig `json:",omitempty"`
|
||||||
PidsLimit uint64
|
HostConfig *HostConfig `json:",omitempty"`
|
||||||
Config *RuntimeConfig `json:",omitempty"`
|
Ports []Port `json:",omitempty"`
|
||||||
Labels []string `json:",omitempty"`
|
Platform string
|
||||||
Ports []Port `json:",omitempty"`
|
|
||||||
Platform string
|
|
||||||
RestartPolicyCondition string
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// RuntimeConfig config of a created container
|
// RuntimeConfig config of a created container
|
||||||
type RuntimeConfig struct {
|
type RuntimeConfig struct {
|
||||||
Env map[string]string `json:",omitempty"`
|
Labels []string `json:",omitempty"`
|
||||||
|
Env map[string]string `json:",omitempty"`
|
||||||
// FQDN is the fqdn to use
|
// FQDN is the fqdn to use
|
||||||
FQDN string `json:"fqdn,omitempty"`
|
FQDN string `json:"fqdn,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// HostConfig config of the container host
|
||||||
|
type HostConfig struct {
|
||||||
|
RestartPolicy string
|
||||||
|
CPULimit float64
|
||||||
|
MemoryLimit uint64
|
||||||
|
}
|
||||||
|
|
||||||
// Port represents a published port of a container
|
// Port represents a published port of a container
|
||||||
type Port struct {
|
type Port struct {
|
||||||
// HostPort is the port number on the host
|
// HostPort is the port number on the host
|
||||||
|
10
cli/cmd/testdata/inspect-out-id.golden
vendored
10
cli/cmd/testdata/inspect-out-id.golden
vendored
@ -4,11 +4,13 @@
|
|||||||
"Image": "nginx",
|
"Image": "nginx",
|
||||||
"Command": "",
|
"Command": "",
|
||||||
"CPUTime": 0,
|
"CPUTime": 0,
|
||||||
"CPULimit": 0,
|
|
||||||
"MemoryUsage": 0,
|
"MemoryUsage": 0,
|
||||||
"MemoryLimit": 0,
|
|
||||||
"PidsCurrent": 0,
|
"PidsCurrent": 0,
|
||||||
"PidsLimit": 0,
|
"PidsLimit": 0,
|
||||||
"Platform": "Linux",
|
"HostConfig": {
|
||||||
"RestartPolicyCondition": "none"
|
"RestartPolicy": "none",
|
||||||
|
"CPULimit": 0,
|
||||||
|
"MemoryLimit": 0
|
||||||
|
},
|
||||||
|
"Platform": "Linux"
|
||||||
}
|
}
|
||||||
|
@ -71,7 +71,9 @@ func (cs *containerService) Inspect(ctx context.Context, id string) (containers.
|
|||||||
ID: "id",
|
ID: "id",
|
||||||
Image: "nginx",
|
Image: "nginx",
|
||||||
Platform: "Linux",
|
Platform: "Linux",
|
||||||
RestartPolicyCondition: "none",
|
HostConfig: &containers.HostConfig{
|
||||||
|
RestartPolicy: "none",
|
||||||
|
},
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -128,14 +128,14 @@ func toGrpcContainer(c containers.Container) *containersv1.Container {
|
|||||||
Command: c.Command,
|
Command: c.Command,
|
||||||
CpuTime: c.CPUTime,
|
CpuTime: c.CPUTime,
|
||||||
MemoryUsage: c.MemoryUsage,
|
MemoryUsage: c.MemoryUsage,
|
||||||
MemoryLimit: c.MemoryLimit,
|
MemoryLimit: c.HostConfig.MemoryLimit,
|
||||||
Platform: c.Platform,
|
Platform: c.Platform,
|
||||||
PidsCurrent: c.PidsCurrent,
|
PidsCurrent: c.PidsCurrent,
|
||||||
PidsLimit: c.PidsLimit,
|
PidsLimit: c.PidsLimit,
|
||||||
Labels: c.Labels,
|
Labels: c.Config.Labels,
|
||||||
Ports: portsToGrpc(c.Ports),
|
Ports: portsToGrpc(c.Ports),
|
||||||
CpuLimit: uint64(c.CPULimit),
|
CpuLimit: uint64(c.HostConfig.CPULimit),
|
||||||
RestartPolicyCondition: c.RestartPolicyCondition,
|
RestartPolicyCondition: c.HostConfig.RestartPolicy,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -249,8 +249,8 @@ func TestRunVolume(t *testing.T) {
|
|||||||
containerInspect, err := ParseContainerInspect(res.Stdout())
|
containerInspect, err := ParseContainerInspect(res.Stdout())
|
||||||
assert.NilError(t, err)
|
assert.NilError(t, err)
|
||||||
assert.Equal(t, containerInspect.Platform, "Linux")
|
assert.Equal(t, containerInspect.Platform, "Linux")
|
||||||
assert.Equal(t, containerInspect.CPULimit, 1.0)
|
assert.Equal(t, containerInspect.HostConfig.CPULimit, 1.0)
|
||||||
assert.Equal(t, containerInspect.RestartPolicyCondition, containers.RestartPolicyNone)
|
assert.Equal(t, containerInspect.HostConfig.RestartPolicy, containers.RestartPolicyNone)
|
||||||
|
|
||||||
assert.Assert(t, is.Len(containerInspect.Ports, 1))
|
assert.Assert(t, is.Len(containerInspect.Ports, 1))
|
||||||
hostIP = containerInspect.Ports[0].HostIP
|
hostIP = containerInspect.Ports[0].HostIP
|
||||||
@ -395,9 +395,9 @@ func TestContainerRunAttached(t *testing.T) {
|
|||||||
containerInspect, err := ParseContainerInspect(inspectRes.Stdout())
|
containerInspect, err := ParseContainerInspect(inspectRes.Stdout())
|
||||||
assert.NilError(t, err)
|
assert.NilError(t, err)
|
||||||
assert.Equal(t, containerInspect.Platform, "Linux")
|
assert.Equal(t, containerInspect.Platform, "Linux")
|
||||||
assert.Equal(t, containerInspect.CPULimit, 0.1)
|
assert.Equal(t, containerInspect.HostConfig.CPULimit, 0.1)
|
||||||
assert.Equal(t, containerInspect.MemoryLimit, uint64(107374182))
|
assert.Equal(t, containerInspect.HostConfig.MemoryLimit, uint64(107374182))
|
||||||
assert.Equal(t, containerInspect.RestartPolicyCondition, containers.RestartPolicyOnFailure)
|
assert.Equal(t, containerInspect.HostConfig.RestartPolicy, containers.RestartPolicyOnFailure)
|
||||||
|
|
||||||
assert.Assert(t, is.Len(containerInspect.Ports, 1))
|
assert.Assert(t, is.Len(containerInspect.Ports, 1))
|
||||||
port := containerInspect.Ports[0]
|
port := containerInspect.Ports[0]
|
||||||
|
10
tests/e2e/testdata/inspect-id.golden
vendored
10
tests/e2e/testdata/inspect-id.golden
vendored
@ -4,11 +4,13 @@
|
|||||||
"Image": "nginx",
|
"Image": "nginx",
|
||||||
"Command": "",
|
"Command": "",
|
||||||
"CPUTime": 0,
|
"CPUTime": 0,
|
||||||
"CPULimit": 0,
|
|
||||||
"MemoryUsage": 0,
|
"MemoryUsage": 0,
|
||||||
"MemoryLimit": 0,
|
|
||||||
"PidsCurrent": 0,
|
"PidsCurrent": 0,
|
||||||
"PidsLimit": 0,
|
"PidsLimit": 0,
|
||||||
"Platform": "Linux",
|
"HostConfig": {
|
||||||
"RestartPolicyCondition": "none"
|
"RestartPolicy": "none",
|
||||||
|
"CPULimit": 0,
|
||||||
|
"MemoryLimit": 0
|
||||||
|
},
|
||||||
|
"Platform": "Linux"
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user