From cf5550c4260bcea0f733c7abfc6bdf0188357eea Mon Sep 17 00:00:00 2001 From: Vincent Demeester Date: Wed, 7 Jun 2017 17:02:46 +0200 Subject: [PATCH] Handle case of configs on old daemon If configs are declared for a service and pointing on an old daemon, error out properly (instead of "page not found"). If there is no configs declared, don't call convertServiceConfigObjs to avoid having an error. Signed-off-by: Vincent Demeester --- cli/command/service/parse.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/cli/command/service/parse.go b/cli/command/service/parse.go index f3c9306881..6f69cbb47f 100644 --- a/cli/command/service/parse.go +++ b/cli/command/service/parse.go @@ -12,6 +12,10 @@ import ( // ParseSecrets retrieves the secrets with the requested names and fills // secret IDs into the secret references. func ParseSecrets(client client.SecretAPIClient, requestedSecrets []*swarmtypes.SecretReference) ([]*swarmtypes.SecretReference, error) { + if len(requestedSecrets) == 0 { + return []*swarmtypes.SecretReference{}, nil + } + secretRefs := make(map[string]*swarmtypes.SecretReference) ctx := context.Background() @@ -61,6 +65,10 @@ func ParseSecrets(client client.SecretAPIClient, requestedSecrets []*swarmtypes. // ParseConfigs retrieves the configs from the requested names and converts // them to config references to use with the spec func ParseConfigs(client client.ConfigAPIClient, requestedConfigs []*swarmtypes.ConfigReference) ([]*swarmtypes.ConfigReference, error) { + if len(requestedConfigs) == 0 { + return []*swarmtypes.ConfigReference{}, nil + } + configRefs := make(map[string]*swarmtypes.ConfigReference) ctx := context.Background()