mirror of https://github.com/docker/compose.git
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)}
|
||||
if envVars != nil {
|
||||
config.Env = envVars
|
||||
config := &containers.RuntimeConfig{
|
||||
FQDN: fqdn(cg, region),
|
||||
Env: envVars,
|
||||
}
|
||||
hostConfig := &containers.HostConfig{
|
||||
CPULimit: cpuLimit,
|
||||
MemoryLimit: uint64(memLimits),
|
||||
RestartPolicy: toContainerRestartPolicy(cg.RestartPolicy),
|
||||
}
|
||||
c := containers.Container{
|
||||
ID: containerID,
|
||||
Status: status,
|
||||
Image: to.String(cc.Image),
|
||||
Command: command,
|
||||
CPUTime: 0,
|
||||
CPULimit: cpuLimit,
|
||||
MemoryUsage: 0,
|
||||
MemoryLimit: uint64(memLimits),
|
||||
PidsCurrent: 0,
|
||||
PidsLimit: 0,
|
||||
Labels: nil,
|
||||
Ports: ToPorts(cg.IPAddress, *cc.Ports),
|
||||
Platform: platform,
|
||||
RestartPolicyCondition: toContainerRestartPolicy(cg.RestartPolicy),
|
||||
Config: config,
|
||||
ID: containerID,
|
||||
Status: status,
|
||||
Image: to.String(cc.Image),
|
||||
Command: command,
|
||||
CPUTime: 0,
|
||||
MemoryUsage: 0,
|
||||
PidsCurrent: 0,
|
||||
PidsLimit: 0,
|
||||
Ports: ToPorts(cg.IPAddress, *cc.Ports),
|
||||
Platform: platform,
|
||||
Config: config,
|
||||
HostConfig: hostConfig,
|
||||
}
|
||||
|
||||
return c
|
||||
|
|
|
@ -90,13 +90,11 @@ func TestContainerGroupToContainer(t *testing.T) {
|
|||
}
|
||||
|
||||
var expectedContainer = containers.Container{
|
||||
ID: "myContainerID",
|
||||
Status: "Running",
|
||||
Image: "sha256:666",
|
||||
Command: "mycommand",
|
||||
CPULimit: 3,
|
||||
MemoryLimit: 107374182,
|
||||
Platform: "Linux",
|
||||
ID: "myContainerID",
|
||||
Status: "Running",
|
||||
Image: "sha256:666",
|
||||
Command: "mycommand",
|
||||
Platform: "Linux",
|
||||
Ports: []containers.Port{{
|
||||
HostPort: uint32(80),
|
||||
ContainerPort: uint32(80),
|
||||
|
@ -106,7 +104,11 @@ func TestContainerGroupToContainer(t *testing.T) {
|
|||
Config: &containers.RuntimeConfig{
|
||||
FQDN: "myapp.eastus.azurecontainer.io",
|
||||
},
|
||||
RestartPolicyCondition: "any",
|
||||
HostConfig: &containers.HostConfig{
|
||||
CPULimit: 3,
|
||||
MemoryLimit: 107374182,
|
||||
RestartPolicy: "any",
|
||||
},
|
||||
}
|
||||
|
||||
container := ContainerGroupToContainer("myContainerID", myContainerGroup, myContainer, "eastus")
|
||||
|
|
|
@ -37,30 +37,35 @@ var RestartPolicyList = []string{RestartPolicyNone, RestartPolicyAny, RestartPol
|
|||
|
||||
// Container represents a created container
|
||||
type Container struct {
|
||||
ID string
|
||||
Status string
|
||||
Image string
|
||||
Command string
|
||||
CPUTime uint64
|
||||
CPULimit float64
|
||||
MemoryUsage uint64
|
||||
MemoryLimit uint64
|
||||
PidsCurrent uint64
|
||||
PidsLimit uint64
|
||||
Config *RuntimeConfig `json:",omitempty"`
|
||||
Labels []string `json:",omitempty"`
|
||||
Ports []Port `json:",omitempty"`
|
||||
Platform string
|
||||
RestartPolicyCondition string
|
||||
ID string
|
||||
Status string
|
||||
Image string
|
||||
Command string
|
||||
CPUTime uint64
|
||||
MemoryUsage uint64
|
||||
PidsCurrent uint64
|
||||
PidsLimit uint64
|
||||
Config *RuntimeConfig `json:",omitempty"`
|
||||
HostConfig *HostConfig `json:",omitempty"`
|
||||
Ports []Port `json:",omitempty"`
|
||||
Platform string
|
||||
}
|
||||
|
||||
// RuntimeConfig config of a created container
|
||||
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 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
|
||||
type Port struct {
|
||||
// HostPort is the port number on the host
|
||||
|
|
|
@ -4,11 +4,13 @@
|
|||
"Image": "nginx",
|
||||
"Command": "",
|
||||
"CPUTime": 0,
|
||||
"CPULimit": 0,
|
||||
"MemoryUsage": 0,
|
||||
"MemoryLimit": 0,
|
||||
"PidsCurrent": 0,
|
||||
"PidsLimit": 0,
|
||||
"Platform": "Linux",
|
||||
"RestartPolicyCondition": "none"
|
||||
"HostConfig": {
|
||||
"RestartPolicy": "none",
|
||||
"CPULimit": 0,
|
||||
"MemoryLimit": 0
|
||||
},
|
||||
"Platform": "Linux"
|
||||
}
|
||||
|
|
|
@ -71,7 +71,9 @@ func (cs *containerService) Inspect(ctx context.Context, id string) (containers.
|
|||
ID: "id",
|
||||
Image: "nginx",
|
||||
Platform: "Linux",
|
||||
RestartPolicyCondition: "none",
|
||||
HostConfig: &containers.HostConfig{
|
||||
RestartPolicy: "none",
|
||||
},
|
||||
}, nil
|
||||
}
|
||||
|
||||
|
|
|
@ -128,14 +128,14 @@ func toGrpcContainer(c containers.Container) *containersv1.Container {
|
|||
Command: c.Command,
|
||||
CpuTime: c.CPUTime,
|
||||
MemoryUsage: c.MemoryUsage,
|
||||
MemoryLimit: c.MemoryLimit,
|
||||
MemoryLimit: c.HostConfig.MemoryLimit,
|
||||
Platform: c.Platform,
|
||||
PidsCurrent: c.PidsCurrent,
|
||||
PidsLimit: c.PidsLimit,
|
||||
Labels: c.Labels,
|
||||
Labels: c.Config.Labels,
|
||||
Ports: portsToGrpc(c.Ports),
|
||||
CpuLimit: uint64(c.CPULimit),
|
||||
RestartPolicyCondition: c.RestartPolicyCondition,
|
||||
CpuLimit: uint64(c.HostConfig.CPULimit),
|
||||
RestartPolicyCondition: c.HostConfig.RestartPolicy,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -249,8 +249,8 @@ func TestRunVolume(t *testing.T) {
|
|||
containerInspect, err := ParseContainerInspect(res.Stdout())
|
||||
assert.NilError(t, err)
|
||||
assert.Equal(t, containerInspect.Platform, "Linux")
|
||||
assert.Equal(t, containerInspect.CPULimit, 1.0)
|
||||
assert.Equal(t, containerInspect.RestartPolicyCondition, containers.RestartPolicyNone)
|
||||
assert.Equal(t, containerInspect.HostConfig.CPULimit, 1.0)
|
||||
assert.Equal(t, containerInspect.HostConfig.RestartPolicy, containers.RestartPolicyNone)
|
||||
|
||||
assert.Assert(t, is.Len(containerInspect.Ports, 1))
|
||||
hostIP = containerInspect.Ports[0].HostIP
|
||||
|
@ -395,9 +395,9 @@ func TestContainerRunAttached(t *testing.T) {
|
|||
containerInspect, err := ParseContainerInspect(inspectRes.Stdout())
|
||||
assert.NilError(t, err)
|
||||
assert.Equal(t, containerInspect.Platform, "Linux")
|
||||
assert.Equal(t, containerInspect.CPULimit, 0.1)
|
||||
assert.Equal(t, containerInspect.MemoryLimit, uint64(107374182))
|
||||
assert.Equal(t, containerInspect.RestartPolicyCondition, containers.RestartPolicyOnFailure)
|
||||
assert.Equal(t, containerInspect.HostConfig.CPULimit, 0.1)
|
||||
assert.Equal(t, containerInspect.HostConfig.MemoryLimit, uint64(107374182))
|
||||
assert.Equal(t, containerInspect.HostConfig.RestartPolicy, containers.RestartPolicyOnFailure)
|
||||
|
||||
assert.Assert(t, is.Len(containerInspect.Ports, 1))
|
||||
port := containerInspect.Ports[0]
|
||||
|
|
|
@ -4,11 +4,13 @@
|
|||
"Image": "nginx",
|
||||
"Command": "",
|
||||
"CPUTime": 0,
|
||||
"CPULimit": 0,
|
||||
"MemoryUsage": 0,
|
||||
"MemoryLimit": 0,
|
||||
"PidsCurrent": 0,
|
||||
"PidsLimit": 0,
|
||||
"Platform": "Linux",
|
||||
"RestartPolicyCondition": "none"
|
||||
"HostConfig": {
|
||||
"RestartPolicy": "none",
|
||||
"CPULimit": 0,
|
||||
"MemoryLimit": 0
|
||||
},
|
||||
"Platform": "Linux"
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue