Add Sandbox ID to `service ls` output
Currently ther `service ls` output does not show the sandbox ID. This adds that to the output so that it can be used in dnet program. Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
This commit is contained in:
parent
24f1845a18
commit
50ec2d3a50
|
@ -236,21 +236,22 @@ func (cli *NetworkCli) CmdServiceLs(chain string, args ...string) error {
|
||||||
wr := tabwriter.NewWriter(cli.out, 20, 1, 3, ' ', 0)
|
wr := tabwriter.NewWriter(cli.out, 20, 1, 3, ' ', 0)
|
||||||
// unless quiet (-q) is specified, print field titles
|
// unless quiet (-q) is specified, print field titles
|
||||||
if !*quiet {
|
if !*quiet {
|
||||||
fmt.Fprintln(wr, "SERVICE ID\tNAME\tNETWORK\tCONTAINER")
|
fmt.Fprintln(wr, "SERVICE ID\tNAME\tNETWORK\tCONTAINER\tSANDBOX")
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, sr := range serviceResources {
|
for _, sr := range serviceResources {
|
||||||
ID := sr.ID
|
ID := sr.ID
|
||||||
bkID, err := getBackendID(cli, ID)
|
bkID, sbID, err := getBackendID(cli, ID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if !*noTrunc {
|
if !*noTrunc {
|
||||||
ID = stringid.TruncateID(ID)
|
ID = stringid.TruncateID(ID)
|
||||||
bkID = stringid.TruncateID(bkID)
|
bkID = stringid.TruncateID(bkID)
|
||||||
|
sbID = stringid.TruncateID(sbID)
|
||||||
}
|
}
|
||||||
if !*quiet {
|
if !*quiet {
|
||||||
fmt.Fprintf(wr, "%s\t%s\t%s\t%s\n", ID, sr.Name, sr.Network, bkID)
|
fmt.Fprintf(wr, "%s\t%s\t%s\t%s\t%s\n", ID, sr.Name, sr.Network, bkID, sbID)
|
||||||
} else {
|
} else {
|
||||||
fmt.Fprintln(wr, ID)
|
fmt.Fprintln(wr, ID)
|
||||||
}
|
}
|
||||||
|
@ -260,24 +261,26 @@ func (cli *NetworkCli) CmdServiceLs(chain string, args ...string) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func getBackendID(cli *NetworkCli, servID string) (string, error) {
|
func getBackendID(cli *NetworkCli, servID string) (string, string, error) {
|
||||||
var (
|
var (
|
||||||
obj []byte
|
obj []byte
|
||||||
err error
|
err error
|
||||||
bk string
|
bk string
|
||||||
|
sb string
|
||||||
)
|
)
|
||||||
|
|
||||||
if obj, _, err = readBody(cli.call("GET", "/services/"+servID+"/backend", nil, nil)); err == nil {
|
if obj, _, err = readBody(cli.call("GET", "/services/"+servID+"/backend", nil, nil)); err == nil {
|
||||||
var sr SandboxResource
|
var sr SandboxResource
|
||||||
if err := json.NewDecoder(bytes.NewReader(obj)).Decode(&sr); err == nil {
|
if err := json.NewDecoder(bytes.NewReader(obj)).Decode(&sr); err == nil {
|
||||||
bk = sr.ContainerID
|
bk = sr.ContainerID
|
||||||
|
sb = sr.ID
|
||||||
} else {
|
} else {
|
||||||
// Only print a message, don't make the caller cli fail for this
|
// Only print a message, don't make the caller cli fail for this
|
||||||
fmt.Fprintf(cli.out, "Failed to retrieve backend list for service %s (%v)\n", servID, err)
|
fmt.Fprintf(cli.out, "Failed to retrieve backend list for service %s (%v)\n", servID, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return bk, err
|
return bk, sb, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// CmdServiceInfo handles service info UI
|
// CmdServiceInfo handles service info UI
|
||||||
|
|
Loading…
Reference in New Issue