diff options
author | Victor Vieux <vieux@docker.com> | 2016-06-12 03:44:51 -0700 |
---|---|---|
committer | Tonis Tiigi <tonistiigi@gmail.com> | 2016-06-13 18:24:17 -0700 |
commit | 3d7b63a98fbcd2ac505ba5747275bdc2bec25306 (patch) | |
tree | f7323f8077b84091af75290882a1e0b6e3259f20 | |
parent | b4ba9c6f444ca9ec340152b96e12ecd3f0c6e354 (diff) | |
download | docker-3d7b63a98fbcd2ac505ba5747275bdc2bec25306.tar.gz |
cli
Signed-off-by: Victor Vieux <vieux@docker.com>
-rw-r--r-- | api/client/node/opts.go | 10 | ||||
-rw-r--r-- | api/client/service/inspect.go | 4 | ||||
-rw-r--r-- | api/client/service/list.go | 4 | ||||
-rw-r--r-- | api/client/service/opts.go | 32 | ||||
-rw-r--r-- | api/client/service/scale.go | 4 | ||||
-rw-r--r-- | api/client/service/update.go | 18 |
6 files changed, 33 insertions, 39 deletions
diff --git a/api/client/node/opts.go b/api/client/node/opts.go index 565afa4b0a..cd160252d9 100644 --- a/api/client/node/opts.go +++ b/api/client/node/opts.go @@ -16,7 +16,7 @@ type nodeOptions struct { func (opts *nodeOptions) ToNodeSpec() (swarm.NodeSpec, error) { var spec swarm.NodeSpec - switch swarm.NodeRole(strings.ToUpper(opts.role)) { + switch swarm.NodeRole(strings.ToLower(opts.role)) { case swarm.NodeRoleWorker: spec.Role = swarm.NodeRoleWorker case swarm.NodeRoleManager: @@ -26,17 +26,15 @@ func (opts *nodeOptions) ToNodeSpec() (swarm.NodeSpec, error) { return swarm.NodeSpec{}, fmt.Errorf("invalid role %q, only worker and manager are supported", opts.role) } - switch swarm.NodeMembership(strings.ToUpper(opts.membership)) { + switch swarm.NodeMembership(strings.ToLower(opts.membership)) { case swarm.NodeMembershipAccepted: spec.Membership = swarm.NodeMembershipAccepted - case swarm.NodeMembershipRejected: - spec.Membership = swarm.NodeMembershipRejected case "": default: - return swarm.NodeSpec{}, fmt.Errorf("invalid membership %q, only accepted and rejected are supported", opts.membership) + return swarm.NodeSpec{}, fmt.Errorf("invalid membership %q, only accepted is supported", opts.membership) } - switch swarm.NodeAvailability(strings.ToUpper(opts.availability)) { + switch swarm.NodeAvailability(strings.ToLower(opts.availability)) { case swarm.NodeAvailabilityActive: spec.Availability = swarm.NodeAvailabilityActive case swarm.NodeAvailabilityPause: diff --git a/api/client/service/inspect.go b/api/client/service/inspect.go index 82eb68306c..a75e4e7cc1 100644 --- a/api/client/service/inspect.go +++ b/api/client/service/inspect.go @@ -96,7 +96,9 @@ func printService(out io.Writer, service swarm.Service) { fmt.Fprintln(out, "Mode:\t\tGLOBAL") } else { fmt.Fprintln(out, "Mode:\t\tREPLICATED") - fmt.Fprintf(out, " Scale:\t\t%d\n", *service.Spec.Mode.Replicated.Instances) + if service.Spec.Mode.Replicated.Replicas != nil { + fmt.Fprintf(out, " Replicas:\t\t%d\n", *service.Spec.Mode.Replicated.Replicas) + } } fmt.Fprintln(out, "Placement:") fmt.Fprintln(out, " Strategy:\tSPREAD") diff --git a/api/client/service/list.go b/api/client/service/list.go index 5c00469964..bf4a46a7d4 100644 --- a/api/client/service/list.go +++ b/api/client/service/list.go @@ -74,8 +74,8 @@ func printTable(out io.Writer, services []swarm.Service) { fmt.Fprintf(writer, listItemFmt, "ID", "NAME", "SCALE", "IMAGE", "COMMAND") for _, service := range services { scale := "" - if service.Spec.Mode.Replicated != nil { - scale = fmt.Sprintf("%d", *service.Spec.Mode.Replicated.Instances) + if service.Spec.Mode.Replicated != nil && service.Spec.Mode.Replicated.Replicas != nil { + scale = fmt.Sprintf("%d", *service.Spec.Mode.Replicated.Replicas) } else if service.Spec.Mode.Global != nil { scale = "global" } diff --git a/api/client/service/opts.go b/api/client/service/opts.go index 3b1c87d208..59da31ba35 100644 --- a/api/client/service/opts.go +++ b/api/client/service/opts.go @@ -4,6 +4,7 @@ import ( "fmt" "math/big" "strconv" + "strings" "time" "github.com/docker/docker/opts" @@ -16,8 +17,8 @@ import ( ) var ( - // DefaultScale is the default scale to use for a replicated service - DefaultScale uint64 = 1 + // DefaultReplicas is the default replicas to use for a replicated service + DefaultReplicas uint64 = 1 ) type int64Value interface { @@ -182,9 +183,8 @@ func convertNetworks(networks []string) []swarm.NetworkAttachmentConfig { } type endpointOptions struct { - mode string - ingress string - ports opts.ListOpts + mode string + ports opts.ListOpts } func (e *endpointOptions) ToEndpointSpec() *swarm.EndpointSpec { @@ -197,9 +197,8 @@ func (e *endpointOptions) ToEndpointSpec() *swarm.EndpointSpec { } return &swarm.EndpointSpec{ - Mode: swarm.ResolutionMode(e.mode), - Ingress: swarm.IngressRouting(e.ingress), - ExposedPorts: portConfigs, + Mode: swarm.ResolutionMode(e.mode), + Ports: portConfigs, } } @@ -213,9 +212,9 @@ func convertPortToPortConfig( hostPort, _ := strconv.ParseUint(binding.HostPort, 10, 16) ports = append(ports, swarm.PortConfig{ //TODO Name: ? - Protocol: swarm.PortConfigProtocol(port.Proto()), - Port: uint32(port.Int()), - SwarmPort: uint32(hostPort), + Protocol: swarm.PortConfigProtocol(strings.ToLower(port.Proto())), + TargetPort: uint32(port.Int()), + PublishedPort: uint32(hostPort), }) } return ports @@ -271,8 +270,8 @@ type serviceOptions struct { resources resourceOptions stopGrace DurationOpt - scale Uint64Opt - mode string + replicas Uint64Opt + mode string restartPolicy restartPolicyOptions constraints []string @@ -324,12 +323,12 @@ func (opts *serviceOptions) ToService() swarm.ServiceSpec { EndpointSpec: opts.endpoint.ToEndpointSpec(), } - // TODO: add error if both global and instances are specified or if invalid value + // TODO: add error if both global and replicas are specified or if invalid value if opts.mode == "global" { service.Mode.Global = &swarm.GlobalService{} } else { service.Mode.Replicated = &swarm.ReplicatedService{ - Instances: opts.scale.Value(), + Replicas: opts.replicas.Value(), } } return service @@ -354,7 +353,7 @@ func addServiceFlags(cmd *cobra.Command, opts *serviceOptions) { flags.Var(&opts.stopGrace, "stop-grace-period", "Time to wait before force killing a container") flags.StringVar(&opts.mode, "mode", "replicated", "Service mode (replicated or global)") - flags.Var(&opts.scale, "scale", "Number of tasks") + flags.Var(&opts.replicas, "replicas", "Number of tasks") flags.StringVar(&opts.restartPolicy.condition, "restart-condition", "", "Restart when condition is met (none, on_failure, or any)") flags.Var(&opts.restartPolicy.delay, "restart-delay", "Delay between restart attempts") @@ -368,6 +367,5 @@ func addServiceFlags(cmd *cobra.Command, opts *serviceOptions) { flags.StringSliceVar(&opts.networks, "network", []string{}, "Network attachments") flags.StringVar(&opts.endpoint.mode, "endpoint-mode", "", "Endpoint mode(Valid values: VIP, DNSRR)") - flags.StringVar(&opts.endpoint.ingress, "endpoint-ingress", "", "Endpoint ingress(Valid values: SWARMPORT, DISABLED)") flags.VarP(&opts.endpoint.ports, "publish", "p", "Publish a port as a node port") } diff --git a/api/client/service/scale.go b/api/client/service/scale.go index 9520177ba4..ae528b55d3 100644 --- a/api/client/service/scale.go +++ b/api/client/service/scale.go @@ -72,9 +72,9 @@ func runServiceScale(dockerCli *client.DockerCli, serviceID string, scale string } uintScale, err := strconv.ParseUint(scale, 10, 64) if err != nil { - return fmt.Errorf("invalid scale value %s: %s", scale, err.Error()) + return fmt.Errorf("invalid replicas value %s: %s", scale, err.Error()) } - serviceMode.Replicated.Instances = &uintScale + serviceMode.Replicated.Replicas = &uintScale err = client.ServiceUpdate(ctx, service.ID, service.Version, service.Spec) if err != nil { diff --git a/api/client/service/update.go b/api/client/service/update.go index 8df03ac238..52e05c7b92 100644 --- a/api/client/service/update.go +++ b/api/client/service/update.go @@ -150,12 +150,8 @@ func mergeService(spec *swarm.ServiceSpec, flags *pflag.FlagSet) error { value, _ := flags.GetString("endpoint-mode") spec.EndpointSpec.Mode = swarm.ResolutionMode(value) } - if flags.Changed("endpoint-ingress") { - value, _ := flags.GetString("endpoint-ingress") - spec.EndpointSpec.Ingress = swarm.IngressRouting(value) - } - mergePorts(flags, &spec.EndpointSpec.ExposedPorts) + mergePorts(flags, &spec.EndpointSpec.Ports) return nil } @@ -219,8 +215,8 @@ func mergeMode(flags *pflag.FlagSet, serviceMode *swarm.ServiceMode) error { mode, _ = flags.GetString("mode") } - if !(mode == "replicated" || serviceMode.Replicated != nil) && flags.Changed("scale") { - return fmt.Errorf("scale can only be used with replicated mode") + if !(mode == "replicated" || serviceMode.Replicated != nil) && flags.Changed("replicas") { + return fmt.Errorf("replicas can only be used with replicated mode") } if mode == "global" { @@ -229,9 +225,9 @@ func mergeMode(flags *pflag.FlagSet, serviceMode *swarm.ServiceMode) error { return nil } - if flags.Changed("scale") { - scale := flags.Lookup("scale").Value.(*Uint64Opt).Value() - serviceMode.Replicated = &swarm.ReplicatedService{Instances: scale} + if flags.Changed("replicas") { + replicas := flags.Lookup("replicas").Value.(*Uint64Opt).Value() + serviceMode.Replicated = &swarm.ReplicatedService{Replicas: replicas} serviceMode.Global = nil return nil } @@ -240,7 +236,7 @@ func mergeMode(flags *pflag.FlagSet, serviceMode *swarm.ServiceMode) error { if serviceMode.Replicated != nil { return nil } - serviceMode.Replicated = &swarm.ReplicatedService{Instances: &DefaultScale} + serviceMode.Replicated = &swarm.ReplicatedService{Replicas: &DefaultReplicas} serviceMode.Global = nil } |