Skip to content

Commit

Permalink
post rebase fixes
Browse files Browse the repository at this point in the history
Signed-off-by: Simon Ferquel <simon.ferquel@docker.com>
  • Loading branch information
simonferquel committed Nov 2, 2017
1 parent e194773 commit ee86d46
Show file tree
Hide file tree
Showing 157 changed files with 4,201 additions and 861 deletions.
38 changes: 34 additions & 4 deletions cli/command/service/opts.go
Original file line number Diff line number Diff line change
Expand Up @@ -457,6 +457,36 @@ func convertExtraHostsToSwarmHosts(extraHosts []string) []string {
return hosts
}

type isolationOpts struct {
value *container.Isolation
source string
}

func (o *isolationOpts) Set(value string) error {
o.source = value
tv := container.Isolation(value)
if tv.IsDefault() || tv.IsHyperV() || tv.IsProcess() {
o.value = &tv
return nil
}
return fmt.Errorf("Unknown isolation mode %s. Valid values are %v, %v, %v", value, container.IsolationDefault, container.IsolationProcess, container.IsolationHyperV)
}

func (o *isolationOpts) Type() string {
return "isolation"
}

func (o *isolationOpts) String() string {
return o.source
}

func (o *isolationOpts) Value() container.Isolation {
if o.value == nil {
return container.IsolationEmpty
}
return *o.value
}

type serviceOptions struct {
detach bool
quiet bool
Expand Down Expand Up @@ -506,7 +536,7 @@ type serviceOptions struct {
secrets opts.SecretOpt
configs opts.ConfigOpt

isolation string
isolation isolationOpts
}

func newServiceOptions() *serviceOptions {
Expand Down Expand Up @@ -616,7 +646,7 @@ func (options *serviceOptions) ToService(ctx context.Context, apiClient client.N
Hosts: convertExtraHostsToSwarmHosts(options.hosts.GetAll()),
StopGracePeriod: options.ToStopGracePeriod(flags),
Healthcheck: healthConfig,
Isolation: options.isolation,
Isolation: options.isolation.Value(),
},
Networks: networks,
Resources: options.resources.ToResourceRequirements(),
Expand Down Expand Up @@ -787,8 +817,8 @@ func addServiceFlags(flags *pflag.FlagSet, opts *serviceOptions, defaultFlagValu

flags.StringVar(&opts.stopSignal, flagStopSignal, "", "Signal to stop the container")
flags.SetAnnotation(flagStopSignal, "version", []string{"1.28"})
flags.StringVar(&opts.isolation, flagIsolation, "", "defines the isolation mode (hyperv, process)")
flags.SetAnnotation(flagIsolation, "version", []string{"1.32"})
flags.Var(&opts.isolation, flagIsolation, "defines the isolation mode (hyperv, process)")
flags.SetAnnotation(flagIsolation, "version", []string{"1.35"})
}

const (
Expand Down
17 changes: 16 additions & 1 deletion cli/command/service/update.go
Original file line number Diff line number Diff line change
Expand Up @@ -269,6 +269,19 @@ func updateService(ctx context.Context, apiClient client.NetworkAPIClient, flags
}
}

updateIsolation := func(flag string, field *container.Isolation) error {
if flags.Changed(flag) {
o := isolationOpts{}
val := flags.Lookup(flag).Value.String()
err := o.Set(val)
if err != nil {
return err
}
*field = o.Value()
}
return nil
}

cspec := spec.TaskTemplate.ContainerSpec
task := &spec.TaskTemplate

Expand All @@ -288,7 +301,9 @@ func updateService(ctx context.Context, apiClient client.NetworkAPIClient, flags
updateString(flagWorkdir, &cspec.Dir)
updateString(flagUser, &cspec.User)
updateString(flagHostname, &cspec.Hostname)
updateString(flagIsolation, &cspec.Isolation)
if err := updateIsolation(flagIsolation, &cspec.Isolation); err != nil {
return err
}
if err := updateMounts(flags, &cspec.Mounts); err != nil {
return err
}
Expand Down
7 changes: 6 additions & 1 deletion cli/compose/convert/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,11 @@ func Service(
}
}

isolation := container.Isolation(service.Isolation)
if !isolation.IsDefault() && !isolation.IsHyperV() && !isolation.IsProcess() {
return swarm.ServiceSpec{}, fmt.Errorf("Unsupported isolation %s. Valid values are %s, %s, %s", isolation, container.IsolationDefault, container.IsolationProcess, container.IsolationHyperV)
}

serviceSpec := swarm.ServiceSpec{
Annotations: swarm.Annotations{
Name: name,
Expand Down Expand Up @@ -149,7 +154,7 @@ func Service(
Configs: configs,
ReadOnly: service.ReadOnly,
Privileges: &privileges,
Isolation: service.Isolation,
Isolation: isolation,
},
LogDriver: logDriver,
Resources: resources,
Expand Down
4 changes: 2 additions & 2 deletions cli/compose/convert/service_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -375,11 +375,11 @@ func TestConvertUpdateConfigOrder(t *testing.T) {

func TestIsolation(t *testing.T) {
src := composetypes.ServiceConfig{
Isolation: "test",
Isolation: "hyperv",
}
result, err := Service("1.32", Namespace{name: "foo"}, src, nil, nil, nil, nil)
if err != nil {
t.Fatal(err)
}
assert.Equal(t, "test", result.TaskTemplate.ContainerSpec.Isolation)
assert.Equal(t, container.IsolationHyperV, result.TaskTemplate.ContainerSpec.Isolation)
}
2 changes: 1 addition & 1 deletion cli/trust/trust.go
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ func GetNotaryRepository(in io.Reader, out io.Writer, userAgent string, repoInfo
}

// Skip configuration headers since request is not going to Docker daemon
modifiers := registry.DockerHeaders(userAgent, http.Header{})
modifiers := registry.Headers(userAgent, http.Header{})
authTransport := transport.NewTransport(base, modifiers...)
pingClient := &http.Client{
Transport: authTransport,
Expand Down
7 changes: 1 addition & 6 deletions vendor.conf
Original file line number Diff line number Diff line change
Expand Up @@ -47,13 +47,8 @@ github.com/xeipuuv/gojsonschema 93e72a773fade158921402d6a24c819b48aba29d
golang.org/x/crypto 558b6879de74bc843225cde5686419267ff707ca
golang.org/x/net 7dcfb8076726a3fdd9353b6b8a1f1b6be6811bd6
golang.org/x/sync 450f422ab23cf9881c94e2db30cac0eb1b7cf80c
<<<<<<< HEAD
golang.org/x/sys 07c182904dbd53199946ba614a412c61d3c548f5
golang.org/x/sys 95c6576299259db960f6c5b9b69ea52422860fce
golang.org/x/text 825fc78a2fd6fa0a5447e300189e3219e05e1f25
=======
golang.org/x/sys 07c182904dbd53199946ba614a412c61d3c548f5
golang.org/x/text f72d8390a633d5dfb0cc84043294db9f6c935756
>>>>>>> Vendoring update
golang.org/x/time a4bde12657593d5e90d0533a3e4fd95e635124cb
google.golang.org/genproto d80a6e20e776b0b17a324d0ba1ab50a39c8e8944
google.golang.org/grpc v1.3.0
Expand Down
3 changes: 0 additions & 3 deletions vendor/golang.org/x/sys/README

This file was deleted.

18 changes: 18 additions & 0 deletions vendor/golang.org/x/sys/README.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

24 changes: 24 additions & 0 deletions vendor/golang.org/x/sys/unix/dev_darwin.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

30 changes: 30 additions & 0 deletions vendor/golang.org/x/sys/unix/dev_dragonfly.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

30 changes: 30 additions & 0 deletions vendor/golang.org/x/sys/unix/dev_freebsd.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions vendor/golang.org/x/sys/unix/dev_linux.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

29 changes: 29 additions & 0 deletions vendor/golang.org/x/sys/unix/dev_netbsd.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

29 changes: 29 additions & 0 deletions vendor/golang.org/x/sys/unix/dev_openbsd.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion vendor/golang.org/x/sys/unix/env_unix.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion vendor/golang.org/x/sys/unix/env_unset.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions vendor/golang.org/x/sys/unix/gccgo.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion vendor/golang.org/x/sys/unix/gccgo_c.c

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 0 additions & 20 deletions vendor/golang.org/x/sys/unix/gccgo_linux_sparc64.go

This file was deleted.

Loading

0 comments on commit ee86d46

Please sign in to comment.