Get the real status of containers

This commit is contained in:
Djordje Lukic 2020-05-03 14:51:03 +02:00
parent 02526dec84
commit 885fd799e1
2 changed files with 16 additions and 9 deletions

View File

@ -53,7 +53,6 @@ func New(ctx context.Context) (containers.ContainerService, error) {
func (cs *containerService) List(ctx context.Context) ([]containers.Container, error) {
var cg []containerinstance.ContainerGroup
result, err := cs.cgc.ListByResourceGroup(ctx, cs.ctx.ResourceGroup)
if err != nil {
return []containers.Container{}, err
}
@ -67,12 +66,20 @@ func (cs *containerService) List(ctx context.Context) ([]containers.Container, e
res := []containers.Container{}
for _, c := range cg {
cc := *c.Containers
for _, d := range cc {
group, err := cs.cgc.Get(ctx, cs.ctx.ResourceGroup, *c.Name)
if err != nil {
return []containers.Container{}, err
}
for _, d := range *group.Containers {
status := "Unknown"
if d.InstanceView != nil && d.InstanceView.CurrentState != nil {
status = *d.InstanceView.CurrentState.State
}
res = append(res, containers.Container{
ID: *c.Name,
Image: *d.Image,
// Command: strings.Join(*d.ContainerProperties.Command, " "), // TODO command can be null
ID: *d.Name,
Image: *d.Image,
Status: status,
})
}
}

View File

@ -27,10 +27,10 @@ var PsCommand = cobra.Command{
}
w := tabwriter.NewWriter(os.Stdout, 0, 0, 2, ' ', 0)
fmt.Fprintf(w, "NAME\tIMAGE\tCOMMAND\n")
format := "%s\t%s\t%s\n"
fmt.Fprintf(w, "NAME\tIMAGE\tSTATUS\tCOMMAND\n")
format := "%s\t%s\t%s\t%s\n"
for _, c := range containers {
fmt.Fprintf(w, format, c.ID, c.Image, c.Command)
fmt.Fprintf(w, format, c.ID, c.Image, c.Status, c.Command)
}
return w.Flush()
},