15003: Update doc comment on Map, and use it in lib/service.
authorTom Clegg <tclegg@veritasgenetics.com>
Fri, 31 May 2019 17:28:03 +0000 (13:28 -0400)
committerTom Clegg <tclegg@veritasgenetics.com>
Fri, 31 May 2019 17:28:03 +0000 (13:28 -0400)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tclegg@veritasgenetics.com>

lib/service/cmd.go
sdk/go/arvados/config.go

index 56ccd888379805a59f97e871a38a8a3f662fcc91..94021163e469fd87c6eb58dc29041ba00b95b65a 100644 (file)
@@ -145,16 +145,7 @@ func (c *command) RunCommand(prog string, args []string, stdin io.Reader, stdout
 const rfc3339NanoFixed = "2006-01-02T15:04:05.000000000Z07:00"
 
 func getListenAddr(svcs arvados.Services, prog arvados.ServiceName) (string, error) {
-       svc, ok := map[arvados.ServiceName]arvados.Service{
-               arvados.ServiceNameController:    svcs.Controller,
-               arvados.ServiceNameDispatchCloud: svcs.DispatchCloud,
-               arvados.ServiceNameHealth:        svcs.Health,
-               arvados.ServiceNameKeepbalance:   svcs.Keepbalance,
-               arvados.ServiceNameKeepproxy:     svcs.Keepproxy,
-               arvados.ServiceNameKeepstore:     svcs.Keepstore,
-               arvados.ServiceNameKeepweb:       svcs.WebDAV,
-               arvados.ServiceNameWebsocket:     svcs.Websocket,
-       }[prog]
+       svc, ok := svcs.Map()[prog]
        if !ok {
                return "", fmt.Errorf("unknown service name %q", prog)
        }
index 4936aa270be23e6855d6431d972cc425750f8486..275eb9e1905262fb970f2db5ad6e33ea5ba96757 100644 (file)
@@ -249,8 +249,8 @@ const (
        ServiceNameKeepstore     ServiceName = "keepstore"
 )
 
-// ServicePorts returns the configured listening address (or "" if
-// disabled) for each service on the node.
+// Map returns all services as a map, suitable for iterating over all
+// services or looking up a service by name.
 func (svcs Services) Map() map[ServiceName]Service {
        return map[ServiceName]Service{
                ServiceNameRailsAPI:      svcs.RailsAPI,