Small fixes to type names

Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
This commit is contained in:
Michael Crosby 2014-01-15 13:57:07 -08:00
parent 889b4b10ae
commit ca8dd73fbf
5 changed files with 24 additions and 23 deletions

View File

@ -13,7 +13,7 @@ const (
) )
func init() { func init() {
execdriver.RegisterDockerInitFct(DriverName, func(args *execdriver.DockerInitArgs) error { execdriver.RegisterInitFunc(DriverName, func(args *execdriver.InitArgs) error {
if err := mount.ForceMount("proc", "proc", "proc", ""); err != nil { if err := mount.ForceMount("proc", "proc", "proc", ""); err != nil {
return err return err
} }

View File

@ -13,16 +13,16 @@ var (
ErrDriverNotFound = errors.New("The requested docker init has not been found") ErrDriverNotFound = errors.New("The requested docker init has not been found")
) )
var dockerInitFcts map[string]DockerInitFct var dockerInitFcts map[string]InitFunc
type ( type (
StartCallback func(*Process) StartCallback func(*Process)
DockerInitFct func(i *DockerInitArgs) error InitFunc func(i *InitArgs) error
) )
func RegisterDockerInitFct(name string, fct DockerInitFct) error { func RegisterInitFunc(name string, fct InitFunc) error {
if dockerInitFcts == nil { if dockerInitFcts == nil {
dockerInitFcts = make(map[string]DockerInitFct) dockerInitFcts = make(map[string]InitFunc)
} }
if _, ok := dockerInitFcts[name]; ok { if _, ok := dockerInitFcts[name]; ok {
return ErrDriverAlreadyRegistered return ErrDriverAlreadyRegistered
@ -31,7 +31,7 @@ func RegisterDockerInitFct(name string, fct DockerInitFct) error {
return nil return nil
} }
func GetDockerInitFct(name string) (DockerInitFct, error) { func GetInitFunc(name string) (InitFunc, error) {
fct, ok := dockerInitFcts[name] fct, ok := dockerInitFcts[name]
if !ok { if !ok {
return nil, ErrDriverNotFound return nil, ErrDriverNotFound
@ -39,7 +39,8 @@ func GetDockerInitFct(name string) (DockerInitFct, error) {
return fct, nil return fct, nil
} }
type DockerInitArgs struct { // Args provided to the init function for a driver
type InitArgs struct {
User string User string
Gateway string Gateway string
Ip string Ip string
@ -51,6 +52,8 @@ type DockerInitArgs struct {
Driver string Driver string
} }
// Driver specific information based on
// processes registered with the driver
type Info interface { type Info interface {
IsRunning() bool IsRunning() bool
} }
@ -58,12 +61,10 @@ type Info interface {
type Driver interface { type Driver interface {
Run(c *Process, startCallback StartCallback) (int, error) // Run executes the process and blocks until the process exits and returns the exit code Run(c *Process, startCallback StartCallback) (int, error) // Run executes the process and blocks until the process exits and returns the exit code
Kill(c *Process, sig int) error Kill(c *Process, sig int) error
// TODO: @crosbymichael @creack wait should probably return the exit code
Wait(id string) error // Wait on an out of process...process - lxc ghosts Wait(id string) error // Wait on an out of process...process - lxc ghosts
Version() string Version() string // Driver version number
Name() string Name() string // Driver name
Info(id string) Info // "temporary" hack (until we move state from core to plugins)
Info(id string) Info // "temporary" hack (until we move state from core to plugins)
} }
// Network settings of the container // Network settings of the container

View File

@ -18,7 +18,7 @@ import (
const DriverName = "lxc" const DriverName = "lxc"
func init() { func init() {
execdriver.RegisterDockerInitFct(DriverName, func(args *execdriver.DockerInitArgs) error { execdriver.RegisterInitFunc(DriverName, func(args *execdriver.InitArgs) error {
if err := setupHostname(args); err != nil { if err := setupHostname(args); err != nil {
return err return err
} }

View File

@ -13,7 +13,7 @@ import (
"syscall" "syscall"
) )
func setupHostname(args *execdriver.DockerInitArgs) error { func setupHostname(args *execdriver.InitArgs) error {
hostname := getEnv(args, "HOSTNAME") hostname := getEnv(args, "HOSTNAME")
if hostname == "" { if hostname == "" {
return nil return nil
@ -22,7 +22,7 @@ func setupHostname(args *execdriver.DockerInitArgs) error {
} }
// Setup networking // Setup networking
func setupNetworking(args *execdriver.DockerInitArgs) error { func setupNetworking(args *execdriver.InitArgs) error {
if args.Ip != "" { if args.Ip != "" {
// eth0 // eth0
iface, err := net.InterfaceByName("eth0") iface, err := net.InterfaceByName("eth0")
@ -67,7 +67,7 @@ func setupNetworking(args *execdriver.DockerInitArgs) error {
} }
// Setup working directory // Setup working directory
func setupWorkingDirectory(args *execdriver.DockerInitArgs) error { func setupWorkingDirectory(args *execdriver.InitArgs) error {
if args.WorkDir == "" { if args.WorkDir == "" {
return nil return nil
} }
@ -78,7 +78,7 @@ func setupWorkingDirectory(args *execdriver.DockerInitArgs) error {
} }
// Takes care of dropping privileges to the desired user // Takes care of dropping privileges to the desired user
func changeUser(args *execdriver.DockerInitArgs) error { func changeUser(args *execdriver.InitArgs) error {
if args.User == "" { if args.User == "" {
return nil return nil
} }
@ -106,7 +106,7 @@ func changeUser(args *execdriver.DockerInitArgs) error {
return nil return nil
} }
func setupCapabilities(args *execdriver.DockerInitArgs) error { func setupCapabilities(args *execdriver.InitArgs) error {
if args.Privileged { if args.Privileged {
return nil return nil
@ -142,7 +142,7 @@ func setupCapabilities(args *execdriver.DockerInitArgs) error {
return nil return nil
} }
func getEnv(args *execdriver.DockerInitArgs, key string) string { func getEnv(args *execdriver.InitArgs, key string) string {
for _, kv := range args.Env { for _, kv := range args.Env {
parts := strings.SplitN(kv, "=", 2) parts := strings.SplitN(kv, "=", 2)
if parts[0] == key && len(parts) == 2 { if parts[0] == key && len(parts) == 2 {

View File

@ -12,7 +12,7 @@ import (
) )
// Clear environment pollution introduced by lxc-start // Clear environment pollution introduced by lxc-start
func setupEnv(args *execdriver.DockerInitArgs) { func setupEnv(args *execdriver.InitArgs) {
os.Clearenv() os.Clearenv()
for _, kv := range args.Env { for _, kv := range args.Env {
parts := strings.SplitN(kv, "=", 2) parts := strings.SplitN(kv, "=", 2)
@ -23,9 +23,9 @@ func setupEnv(args *execdriver.DockerInitArgs) {
} }
} }
func executeProgram(args *execdriver.DockerInitArgs) error { func executeProgram(args *execdriver.InitArgs) error {
setupEnv(args) setupEnv(args)
dockerInitFct, err := execdriver.GetDockerInitFct(args.Driver) dockerInitFct, err := execdriver.GetInitFunc(args.Driver)
if err != nil { if err != nil {
panic(err) panic(err)
} }
@ -71,7 +71,7 @@ func SysInit() {
// Propagate the plugin-specific container env variable // Propagate the plugin-specific container env variable
env = append(env, "container="+os.Getenv("container")) env = append(env, "container="+os.Getenv("container"))
args := &execdriver.DockerInitArgs{ args := &execdriver.InitArgs{
User: *user, User: *user,
Gateway: *gateway, Gateway: *gateway,
Ip: *ip, Ip: *ip,