summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor Vieux <vieux@docker.com>2016-06-12 03:44:51 -0700
committerTonis Tiigi <tonistiigi@gmail.com>2016-06-13 18:24:17 -0700
commit3d7b63a98fbcd2ac505ba5747275bdc2bec25306 (patch)
treef7323f8077b84091af75290882a1e0b6e3259f20
parentb4ba9c6f444ca9ec340152b96e12ecd3f0c6e354 (diff)
downloaddocker-3d7b63a98fbcd2ac505ba5747275bdc2bec25306.tar.gz
cli
Signed-off-by: Victor Vieux <vieux@docker.com>
-rw-r--r--api/client/node/opts.go10
-rw-r--r--api/client/service/inspect.go4
-rw-r--r--api/client/service/list.go4
-rw-r--r--api/client/service/opts.go32
-rw-r--r--api/client/service/scale.go4
-rw-r--r--api/client/service/update.go18
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
}