daemon/config: remove CommonUnixConfig type
This type was added to support Solaris (which didn't support these options). Solaris support was removed, so we can integrate this type back into the "unix" type. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
parent
defeab7387
commit
9d9679975f
4 changed files with 67 additions and 90 deletions
|
@ -1,67 +0,0 @@
|
|||
// +build linux freebsd
|
||||
|
||||
package config // import "github.com/docker/docker/daemon/config"
|
||||
|
||||
import (
|
||||
"github.com/docker/docker/api/types"
|
||||
)
|
||||
|
||||
// CommonUnixConfig defines configuration of a docker daemon that is
|
||||
// common across Unix platforms.
|
||||
type CommonUnixConfig struct {
|
||||
Runtimes map[string]types.Runtime `json:"runtimes,omitempty"`
|
||||
DefaultRuntime string `json:"default-runtime,omitempty"`
|
||||
DefaultInitBinary string `json:"default-init,omitempty"`
|
||||
}
|
||||
|
||||
// GetRuntime returns the runtime path and arguments for a given
|
||||
// runtime name
|
||||
func (conf *Config) GetRuntime(name string) *types.Runtime {
|
||||
conf.Lock()
|
||||
defer conf.Unlock()
|
||||
if rt, ok := conf.Runtimes[name]; ok {
|
||||
return &rt
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// GetDefaultRuntimeName returns the current default runtime
|
||||
func (conf *Config) GetDefaultRuntimeName() string {
|
||||
conf.Lock()
|
||||
rt := conf.DefaultRuntime
|
||||
conf.Unlock()
|
||||
|
||||
return rt
|
||||
}
|
||||
|
||||
// GetAllRuntimes returns a copy of the runtimes map
|
||||
func (conf *Config) GetAllRuntimes() map[string]types.Runtime {
|
||||
conf.Lock()
|
||||
rts := conf.Runtimes
|
||||
conf.Unlock()
|
||||
return rts
|
||||
}
|
||||
|
||||
// GetExecRoot returns the user configured Exec-root
|
||||
func (conf *Config) GetExecRoot() string {
|
||||
return conf.ExecRoot
|
||||
}
|
||||
|
||||
// GetInitPath returns the configured docker-init path
|
||||
func (conf *Config) GetInitPath() string {
|
||||
conf.Lock()
|
||||
defer conf.Unlock()
|
||||
if conf.InitPath != "" {
|
||||
return conf.InitPath
|
||||
}
|
||||
if conf.DefaultInitBinary != "" {
|
||||
return conf.DefaultInitBinary
|
||||
}
|
||||
return DefaultInitBinary
|
||||
}
|
||||
|
||||
// GetResolvConf returns the appropriate resolv.conf
|
||||
// Check setupResolvConf on how this is selected
|
||||
func (conf *Config) GetResolvConf() string {
|
||||
return conf.ResolvConf
|
||||
}
|
|
@ -8,29 +8,25 @@ import (
|
|||
"github.com/docker/docker/api/types"
|
||||
)
|
||||
|
||||
func TestCommonUnixValidateConfigurationErrors(t *testing.T) {
|
||||
func TestUnixValidateConfigurationErrors(t *testing.T) {
|
||||
testCases := []struct {
|
||||
config *Config
|
||||
}{
|
||||
// Can't override the stock runtime
|
||||
{
|
||||
config: &Config{
|
||||
CommonUnixConfig: CommonUnixConfig{
|
||||
Runtimes: map[string]types.Runtime{
|
||||
StockRuntimeName: {},
|
||||
},
|
||||
Runtimes: map[string]types.Runtime{
|
||||
StockRuntimeName: {},
|
||||
},
|
||||
},
|
||||
},
|
||||
// Default runtime should be present in runtimes
|
||||
{
|
||||
config: &Config{
|
||||
CommonUnixConfig: CommonUnixConfig{
|
||||
Runtimes: map[string]types.Runtime{
|
||||
"foo": {},
|
||||
},
|
||||
DefaultRuntime: "bar",
|
||||
Runtimes: map[string]types.Runtime{
|
||||
"foo": {},
|
||||
},
|
||||
DefaultRuntime: "bar",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
@ -42,7 +38,7 @@ func TestCommonUnixValidateConfigurationErrors(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestCommonUnixGetInitPath(t *testing.T) {
|
||||
func TestUnixGetInitPath(t *testing.T) {
|
||||
testCases := []struct {
|
||||
config *Config
|
||||
expectedInitPath string
|
||||
|
@ -55,18 +51,14 @@ func TestCommonUnixGetInitPath(t *testing.T) {
|
|||
},
|
||||
{
|
||||
config: &Config{
|
||||
CommonUnixConfig: CommonUnixConfig{
|
||||
DefaultInitBinary: "foo-init-bin",
|
||||
},
|
||||
DefaultInitBinary: "foo-init-bin",
|
||||
},
|
||||
expectedInitPath: "foo-init-bin",
|
||||
},
|
||||
{
|
||||
config: &Config{
|
||||
InitPath: "init-path-A",
|
||||
CommonUnixConfig: CommonUnixConfig{
|
||||
DefaultInitBinary: "init-path-B",
|
||||
},
|
||||
InitPath: "init-path-A",
|
||||
DefaultInitBinary: "init-path-B",
|
||||
},
|
||||
expectedInitPath: "init-path-A",
|
||||
},
|
||||
|
|
|
@ -6,6 +6,7 @@ import (
|
|||
"fmt"
|
||||
"net"
|
||||
|
||||
"github.com/docker/docker/api/types"
|
||||
containertypes "github.com/docker/docker/api/types/container"
|
||||
"github.com/docker/docker/opts"
|
||||
units "github.com/docker/go-units"
|
||||
|
@ -44,9 +45,10 @@ type BridgeConfig struct {
|
|||
type Config struct {
|
||||
CommonConfig
|
||||
|
||||
// These fields are common to all unix platforms.
|
||||
CommonUnixConfig
|
||||
// Fields below here are platform specific.
|
||||
Runtimes map[string]types.Runtime `json:"runtimes,omitempty"`
|
||||
DefaultRuntime string `json:"default-runtime,omitempty"`
|
||||
DefaultInitBinary string `json:"default-init,omitempty"`
|
||||
CgroupParent string `json:"cgroup-parent,omitempty"`
|
||||
EnableSelinuxSupport bool `json:"selinux-enabled,omitempty"`
|
||||
RemappedRoot string `json:"userns-remap,omitempty"`
|
||||
|
@ -66,6 +68,58 @@ type Config struct {
|
|||
Rootless bool `json:"rootless,omitempty"`
|
||||
}
|
||||
|
||||
// GetRuntime returns the runtime path and arguments for a given
|
||||
// runtime name
|
||||
func (conf *Config) GetRuntime(name string) *types.Runtime {
|
||||
conf.Lock()
|
||||
defer conf.Unlock()
|
||||
if rt, ok := conf.Runtimes[name]; ok {
|
||||
return &rt
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// GetDefaultRuntimeName returns the current default runtime
|
||||
func (conf *Config) GetDefaultRuntimeName() string {
|
||||
conf.Lock()
|
||||
rt := conf.DefaultRuntime
|
||||
conf.Unlock()
|
||||
|
||||
return rt
|
||||
}
|
||||
|
||||
// GetAllRuntimes returns a copy of the runtimes map
|
||||
func (conf *Config) GetAllRuntimes() map[string]types.Runtime {
|
||||
conf.Lock()
|
||||
rts := conf.Runtimes
|
||||
conf.Unlock()
|
||||
return rts
|
||||
}
|
||||
|
||||
// GetExecRoot returns the user configured Exec-root
|
||||
func (conf *Config) GetExecRoot() string {
|
||||
return conf.ExecRoot
|
||||
}
|
||||
|
||||
// GetInitPath returns the configured docker-init path
|
||||
func (conf *Config) GetInitPath() string {
|
||||
conf.Lock()
|
||||
defer conf.Unlock()
|
||||
if conf.InitPath != "" {
|
||||
return conf.InitPath
|
||||
}
|
||||
if conf.DefaultInitBinary != "" {
|
||||
return conf.DefaultInitBinary
|
||||
}
|
||||
return DefaultInitBinary
|
||||
}
|
||||
|
||||
// GetResolvConf returns the appropriate resolv.conf
|
||||
// Check setupResolvConf on how this is selected
|
||||
func (conf *Config) GetResolvConf() string {
|
||||
return conf.ResolvConf
|
||||
}
|
||||
|
||||
// IsSwarmCompatible defines if swarm mode can be enabled in this config
|
||||
func (conf *Config) IsSwarmCompatible() error {
|
||||
if conf.ClusterStore != "" || conf.ClusterAdvertise != "" {
|
||||
|
|
|
@ -33,9 +33,7 @@ func TestContainerWarningHostAndPublishPorts(t *testing.T) {
|
|||
PortBindings: tc.ports,
|
||||
}
|
||||
cs := &config.Config{
|
||||
CommonUnixConfig: config.CommonUnixConfig{
|
||||
Runtimes: map[string]types.Runtime{"runc": {}},
|
||||
},
|
||||
Runtimes: map[string]types.Runtime{"runc": {}},
|
||||
}
|
||||
d := &Daemon{configStore: cs}
|
||||
wrns, err := d.verifyContainerSettings("", hostConfig, &containertypes.Config{}, false)
|
||||
|
|
Loading…
Add table
Reference in a new issue