Browse Source

Renamed Docker{} to Runtime{} for clarity

Solomon Hykes 12 years ago
parent
commit
b8547f31e4
5 changed files with 229 additions and 229 deletions
  1. 27 27
      commands.go
  2. 1 1
      container.go
  3. 98 98
      container_test.go
  4. 39 39
      docker.go
  5. 64 64
      docker_test.go

+ 27 - 27
commands.go

@@ -116,7 +116,7 @@ func (srv *Server) CmdWait(stdin io.ReadCloser, stdout io.Writer, args ...string
 		return nil
 		return nil
 	}
 	}
 	for _, name := range cmd.Args() {
 	for _, name := range cmd.Args() {
-		if container := srv.containers.Get(name); container != nil {
+		if container := srv.runtime.Get(name); container != nil {
 			fmt.Fprintln(stdout, container.Wait())
 			fmt.Fprintln(stdout, container.Wait())
 		} else {
 		} else {
 			return errors.New("No such container: " + name)
 			return errors.New("No such container: " + name)
@@ -133,7 +133,7 @@ func (srv *Server) CmdVersion(stdin io.ReadCloser, stdout io.Writer, args ...str
 
 
 // 'docker info': display system-wide information.
 // 'docker info': display system-wide information.
 func (srv *Server) CmdInfo(stdin io.ReadCloser, stdout io.Writer, args ...string) error {
 func (srv *Server) CmdInfo(stdin io.ReadCloser, stdout io.Writer, args ...string) error {
-	images, _ := srv.containers.graph.All()
+	images, _ := srv.runtime.graph.All()
 	var imgcount int
 	var imgcount int
 	if images == nil {
 	if images == nil {
 		imgcount = 0
 		imgcount = 0
@@ -149,7 +149,7 @@ func (srv *Server) CmdInfo(stdin io.ReadCloser, stdout io.Writer, args ...string
 		return nil
 		return nil
 	}
 	}
 	fmt.Fprintf(stdout, "containers: %d\nversion: %s\nimages: %d\n",
 	fmt.Fprintf(stdout, "containers: %d\nversion: %s\nimages: %d\n",
-		len(srv.containers.List()),
+		len(srv.runtime.List()),
 		VERSION,
 		VERSION,
 		imgcount)
 		imgcount)
 	return nil
 	return nil
@@ -165,7 +165,7 @@ func (srv *Server) CmdStop(stdin io.ReadCloser, stdout io.Writer, args ...string
 		return nil
 		return nil
 	}
 	}
 	for _, name := range cmd.Args() {
 	for _, name := range cmd.Args() {
-		if container := srv.containers.Get(name); container != nil {
+		if container := srv.runtime.Get(name); container != nil {
 			if err := container.Stop(); err != nil {
 			if err := container.Stop(); err != nil {
 				return err
 				return err
 			}
 			}
@@ -187,7 +187,7 @@ func (srv *Server) CmdRestart(stdin io.ReadCloser, stdout io.Writer, args ...str
 		return nil
 		return nil
 	}
 	}
 	for _, name := range cmd.Args() {
 	for _, name := range cmd.Args() {
-		if container := srv.containers.Get(name); container != nil {
+		if container := srv.runtime.Get(name); container != nil {
 			if err := container.Restart(); err != nil {
 			if err := container.Restart(); err != nil {
 				return err
 				return err
 			}
 			}
@@ -209,7 +209,7 @@ func (srv *Server) CmdStart(stdin io.ReadCloser, stdout io.Writer, args ...strin
 		return nil
 		return nil
 	}
 	}
 	for _, name := range cmd.Args() {
 	for _, name := range cmd.Args() {
-		if container := srv.containers.Get(name); container != nil {
+		if container := srv.runtime.Get(name); container != nil {
 			if err := container.Start(); err != nil {
 			if err := container.Start(); err != nil {
 				return err
 				return err
 			}
 			}
@@ -231,7 +231,7 @@ func (srv *Server) CmdMount(stdin io.ReadCloser, stdout io.Writer, args ...strin
 		return nil
 		return nil
 	}
 	}
 	for _, name := range cmd.Args() {
 	for _, name := range cmd.Args() {
-		if container := srv.containers.Get(name); container != nil {
+		if container := srv.runtime.Get(name); container != nil {
 			if err := container.EnsureMounted(); err != nil {
 			if err := container.EnsureMounted(); err != nil {
 				return err
 				return err
 			}
 			}
@@ -254,9 +254,9 @@ func (srv *Server) CmdInspect(stdin io.ReadCloser, stdout io.Writer, args ...str
 	}
 	}
 	name := cmd.Arg(0)
 	name := cmd.Arg(0)
 	var obj interface{}
 	var obj interface{}
-	if container := srv.containers.Get(name); container != nil {
+	if container := srv.runtime.Get(name); container != nil {
 		obj = container
 		obj = container
-	} else if image, err := srv.containers.graph.Get(name); err != nil {
+	} else if image, err := srv.runtime.graph.Get(name); err != nil {
 		return err
 		return err
 	} else if image != nil {
 	} else if image != nil {
 		obj = image
 		obj = image
@@ -291,7 +291,7 @@ func (srv *Server) CmdPort(stdin io.ReadCloser, stdout io.Writer, args ...string
 	}
 	}
 	name := cmd.Arg(0)
 	name := cmd.Arg(0)
 	privatePort := cmd.Arg(1)
 	privatePort := cmd.Arg(1)
-	if container := srv.containers.Get(name); container == nil {
+	if container := srv.runtime.Get(name); container == nil {
 		return errors.New("No such container: " + name)
 		return errors.New("No such container: " + name)
 	} else {
 	} else {
 		if frontend, exists := container.NetworkSettings.PortMapping[privatePort]; !exists {
 		if frontend, exists := container.NetworkSettings.PortMapping[privatePort]; !exists {
@@ -311,7 +311,7 @@ func (srv *Server) CmdRmi(stdin io.ReadCloser, stdout io.Writer, args ...string)
 		return nil
 		return nil
 	}
 	}
 	for _, name := range cmd.Args() {
 	for _, name := range cmd.Args() {
-		if err := srv.containers.graph.Delete(name); err != nil {
+		if err := srv.runtime.graph.Delete(name); err != nil {
 			return err
 			return err
 		}
 		}
 	}
 	}
@@ -324,11 +324,11 @@ func (srv *Server) CmdRm(stdin io.ReadCloser, stdout io.Writer, args ...string)
 		return nil
 		return nil
 	}
 	}
 	for _, name := range cmd.Args() {
 	for _, name := range cmd.Args() {
-		container := srv.containers.Get(name)
+		container := srv.runtime.Get(name)
 		if container == nil {
 		if container == nil {
 			return errors.New("No such container: " + name)
 			return errors.New("No such container: " + name)
 		}
 		}
-		if err := srv.containers.Destroy(container); err != nil {
+		if err := srv.runtime.Destroy(container); err != nil {
 			fmt.Fprintln(stdout, "Error destroying container "+name+": "+err.Error())
 			fmt.Fprintln(stdout, "Error destroying container "+name+": "+err.Error())
 		}
 		}
 	}
 	}
@@ -342,7 +342,7 @@ func (srv *Server) CmdKill(stdin io.ReadCloser, stdout io.Writer, args ...string
 		return nil
 		return nil
 	}
 	}
 	for _, name := range cmd.Args() {
 	for _, name := range cmd.Args() {
-		container := srv.containers.Get(name)
+		container := srv.runtime.Get(name)
 		if container == nil {
 		if container == nil {
 			return errors.New("No such container: " + name)
 			return errors.New("No such container: " + name)
 		}
 		}
@@ -390,7 +390,7 @@ func (srv *Server) CmdImport(stdin io.ReadCloser, stdout io.Writer, args ...stri
 		archive = future.ProgressReader(resp.Body, int(resp.ContentLength), stdout)
 		archive = future.ProgressReader(resp.Body, int(resp.ContentLength), stdout)
 	}
 	}
 	fmt.Fprintf(stdout, "Unpacking to %s\n", name)
 	fmt.Fprintf(stdout, "Unpacking to %s\n", name)
-	img, err := srv.containers.graph.Create(archive, "", "")
+	img, err := srv.runtime.graph.Create(archive, "", "")
 	if err != nil {
 	if err != nil {
 		return err
 		return err
 	}
 	}
@@ -420,7 +420,7 @@ func (srv *Server) CmdImages(stdin io.ReadCloser, stdout io.Writer, args ...stri
 		fmt.Fprintf(w, "NAME\tID\tCREATED\tPARENT\n")
 		fmt.Fprintf(w, "NAME\tID\tCREATED\tPARENT\n")
 	}
 	}
 	if *quiet {
 	if *quiet {
-		images, err := srv.containers.graph.All()
+		images, err := srv.runtime.graph.All()
 		if err != nil {
 		if err != nil {
 			return err
 			return err
 		}
 		}
@@ -486,7 +486,7 @@ func (srv *Server) CmdPs(stdin io.ReadCloser, stdout io.Writer, args ...string)
 	if !*quiet {
 	if !*quiet {
 		fmt.Fprintf(w, "ID\tIMAGE\tCOMMAND\tCREATED\tSTATUS\tCOMMENT\n")
 		fmt.Fprintf(w, "ID\tIMAGE\tCOMMAND\tCREATED\tSTATUS\tCOMMENT\n")
 	}
 	}
-	for _, container := range srv.containers.List() {
+	for _, container := range srv.runtime.List() {
 		if !container.State.Running && !*fl_all {
 		if !container.State.Running && !*fl_all {
 			continue
 			continue
 		}
 		}
@@ -532,7 +532,7 @@ func (srv *Server) CmdCommit(stdin io.ReadCloser, stdout io.Writer, args ...stri
 		cmd.Usage()
 		cmd.Usage()
 		return nil
 		return nil
 	}
 	}
-	if container := srv.containers.Get(containerName); container != nil {
+	if container := srv.runtime.Get(containerName); container != nil {
 		// FIXME: freeze the container before copying it to avoid data corruption?
 		// FIXME: freeze the container before copying it to avoid data corruption?
 		// FIXME: this shouldn't be in commands.
 		// FIXME: this shouldn't be in commands.
 		rwTar, err := container.ExportRw()
 		rwTar, err := container.ExportRw()
@@ -540,7 +540,7 @@ func (srv *Server) CmdCommit(stdin io.ReadCloser, stdout io.Writer, args ...stri
 			return err
 			return err
 		}
 		}
 		// Create a new image from the container's base layers + a new layer from container changes
 		// Create a new image from the container's base layers + a new layer from container changes
-		img, err := srv.containers.graph.Create(rwTar, container.Image, "")
+		img, err := srv.runtime.graph.Create(rwTar, container.Image, "")
 		if err != nil {
 		if err != nil {
 			return err
 			return err
 		}
 		}
@@ -563,7 +563,7 @@ func (srv *Server) CmdTar(stdin io.ReadCloser, stdout io.Writer, args ...string)
 		return errors.New("Sparse mode not yet implemented") // FIXME
 		return errors.New("Sparse mode not yet implemented") // FIXME
 	}
 	}
 	name := cmd.Arg(0)
 	name := cmd.Arg(0)
-	if container := srv.containers.Get(name); container != nil {
+	if container := srv.runtime.Get(name); container != nil {
 		if err := container.EnsureMounted(); err != nil {
 		if err := container.EnsureMounted(); err != nil {
 			return err
 			return err
 		}
 		}
@@ -590,7 +590,7 @@ func (srv *Server) CmdDiff(stdin io.ReadCloser, stdout io.Writer, args ...string
 	if cmd.NArg() < 1 {
 	if cmd.NArg() < 1 {
 		return errors.New("Not enough arguments")
 		return errors.New("Not enough arguments")
 	}
 	}
-	if container := srv.containers.Get(cmd.Arg(0)); container == nil {
+	if container := srv.runtime.Get(cmd.Arg(0)); container == nil {
 		return errors.New("No such container")
 		return errors.New("No such container")
 	} else {
 	} else {
 		changes, err := container.Changes()
 		changes, err := container.Changes()
@@ -614,7 +614,7 @@ func (srv *Server) CmdLogs(stdin io.ReadCloser, stdout io.Writer, args ...string
 		return nil
 		return nil
 	}
 	}
 	name := cmd.Arg(0)
 	name := cmd.Arg(0)
-	if container := srv.containers.Get(name); container != nil {
+	if container := srv.runtime.Get(name); container != nil {
 		log_stdout, err := container.ReadLog("stdout")
 		log_stdout, err := container.ReadLog("stdout")
 		if err != nil {
 		if err != nil {
 			return err
 			return err
@@ -649,7 +649,7 @@ func (srv *Server) CmdAttach(stdin io.ReadCloser, stdout io.Writer, args ...stri
 		return nil
 		return nil
 	}
 	}
 	name := cmd.Arg(0)
 	name := cmd.Arg(0)
-	container := srv.containers.Get(name)
+	container := srv.runtime.Get(name)
 	if container == nil {
 	if container == nil {
 		return errors.New("No such container: " + name)
 		return errors.New("No such container: " + name)
 	}
 	}
@@ -731,7 +731,7 @@ func (srv *Server) CmdRun(stdin io.ReadCloser, stdout io.Writer, args ...string)
 	}
 	}
 
 
 	// Create new container
 	// Create new container
-	container, err := srv.containers.Create(cmdline[0], cmdline[1:], name,
+	container, err := srv.runtime.Create(cmdline[0], cmdline[1:], name,
 		&Config{
 		&Config{
 			Ports:     fl_ports,
 			Ports:     fl_ports,
 			User:      *fl_user,
 			User:      *fl_user,
@@ -799,16 +799,16 @@ func NewServer() (*Server, error) {
 	// if err != nil {
 	// if err != nil {
 	// 	return nil, err
 	// 	return nil, err
 	// }
 	// }
-	containers, err := New()
+	runtime, err := New()
 	if err != nil {
 	if err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
 	srv := &Server{
 	srv := &Server{
-		containers: containers,
+		runtime: runtime,
 	}
 	}
 	return srv, nil
 	return srv, nil
 }
 }
 
 
 type Server struct {
 type Server struct {
-	containers *Docker
+	runtime *Runtime
 }
 }

+ 1 - 1
container.go

@@ -45,7 +45,7 @@ type Container struct {
 
 
 	stdoutLog *os.File
 	stdoutLog *os.File
 	stderrLog *os.File
 	stderrLog *os.File
-	runtime   *Docker // FIXME: rename Docker to Runtime for clarity
+	runtime   *Runtime
 }
 }
 
 
 type Config struct {
 type Config struct {

+ 98 - 98
container_test.go

@@ -14,15 +14,15 @@ import (
 )
 )
 
 
 func TestCommitRun(t *testing.T) {
 func TestCommitRun(t *testing.T) {
-	docker, err := newTestDocker()
+	runtime, err := newTestRuntime()
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer nuke(docker)
-	container1, err := docker.Create(
+	defer nuke(runtime)
+	container1, err := runtime.Create(
 		"/bin/sh",
 		"/bin/sh",
 		[]string{"-c", "echo hello > /world"},
 		[]string{"-c", "echo hello > /world"},
-		GetTestImage(docker).Id,
+		GetTestImage(runtime).Id,
 		&Config{
 		&Config{
 			Memory: 33554432,
 			Memory: 33554432,
 		},
 		},
@@ -30,7 +30,7 @@ func TestCommitRun(t *testing.T) {
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer docker.Destroy(container1)
+	defer runtime.Destroy(container1)
 
 
 	if container1.State.Running {
 	if container1.State.Running {
 		t.Errorf("Container shouldn't be running")
 		t.Errorf("Container shouldn't be running")
@@ -46,14 +46,14 @@ func TestCommitRun(t *testing.T) {
 	if err != nil {
 	if err != nil {
 		t.Error(err)
 		t.Error(err)
 	}
 	}
-	img, err := docker.graph.Create(rwTar, container1.Image, "unit test commited image")
+	img, err := runtime.graph.Create(rwTar, container1.Image, "unit test commited image")
 	if err != nil {
 	if err != nil {
 		t.Error(err)
 		t.Error(err)
 	}
 	}
 
 
 	// FIXME: Make a TestCommit that stops here and check docker.root/layers/img.id/world
 	// FIXME: Make a TestCommit that stops here and check docker.root/layers/img.id/world
 
 
-	container2, err := docker.Create(
+	container2, err := runtime.Create(
 		"cat",
 		"cat",
 		[]string{"/world"},
 		[]string{"/world"},
 		img.Id,
 		img.Id,
@@ -64,7 +64,7 @@ func TestCommitRun(t *testing.T) {
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer docker.Destroy(container2)
+	defer runtime.Destroy(container2)
 
 
 	stdout, err := container2.StdoutPipe()
 	stdout, err := container2.StdoutPipe()
 	stderr, err := container2.StderrPipe()
 	stderr, err := container2.StderrPipe()
@@ -82,15 +82,15 @@ func TestCommitRun(t *testing.T) {
 }
 }
 
 
 func TestRun(t *testing.T) {
 func TestRun(t *testing.T) {
-	docker, err := newTestDocker()
+	runtime, err := newTestRuntime()
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer nuke(docker)
-	container, err := docker.Create(
+	defer nuke(runtime)
+	container, err := runtime.Create(
 		"ls",
 		"ls",
 		[]string{"-al"},
 		[]string{"-al"},
-		GetTestImage(docker).Id,
+		GetTestImage(runtime).Id,
 		&Config{
 		&Config{
 			Memory: 33554432,
 			Memory: 33554432,
 		},
 		},
@@ -98,7 +98,7 @@ func TestRun(t *testing.T) {
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer docker.Destroy(container)
+	defer runtime.Destroy(container)
 
 
 	if container.State.Running {
 	if container.State.Running {
 		t.Errorf("Container shouldn't be running")
 		t.Errorf("Container shouldn't be running")
@@ -112,21 +112,21 @@ func TestRun(t *testing.T) {
 }
 }
 
 
 func TestOutput(t *testing.T) {
 func TestOutput(t *testing.T) {
-	docker, err := newTestDocker()
+	runtime, err := newTestRuntime()
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer nuke(docker)
-	container, err := docker.Create(
+	defer nuke(runtime)
+	container, err := runtime.Create(
 		"echo",
 		"echo",
 		[]string{"-n", "foobar"},
 		[]string{"-n", "foobar"},
-		GetTestImage(docker).Id,
+		GetTestImage(runtime).Id,
 		&Config{},
 		&Config{},
 	)
 	)
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer docker.Destroy(container)
+	defer runtime.Destroy(container)
 	output, err := container.Output()
 	output, err := container.Output()
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
@@ -137,21 +137,21 @@ func TestOutput(t *testing.T) {
 }
 }
 
 
 func TestKill(t *testing.T) {
 func TestKill(t *testing.T) {
-	docker, err := newTestDocker()
+	runtime, err := newTestRuntime()
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer nuke(docker)
-	container, err := docker.Create(
+	defer nuke(runtime)
+	container, err := runtime.Create(
 		"cat",
 		"cat",
 		[]string{"/dev/zero"},
 		[]string{"/dev/zero"},
-		GetTestImage(docker).Id,
+		GetTestImage(runtime).Id,
 		&Config{},
 		&Config{},
 	)
 	)
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer docker.Destroy(container)
+	defer runtime.Destroy(container)
 
 
 	if container.State.Running {
 	if container.State.Running {
 		t.Errorf("Container shouldn't be running")
 		t.Errorf("Container shouldn't be running")
@@ -179,36 +179,36 @@ func TestKill(t *testing.T) {
 }
 }
 
 
 func TestExitCode(t *testing.T) {
 func TestExitCode(t *testing.T) {
-	docker, err := newTestDocker()
+	runtime, err := newTestRuntime()
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer nuke(docker)
+	defer nuke(runtime)
 
 
-	trueContainer, err := docker.Create(
+	trueContainer, err := runtime.Create(
 		"/bin/true",
 		"/bin/true",
 		[]string{""},
 		[]string{""},
-		GetTestImage(docker).Id,
+		GetTestImage(runtime).Id,
 		&Config{},
 		&Config{},
 	)
 	)
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer docker.Destroy(trueContainer)
+	defer runtime.Destroy(trueContainer)
 	if err := trueContainer.Run(); err != nil {
 	if err := trueContainer.Run(); err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
 
 
-	falseContainer, err := docker.Create(
+	falseContainer, err := runtime.Create(
 		"/bin/false",
 		"/bin/false",
 		[]string{""},
 		[]string{""},
-		GetTestImage(docker).Id,
+		GetTestImage(runtime).Id,
 		&Config{},
 		&Config{},
 	)
 	)
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer docker.Destroy(falseContainer)
+	defer runtime.Destroy(falseContainer)
 	if err := falseContainer.Run(); err != nil {
 	if err := falseContainer.Run(); err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
@@ -223,21 +223,21 @@ func TestExitCode(t *testing.T) {
 }
 }
 
 
 func TestRestart(t *testing.T) {
 func TestRestart(t *testing.T) {
-	docker, err := newTestDocker()
+	runtime, err := newTestRuntime()
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer nuke(docker)
-	container, err := docker.Create(
+	defer nuke(runtime)
+	container, err := runtime.Create(
 		"echo",
 		"echo",
 		[]string{"-n", "foobar"},
 		[]string{"-n", "foobar"},
-		GetTestImage(docker).Id,
+		GetTestImage(runtime).Id,
 		&Config{},
 		&Config{},
 	)
 	)
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer docker.Destroy(container)
+	defer runtime.Destroy(container)
 	output, err := container.Output()
 	output, err := container.Output()
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
@@ -257,15 +257,15 @@ func TestRestart(t *testing.T) {
 }
 }
 
 
 func TestRestartStdin(t *testing.T) {
 func TestRestartStdin(t *testing.T) {
-	docker, err := newTestDocker()
+	runtime, err := newTestRuntime()
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer nuke(docker)
-	container, err := docker.Create(
+	defer nuke(runtime)
+	container, err := runtime.Create(
 		"cat",
 		"cat",
 		[]string{},
 		[]string{},
-		GetTestImage(docker).Id,
+		GetTestImage(runtime).Id,
 		&Config{
 		&Config{
 			OpenStdin: true,
 			OpenStdin: true,
 		},
 		},
@@ -273,7 +273,7 @@ func TestRestartStdin(t *testing.T) {
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer docker.Destroy(container)
+	defer runtime.Destroy(container)
 
 
 	stdin, err := container.StdinPipe()
 	stdin, err := container.StdinPipe()
 	stdout, err := container.StdoutPipe()
 	stdout, err := container.StdoutPipe()
@@ -306,23 +306,23 @@ func TestRestartStdin(t *testing.T) {
 }
 }
 
 
 func TestUser(t *testing.T) {
 func TestUser(t *testing.T) {
-	docker, err := newTestDocker()
+	runtime, err := newTestRuntime()
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer nuke(docker)
+	defer nuke(runtime)
 
 
 	// Default user must be root
 	// Default user must be root
-	container, err := docker.Create(
+	container, err := runtime.Create(
 		"id",
 		"id",
 		[]string{},
 		[]string{},
-		GetTestImage(docker).Id,
+		GetTestImage(runtime).Id,
 		&Config{},
 		&Config{},
 	)
 	)
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer docker.Destroy(container)
+	defer runtime.Destroy(container)
 	output, err := container.Output()
 	output, err := container.Output()
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
@@ -332,10 +332,10 @@ func TestUser(t *testing.T) {
 	}
 	}
 
 
 	// Set a username
 	// Set a username
-	container, err = docker.Create(
+	container, err = runtime.Create(
 		"id",
 		"id",
 		[]string{},
 		[]string{},
-		GetTestImage(docker).Id,
+		GetTestImage(runtime).Id,
 		&Config{
 		&Config{
 			User: "root",
 			User: "root",
 		},
 		},
@@ -343,7 +343,7 @@ func TestUser(t *testing.T) {
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer docker.Destroy(container)
+	defer runtime.Destroy(container)
 	output, err = container.Output()
 	output, err = container.Output()
 	if err != nil || container.State.ExitCode != 0 {
 	if err != nil || container.State.ExitCode != 0 {
 		t.Fatal(err)
 		t.Fatal(err)
@@ -353,10 +353,10 @@ func TestUser(t *testing.T) {
 	}
 	}
 
 
 	// Set a UID
 	// Set a UID
-	container, err = docker.Create(
+	container, err = runtime.Create(
 		"id",
 		"id",
 		[]string{},
 		[]string{},
-		GetTestImage(docker).Id,
+		GetTestImage(runtime).Id,
 		&Config{
 		&Config{
 			User: "0",
 			User: "0",
 		},
 		},
@@ -364,7 +364,7 @@ func TestUser(t *testing.T) {
 	if err != nil || container.State.ExitCode != 0 {
 	if err != nil || container.State.ExitCode != 0 {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer docker.Destroy(container)
+	defer runtime.Destroy(container)
 	output, err = container.Output()
 	output, err = container.Output()
 	if err != nil || container.State.ExitCode != 0 {
 	if err != nil || container.State.ExitCode != 0 {
 		t.Fatal(err)
 		t.Fatal(err)
@@ -374,10 +374,10 @@ func TestUser(t *testing.T) {
 	}
 	}
 
 
 	// Set a different user by uid
 	// Set a different user by uid
-	container, err = docker.Create(
+	container, err = runtime.Create(
 		"id",
 		"id",
 		[]string{},
 		[]string{},
-		GetTestImage(docker).Id,
+		GetTestImage(runtime).Id,
 		&Config{
 		&Config{
 			User: "1",
 			User: "1",
 		},
 		},
@@ -385,7 +385,7 @@ func TestUser(t *testing.T) {
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer docker.Destroy(container)
+	defer runtime.Destroy(container)
 	output, err = container.Output()
 	output, err = container.Output()
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
@@ -397,10 +397,10 @@ func TestUser(t *testing.T) {
 	}
 	}
 
 
 	// Set a different user by username
 	// Set a different user by username
-	container, err = docker.Create(
+	container, err = runtime.Create(
 		"id",
 		"id",
 		[]string{},
 		[]string{},
-		GetTestImage(docker).Id,
+		GetTestImage(runtime).Id,
 		&Config{
 		&Config{
 			User: "daemon",
 			User: "daemon",
 		},
 		},
@@ -408,7 +408,7 @@ func TestUser(t *testing.T) {
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer docker.Destroy(container)
+	defer runtime.Destroy(container)
 	output, err = container.Output()
 	output, err = container.Output()
 	if err != nil || container.State.ExitCode != 0 {
 	if err != nil || container.State.ExitCode != 0 {
 		t.Fatal(err)
 		t.Fatal(err)
@@ -419,33 +419,33 @@ func TestUser(t *testing.T) {
 }
 }
 
 
 func TestMultipleContainers(t *testing.T) {
 func TestMultipleContainers(t *testing.T) {
-	docker, err := newTestDocker()
+	runtime, err := newTestRuntime()
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer nuke(docker)
+	defer nuke(runtime)
 
 
-	container1, err := docker.Create(
+	container1, err := runtime.Create(
 		"cat",
 		"cat",
 		[]string{"/dev/zero"},
 		[]string{"/dev/zero"},
-		GetTestImage(docker).Id,
+		GetTestImage(runtime).Id,
 		&Config{},
 		&Config{},
 	)
 	)
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer docker.Destroy(container1)
+	defer runtime.Destroy(container1)
 
 
-	container2, err := docker.Create(
+	container2, err := runtime.Create(
 		"cat",
 		"cat",
 		[]string{"/dev/zero"},
 		[]string{"/dev/zero"},
-		GetTestImage(docker).Id,
+		GetTestImage(runtime).Id,
 		&Config{},
 		&Config{},
 	)
 	)
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer docker.Destroy(container2)
+	defer runtime.Destroy(container2)
 
 
 	// Start both containers
 	// Start both containers
 	if err := container1.Start(); err != nil {
 	if err := container1.Start(); err != nil {
@@ -474,15 +474,15 @@ func TestMultipleContainers(t *testing.T) {
 }
 }
 
 
 func TestStdin(t *testing.T) {
 func TestStdin(t *testing.T) {
-	docker, err := newTestDocker()
+	runtime, err := newTestRuntime()
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer nuke(docker)
-	container, err := docker.Create(
+	defer nuke(runtime)
+	container, err := runtime.Create(
 		"cat",
 		"cat",
 		[]string{},
 		[]string{},
-		GetTestImage(docker).Id,
+		GetTestImage(runtime).Id,
 		&Config{
 		&Config{
 			OpenStdin: true,
 			OpenStdin: true,
 		},
 		},
@@ -490,7 +490,7 @@ func TestStdin(t *testing.T) {
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer docker.Destroy(container)
+	defer runtime.Destroy(container)
 
 
 	stdin, err := container.StdinPipe()
 	stdin, err := container.StdinPipe()
 	stdout, err := container.StdoutPipe()
 	stdout, err := container.StdoutPipe()
@@ -509,15 +509,15 @@ func TestStdin(t *testing.T) {
 }
 }
 
 
 func TestTty(t *testing.T) {
 func TestTty(t *testing.T) {
-	docker, err := newTestDocker()
+	runtime, err := newTestRuntime()
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer nuke(docker)
-	container, err := docker.Create(
+	defer nuke(runtime)
+	container, err := runtime.Create(
 		"cat",
 		"cat",
 		[]string{},
 		[]string{},
-		GetTestImage(docker).Id,
+		GetTestImage(runtime).Id,
 		&Config{
 		&Config{
 			OpenStdin: true,
 			OpenStdin: true,
 		},
 		},
@@ -525,7 +525,7 @@ func TestTty(t *testing.T) {
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer docker.Destroy(container)
+	defer runtime.Destroy(container)
 
 
 	stdin, err := container.StdinPipe()
 	stdin, err := container.StdinPipe()
 	stdout, err := container.StdoutPipe()
 	stdout, err := container.StdoutPipe()
@@ -544,21 +544,21 @@ func TestTty(t *testing.T) {
 }
 }
 
 
 func TestEnv(t *testing.T) {
 func TestEnv(t *testing.T) {
-	docker, err := newTestDocker()
+	runtime, err := newTestRuntime()
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer nuke(docker)
-	container, err := docker.Create(
+	defer nuke(runtime)
+	container, err := runtime.Create(
 		"/usr/bin/env",
 		"/usr/bin/env",
 		[]string{},
 		[]string{},
-		GetTestImage(docker).Id,
+		GetTestImage(runtime).Id,
 		&Config{},
 		&Config{},
 	)
 	)
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer docker.Destroy(container)
+	defer runtime.Destroy(container)
 	stdout, err := container.StdoutPipe()
 	stdout, err := container.StdoutPipe()
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
@@ -613,20 +613,20 @@ func grepFile(t *testing.T, path string, pattern string) {
 }
 }
 
 
 func TestLXCConfig(t *testing.T) {
 func TestLXCConfig(t *testing.T) {
-	docker, err := newTestDocker()
+	runtime, err := newTestRuntime()
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer nuke(docker)
+	defer nuke(runtime)
 	// Memory is allocated randomly for testing
 	// Memory is allocated randomly for testing
 	rand.Seed(time.Now().UTC().UnixNano())
 	rand.Seed(time.Now().UTC().UnixNano())
 	memMin := 33554432
 	memMin := 33554432
 	memMax := 536870912
 	memMax := 536870912
 	mem := memMin + rand.Intn(memMax-memMin)
 	mem := memMin + rand.Intn(memMax-memMin)
-	container, err := docker.Create(
+	container, err := runtime.Create(
 		"/bin/true",
 		"/bin/true",
 		[]string{},
 		[]string{},
-		GetTestImage(docker).Id,
+		GetTestImage(runtime).Id,
 		&Config{
 		&Config{
 			Hostname: "foobar",
 			Hostname: "foobar",
 			Memory:   int64(mem),
 			Memory:   int64(mem),
@@ -635,7 +635,7 @@ func TestLXCConfig(t *testing.T) {
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer docker.Destroy(container)
+	defer runtime.Destroy(container)
 	container.generateLXCConfig()
 	container.generateLXCConfig()
 	grepFile(t, container.lxcConfigPath(), "lxc.utsname = foobar")
 	grepFile(t, container.lxcConfigPath(), "lxc.utsname = foobar")
 	grepFile(t, container.lxcConfigPath(),
 	grepFile(t, container.lxcConfigPath(),
@@ -645,22 +645,22 @@ func TestLXCConfig(t *testing.T) {
 }
 }
 
 
 func BenchmarkRunSequencial(b *testing.B) {
 func BenchmarkRunSequencial(b *testing.B) {
-	docker, err := newTestDocker()
+	runtime, err := newTestRuntime()
 	if err != nil {
 	if err != nil {
 		b.Fatal(err)
 		b.Fatal(err)
 	}
 	}
-	defer nuke(docker)
+	defer nuke(runtime)
 	for i := 0; i < b.N; i++ {
 	for i := 0; i < b.N; i++ {
-		container, err := docker.Create(
+		container, err := runtime.Create(
 			"echo",
 			"echo",
 			[]string{"-n", "foo"},
 			[]string{"-n", "foo"},
-			GetTestImage(docker).Id,
+			GetTestImage(runtime).Id,
 			&Config{},
 			&Config{},
 		)
 		)
 		if err != nil {
 		if err != nil {
 			b.Fatal(err)
 			b.Fatal(err)
 		}
 		}
-		defer docker.Destroy(container)
+		defer runtime.Destroy(container)
 		output, err := container.Output()
 		output, err := container.Output()
 		if err != nil {
 		if err != nil {
 			b.Fatal(err)
 			b.Fatal(err)
@@ -668,18 +668,18 @@ func BenchmarkRunSequencial(b *testing.B) {
 		if string(output) != "foo" {
 		if string(output) != "foo" {
 			b.Fatalf("Unexecpted output: %v", string(output))
 			b.Fatalf("Unexecpted output: %v", string(output))
 		}
 		}
-		if err := docker.Destroy(container); err != nil {
+		if err := runtime.Destroy(container); err != nil {
 			b.Fatal(err)
 			b.Fatal(err)
 		}
 		}
 	}
 	}
 }
 }
 
 
 func BenchmarkRunParallel(b *testing.B) {
 func BenchmarkRunParallel(b *testing.B) {
-	docker, err := newTestDocker()
+	runtime, err := newTestRuntime()
 	if err != nil {
 	if err != nil {
 		b.Fatal(err)
 		b.Fatal(err)
 	}
 	}
-	defer nuke(docker)
+	defer nuke(runtime)
 
 
 	var tasks []chan error
 	var tasks []chan error
 
 
@@ -687,17 +687,17 @@ func BenchmarkRunParallel(b *testing.B) {
 		complete := make(chan error)
 		complete := make(chan error)
 		tasks = append(tasks, complete)
 		tasks = append(tasks, complete)
 		go func(i int, complete chan error) {
 		go func(i int, complete chan error) {
-			container, err := docker.Create(
+			container, err := runtime.Create(
 				"echo",
 				"echo",
 				[]string{"-n", "foo"},
 				[]string{"-n", "foo"},
-				GetTestImage(docker).Id,
+				GetTestImage(runtime).Id,
 				&Config{},
 				&Config{},
 			)
 			)
 			if err != nil {
 			if err != nil {
 				complete <- err
 				complete <- err
 				return
 				return
 			}
 			}
-			defer docker.Destroy(container)
+			defer runtime.Destroy(container)
 			if err := container.Start(); err != nil {
 			if err := container.Start(); err != nil {
 				complete <- err
 				complete <- err
 				return
 				return
@@ -709,7 +709,7 @@ func BenchmarkRunParallel(b *testing.B) {
 			// if string(output) != "foo" {
 			// if string(output) != "foo" {
 			// 	complete <- fmt.Errorf("Unexecpted output: %v", string(output))
 			// 	complete <- fmt.Errorf("Unexecpted output: %v", string(output))
 			// }
 			// }
-			if err := docker.Destroy(container); err != nil {
+			if err := runtime.Destroy(container); err != nil {
 				complete <- err
 				complete <- err
 				return
 				return
 			}
 			}

+ 39 - 39
docker.go

@@ -14,7 +14,7 @@ import (
 	"time"
 	"time"
 )
 )
 
 
-type Docker struct {
+type Runtime struct {
 	root           string
 	root           string
 	repository     string
 	repository     string
 	containers     *list.List
 	containers     *list.List
@@ -28,16 +28,16 @@ func init() {
 	sysInitPath = SelfPath()
 	sysInitPath = SelfPath()
 }
 }
 
 
-func (docker *Docker) List() []*Container {
+func (runtime *Runtime) List() []*Container {
 	containers := new(History)
 	containers := new(History)
-	for e := docker.containers.Front(); e != nil; e = e.Next() {
+	for e := runtime.containers.Front(); e != nil; e = e.Next() {
 		containers.Add(e.Value.(*Container))
 		containers.Add(e.Value.(*Container))
 	}
 	}
 	return *containers
 	return *containers
 }
 }
 
 
-func (docker *Docker) getContainerElement(id string) *list.Element {
-	for e := docker.containers.Front(); e != nil; e = e.Next() {
+func (runtime *Runtime) getContainerElement(id string) *list.Element {
+	for e := runtime.containers.Front(); e != nil; e = e.Next() {
 		container := e.Value.(*Container)
 		container := e.Value.(*Container)
 		if container.Id == id {
 		if container.Id == id {
 			return e
 			return e
@@ -46,23 +46,23 @@ func (docker *Docker) getContainerElement(id string) *list.Element {
 	return nil
 	return nil
 }
 }
 
 
-func (docker *Docker) Get(id string) *Container {
-	e := docker.getContainerElement(id)
+func (runtime *Runtime) Get(id string) *Container {
+	e := runtime.getContainerElement(id)
 	if e == nil {
 	if e == nil {
 		return nil
 		return nil
 	}
 	}
 	return e.Value.(*Container)
 	return e.Value.(*Container)
 }
 }
 
 
-func (docker *Docker) Exists(id string) bool {
-	return docker.Get(id) != nil
+func (runtime *Runtime) Exists(id string) bool {
+	return runtime.Get(id) != nil
 }
 }
 
 
-func (docker *Docker) containerRoot(id string) string {
-	return path.Join(docker.repository, id)
+func (runtime *Runtime) containerRoot(id string) string {
+	return path.Join(runtime.repository, id)
 }
 }
 
 
-func (docker *Docker) Create(command string, args []string, image string, config *Config) (*Container, error) {
+func (runtime *Runtime) Create(command string, args []string, image string, config *Config) (*Container, error) {
 	container := &Container{
 	container := &Container{
 		// FIXME: we should generate the ID here instead of receiving it as an argument
 		// FIXME: we should generate the ID here instead of receiving it as an argument
 		Id:              GenerateId(),
 		Id:              GenerateId(),
@@ -75,7 +75,7 @@ func (docker *Docker) Create(command string, args []string, image string, config
 		// FIXME: do we need to store this in the container?
 		// FIXME: do we need to store this in the container?
 		SysInitPath: sysInitPath,
 		SysInitPath: sysInitPath,
 	}
 	}
-	container.root = docker.containerRoot(container.Id)
+	container.root = runtime.containerRoot(container.Id)
 	// Step 1: create the container directory.
 	// Step 1: create the container directory.
 	// This doubles as a barrier to avoid race conditions.
 	// This doubles as a barrier to avoid race conditions.
 	if err := os.Mkdir(container.root, 0700); err != nil {
 	if err := os.Mkdir(container.root, 0700); err != nil {
@@ -86,36 +86,36 @@ func (docker *Docker) Create(command string, args []string, image string, config
 		return nil, err
 		return nil, err
 	}
 	}
 	// Step 3: register the container
 	// Step 3: register the container
-	if err := docker.Register(container); err != nil {
+	if err := runtime.Register(container); err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
 	return container, nil
 	return container, nil
 }
 }
 
 
-func (docker *Docker) Load(id string) (*Container, error) {
-	container := &Container{root: docker.containerRoot(id)}
+func (runtime *Runtime) Load(id string) (*Container, error) {
+	container := &Container{root: runtime.containerRoot(id)}
 	if err := container.FromDisk(); err != nil {
 	if err := container.FromDisk(); err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
 	if container.Id != id {
 	if container.Id != id {
 		return container, fmt.Errorf("Container %s is stored at %s", container.Id, id)
 		return container, fmt.Errorf("Container %s is stored at %s", container.Id, id)
 	}
 	}
-	if err := docker.Register(container); err != nil {
+	if err := runtime.Register(container); err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
 	return container, nil
 	return container, nil
 }
 }
 
 
 // Register makes a container object usable by the runtime as <container.Id>
 // Register makes a container object usable by the runtime as <container.Id>
-func (docker *Docker) Register(container *Container) error {
-	if container.runtime != nil || docker.Exists(container.Id) {
+func (runtime *Runtime) Register(container *Container) error {
+	if container.runtime != nil || runtime.Exists(container.Id) {
 		return fmt.Errorf("Container is already loaded")
 		return fmt.Errorf("Container is already loaded")
 	}
 	}
 	if err := validateId(container.Id); err != nil {
 	if err := validateId(container.Id); err != nil {
 		return err
 		return err
 	}
 	}
-	container.runtime = docker
-	container.networkManager = docker.networkManager // FIXME: infer from docker.runtime
+	container.runtime = runtime
+	container.networkManager = runtime.networkManager // FIXME: infer from docker.runtime
 	// Setup state lock (formerly in newState()
 	// Setup state lock (formerly in newState()
 	lock := new(sync.Mutex)
 	lock := new(sync.Mutex)
 	container.State.stateChangeLock = lock
 	container.State.stateChangeLock = lock
@@ -130,18 +130,18 @@ func (docker *Docker) Register(container *Container) error {
 		container.stdinPipe = NopWriteCloser(ioutil.Discard) // Silently drop stdin
 		container.stdinPipe = NopWriteCloser(ioutil.Discard) // Silently drop stdin
 	}
 	}
 	// Setup logging of stdout and stderr to disk
 	// Setup logging of stdout and stderr to disk
-	if err := docker.LogToDisk(container.stdout, container.logPath("stdout")); err != nil {
+	if err := runtime.LogToDisk(container.stdout, container.logPath("stdout")); err != nil {
 		return err
 		return err
 	}
 	}
-	if err := docker.LogToDisk(container.stderr, container.logPath("stderr")); err != nil {
+	if err := runtime.LogToDisk(container.stderr, container.logPath("stderr")); err != nil {
 		return err
 		return err
 	}
 	}
 	// done
 	// done
-	docker.containers.PushBack(container)
+	runtime.containers.PushBack(container)
 	return nil
 	return nil
 }
 }
 
 
-func (docker *Docker) LogToDisk(src *writeBroadcaster, dst string) error {
+func (runtime *Runtime) LogToDisk(src *writeBroadcaster, dst string) error {
 	log, err := os.OpenFile(dst, os.O_RDWR|os.O_APPEND|os.O_CREATE, 0600)
 	log, err := os.OpenFile(dst, os.O_RDWR|os.O_APPEND|os.O_CREATE, 0600)
 	if err != nil {
 	if err != nil {
 		return err
 		return err
@@ -150,8 +150,8 @@ func (docker *Docker) LogToDisk(src *writeBroadcaster, dst string) error {
 	return nil
 	return nil
 }
 }
 
 
-func (docker *Docker) Destroy(container *Container) error {
-	element := docker.getContainerElement(container.Id)
+func (runtime *Runtime) Destroy(container *Container) error {
+	element := runtime.getContainerElement(container.Id)
 	if element == nil {
 	if element == nil {
 		return fmt.Errorf("Container %v not found - maybe it was already destroyed?", container.Id)
 		return fmt.Errorf("Container %v not found - maybe it was already destroyed?", container.Id)
 	}
 	}
@@ -167,21 +167,21 @@ func (docker *Docker) Destroy(container *Container) error {
 		}
 		}
 	}
 	}
 	// Deregister the container before removing its directory, to avoid race conditions
 	// Deregister the container before removing its directory, to avoid race conditions
-	docker.containers.Remove(element)
+	runtime.containers.Remove(element)
 	if err := os.RemoveAll(container.root); err != nil {
 	if err := os.RemoveAll(container.root); err != nil {
 		return fmt.Errorf("Unable to remove filesystem for %v: %v", container.Id, err)
 		return fmt.Errorf("Unable to remove filesystem for %v: %v", container.Id, err)
 	}
 	}
 	return nil
 	return nil
 }
 }
 
 
-func (docker *Docker) restore() error {
-	dir, err := ioutil.ReadDir(docker.repository)
+func (runtime *Runtime) restore() error {
+	dir, err := ioutil.ReadDir(runtime.repository)
 	if err != nil {
 	if err != nil {
 		return err
 		return err
 	}
 	}
 	for _, v := range dir {
 	for _, v := range dir {
 		id := v.Name()
 		id := v.Name()
-		container, err := docker.Load(id)
+		container, err := runtime.Load(id)
 		if err != nil {
 		if err != nil {
 			log.Printf("Failed to load container %v: %v", id, err)
 			log.Printf("Failed to load container %v: %v", id, err)
 			continue
 			continue
@@ -191,14 +191,14 @@ func (docker *Docker) restore() error {
 	return nil
 	return nil
 }
 }
 
 
-func New() (*Docker, error) {
+func New() (*Runtime, error) {
 	return NewFromDirectory("/var/lib/docker")
 	return NewFromDirectory("/var/lib/docker")
 }
 }
 
 
-func NewFromDirectory(root string) (*Docker, error) {
-	docker_repo := path.Join(root, "containers")
+func NewFromDirectory(root string) (*Runtime, error) {
+	runtime_repo := path.Join(root, "containers")
 
 
-	if err := os.MkdirAll(docker_repo, 0700); err != nil && !os.IsExist(err) {
+	if err := os.MkdirAll(runtime_repo, 0700); err != nil && !os.IsExist(err) {
 		return nil, err
 		return nil, err
 	}
 	}
 
 
@@ -211,18 +211,18 @@ func NewFromDirectory(root string) (*Docker, error) {
 		return nil, err
 		return nil, err
 	}
 	}
 
 
-	docker := &Docker{
+	runtime := &Runtime{
 		root:           root,
 		root:           root,
-		repository:     docker_repo,
+		repository:     runtime_repo,
 		containers:     list.New(),
 		containers:     list.New(),
 		networkManager: netManager,
 		networkManager: netManager,
 		graph:          graph,
 		graph:          graph,
 	}
 	}
 
 
-	if err := docker.restore(); err != nil {
+	if err := runtime.restore(); err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
-	return docker, nil
+	return runtime, nil
 }
 }
 
 
 type History []*Container
 type History []*Container

+ 64 - 64
docker_test.go

@@ -16,8 +16,8 @@ const unitTestImageName string = "busybox"
 var unitTestStoreBase string
 var unitTestStoreBase string
 var srv *Server
 var srv *Server
 
 
-func nuke(docker *Docker) error {
-	return os.RemoveAll(docker.root)
+func nuke(runtime *Runtime) error {
+	return os.RemoveAll(runtime.root)
 }
 }
 
 
 func CopyDirectory(source, dest string) error {
 func CopyDirectory(source, dest string) error {
@@ -57,13 +57,13 @@ func init() {
 	unitTestStoreBase = root
 	unitTestStoreBase = root
 
 
 	// Make it our Store root
 	// Make it our Store root
-	docker, err := NewFromDirectory(root)
+	runtime, err := NewFromDirectory(root)
 	if err != nil {
 	if err != nil {
 		panic(err)
 		panic(err)
 	}
 	}
 	// Create the "Server"
 	// Create the "Server"
 	srv := &Server{
 	srv := &Server{
-		containers: docker,
+		runtime: runtime,
 	}
 	}
 	// Retrieve the Image
 	// Retrieve the Image
 	if err := srv.CmdImport(os.Stdin, os.Stdout, unitTestImageName); err != nil {
 	if err := srv.CmdImport(os.Stdin, os.Stdout, unitTestImageName); err != nil {
@@ -71,7 +71,7 @@ func init() {
 	}
 	}
 }
 }
 
 
-func newTestDocker() (*Docker, error) {
+func newTestRuntime() (*Runtime, error) {
 	root, err := ioutil.TempDir("", "docker-test")
 	root, err := ioutil.TempDir("", "docker-test")
 	if err != nil {
 	if err != nil {
 		return nil, err
 		return nil, err
@@ -84,16 +84,16 @@ func newTestDocker() (*Docker, error) {
 		return nil, err
 		return nil, err
 	}
 	}
 
 
-	docker, err := NewFromDirectory(root)
+	runtime, err := NewFromDirectory(root)
 	if err != nil {
 	if err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
 
 
-	return docker, nil
+	return runtime, nil
 }
 }
 
 
-func GetTestImage(docker *Docker) *graph.Image {
-	imgs, err := docker.graph.All()
+func GetTestImage(runtime *Runtime) *graph.Image {
+	imgs, err := runtime.graph.All()
 	if err != nil {
 	if err != nil {
 		panic(err)
 		panic(err)
 	} else if len(imgs) < 1 {
 	} else if len(imgs) < 1 {
@@ -103,20 +103,20 @@ func GetTestImage(docker *Docker) *graph.Image {
 }
 }
 
 
 func TestCreate(t *testing.T) {
 func TestCreate(t *testing.T) {
-	docker, err := newTestDocker()
+	runtime, err := newTestRuntime()
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer nuke(docker)
+	defer nuke(runtime)
 
 
 	// Make sure we start we 0 containers
 	// Make sure we start we 0 containers
-	if len(docker.List()) != 0 {
-		t.Errorf("Expected 0 containers, %v found", len(docker.List()))
+	if len(runtime.List()) != 0 {
+		t.Errorf("Expected 0 containers, %v found", len(runtime.List()))
 	}
 	}
-	container, err := docker.Create(
+	container, err := runtime.Create(
 		"ls",
 		"ls",
 		[]string{"-al"},
 		[]string{"-al"},
-		GetTestImage(docker).Id,
+		GetTestImage(runtime).Id,
 		&Config{},
 		&Config{},
 	)
 	)
 	if err != nil {
 	if err != nil {
@@ -124,69 +124,69 @@ func TestCreate(t *testing.T) {
 	}
 	}
 
 
 	defer func() {
 	defer func() {
-		if err := docker.Destroy(container); err != nil {
+		if err := runtime.Destroy(container); err != nil {
 			t.Error(err)
 			t.Error(err)
 		}
 		}
 	}()
 	}()
 
 
 	// Make sure we can find the newly created container with List()
 	// Make sure we can find the newly created container with List()
-	if len(docker.List()) != 1 {
-		t.Errorf("Expected 1 container, %v found", len(docker.List()))
+	if len(runtime.List()) != 1 {
+		t.Errorf("Expected 1 container, %v found", len(runtime.List()))
 	}
 	}
 
 
 	// Make sure the container List() returns is the right one
 	// Make sure the container List() returns is the right one
-	if docker.List()[0].Id != container.Id {
-		t.Errorf("Unexpected container %v returned by List", docker.List()[0])
+	if runtime.List()[0].Id != container.Id {
+		t.Errorf("Unexpected container %v returned by List", runtime.List()[0])
 	}
 	}
 
 
 	// Make sure we can get the container with Get()
 	// Make sure we can get the container with Get()
-	if docker.Get(container.Id) == nil {
+	if runtime.Get(container.Id) == nil {
 		t.Errorf("Unable to get newly created container")
 		t.Errorf("Unable to get newly created container")
 	}
 	}
 
 
 	// Make sure it is the right container
 	// Make sure it is the right container
-	if docker.Get(container.Id) != container {
+	if runtime.Get(container.Id) != container {
 		t.Errorf("Get() returned the wrong container")
 		t.Errorf("Get() returned the wrong container")
 	}
 	}
 
 
 	// Make sure Exists returns it as existing
 	// Make sure Exists returns it as existing
-	if !docker.Exists(container.Id) {
+	if !runtime.Exists(container.Id) {
 		t.Errorf("Exists() returned false for a newly created container")
 		t.Errorf("Exists() returned false for a newly created container")
 	}
 	}
 }
 }
 
 
 func TestDestroy(t *testing.T) {
 func TestDestroy(t *testing.T) {
-	docker, err := newTestDocker()
+	runtime, err := newTestRuntime()
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer nuke(docker)
-	container, err := docker.Create(
+	defer nuke(runtime)
+	container, err := runtime.Create(
 		"ls",
 		"ls",
 		[]string{"-al"},
 		[]string{"-al"},
-		GetTestImage(docker).Id,
+		GetTestImage(runtime).Id,
 		&Config{},
 		&Config{},
 	)
 	)
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
 	// Destroy
 	// Destroy
-	if err := docker.Destroy(container); err != nil {
+	if err := runtime.Destroy(container); err != nil {
 		t.Error(err)
 		t.Error(err)
 	}
 	}
 
 
-	// Make sure docker.Exists() behaves correctly
-	if docker.Exists("test_destroy") {
+	// Make sure runtime.Exists() behaves correctly
+	if runtime.Exists("test_destroy") {
 		t.Errorf("Exists() returned true")
 		t.Errorf("Exists() returned true")
 	}
 	}
 
 
-	// Make sure docker.List() doesn't list the destroyed container
-	if len(docker.List()) != 0 {
-		t.Errorf("Expected 0 container, %v found", len(docker.List()))
+	// Make sure runtime.List() doesn't list the destroyed container
+	if len(runtime.List()) != 0 {
+		t.Errorf("Expected 0 container, %v found", len(runtime.List()))
 	}
 	}
 
 
-	// Make sure docker.Get() refuses to return the unexisting container
-	if docker.Get(container.Id) != nil {
+	// Make sure runtime.Get() refuses to return the unexisting container
+	if runtime.Get(container.Id) != nil {
 		t.Errorf("Unable to get newly created container")
 		t.Errorf("Unable to get newly created container")
 	}
 	}
 
 
@@ -197,61 +197,61 @@ func TestDestroy(t *testing.T) {
 	}
 	}
 
 
 	// Test double destroy
 	// Test double destroy
-	if err := docker.Destroy(container); err == nil {
+	if err := runtime.Destroy(container); err == nil {
 		// It should have failed
 		// It should have failed
 		t.Errorf("Double destroy did not fail")
 		t.Errorf("Double destroy did not fail")
 	}
 	}
 }
 }
 
 
 func TestGet(t *testing.T) {
 func TestGet(t *testing.T) {
-	docker, err := newTestDocker()
+	runtime, err := newTestRuntime()
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer nuke(docker)
-	container1, err := docker.Create(
+	defer nuke(runtime)
+	container1, err := runtime.Create(
 		"ls",
 		"ls",
 		[]string{"-al"},
 		[]string{"-al"},
-		GetTestImage(docker).Id,
+		GetTestImage(runtime).Id,
 		&Config{},
 		&Config{},
 	)
 	)
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer docker.Destroy(container1)
+	defer runtime.Destroy(container1)
 
 
-	container2, err := docker.Create(
+	container2, err := runtime.Create(
 		"ls",
 		"ls",
 		[]string{"-al"},
 		[]string{"-al"},
-		GetTestImage(docker).Id,
+		GetTestImage(runtime).Id,
 		&Config{},
 		&Config{},
 	)
 	)
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer docker.Destroy(container2)
+	defer runtime.Destroy(container2)
 
 
-	container3, err := docker.Create(
+	container3, err := runtime.Create(
 		"ls",
 		"ls",
 		[]string{"-al"},
 		[]string{"-al"},
-		GetTestImage(docker).Id,
+		GetTestImage(runtime).Id,
 		&Config{},
 		&Config{},
 	)
 	)
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer docker.Destroy(container3)
+	defer runtime.Destroy(container3)
 
 
-	if docker.Get(container1.Id) != container1 {
-		t.Errorf("Get(test1) returned %v while expecting %v", docker.Get(container1.Id), container1)
+	if runtime.Get(container1.Id) != container1 {
+		t.Errorf("Get(test1) returned %v while expecting %v", runtime.Get(container1.Id), container1)
 	}
 	}
 
 
-	if docker.Get(container2.Id) != container2 {
-		t.Errorf("Get(test2) returned %v while expecting %v", docker.Get(container2.Id), container2)
+	if runtime.Get(container2.Id) != container2 {
+		t.Errorf("Get(test2) returned %v while expecting %v", runtime.Get(container2.Id), container2)
 	}
 	}
 
 
-	if docker.Get(container3.Id) != container3 {
-		t.Errorf("Get(test3) returned %v while expecting %v", docker.Get(container3.Id), container3)
+	if runtime.Get(container3.Id) != container3 {
+		t.Errorf("Get(test3) returned %v while expecting %v", runtime.Get(container3.Id), container3)
 	}
 	}
 
 
 }
 }
@@ -269,24 +269,24 @@ func TestRestore(t *testing.T) {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
 
 
-	docker1, err := NewFromDirectory(root)
+	runtime1, err := NewFromDirectory(root)
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
 
 
 	// Create a container with one instance of docker
 	// Create a container with one instance of docker
-	container1, err := docker1.Create(
+	container1, err := runtime1.Create(
 		"ls",
 		"ls",
 		[]string{"-al"},
 		[]string{"-al"},
-		GetTestImage(docker1).Id,
+		GetTestImage(runtime1).Id,
 		&Config{},
 		&Config{},
 	)
 	)
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer docker1.Destroy(container1)
-	if len(docker1.List()) != 1 {
-		t.Errorf("Expected 1 container, %v found", len(docker1.List()))
+	defer runtime1.Destroy(container1)
+	if len(runtime1.List()) != 1 {
+		t.Errorf("Expected 1 container, %v found", len(runtime1.List()))
 	}
 	}
 	if err := container1.Run(); err != nil {
 	if err := container1.Run(); err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
@@ -294,15 +294,15 @@ func TestRestore(t *testing.T) {
 
 
 	// Here are are simulating a docker restart - that is, reloading all containers
 	// Here are are simulating a docker restart - that is, reloading all containers
 	// from scratch
 	// from scratch
-	docker2, err := NewFromDirectory(root)
+	runtime2, err := NewFromDirectory(root)
 	if err != nil {
 	if err != nil {
 		t.Fatal(err)
 		t.Fatal(err)
 	}
 	}
-	defer nuke(docker2)
-	if len(docker2.List()) != 1 {
-		t.Errorf("Expected 1 container, %v found", len(docker2.List()))
+	defer nuke(runtime2)
+	if len(runtime2.List()) != 1 {
+		t.Errorf("Expected 1 container, %v found", len(runtime2.List()))
 	}
 	}
-	container2 := docker2.Get(container1.Id)
+	container2 := runtime2.Get(container1.Id)
 	if container2 == nil {
 	if container2 == nil {
 		t.Fatal("Unable to Get container")
 		t.Fatal("Unable to Get container")
 	}
 	}