diff --git a/api/server/server.go b/api/server/server.go index 7ed3abc889..7d31c8420e 100644 --- a/api/server/server.go +++ b/api/server/server.go @@ -586,9 +586,11 @@ func postImagesTag(eng *engine.Engine, version version.Version, w http.ResponseW return fmt.Errorf("Missing parameter") } - job := eng.Job("tag", vars["name"], r.Form.Get("repo"), r.Form.Get("tag")) - job.Setenv("force", r.Form.Get("force")) - if err := job.Run(); err != nil { + d := getDaemon(eng) + repo := r.Form.Get("repo") + tag := r.Form.Get("tag") + force := toBool(r.Form.Get("force")) + if err := d.Repositories().Tag(repo, tag, vars["name"], force); err != nil { return err } w.WriteHeader(http.StatusCreated) diff --git a/builder/job.go b/builder/job.go index 89ed52f873..7e1d035d3c 100644 --- a/builder/job.go +++ b/builder/job.go @@ -164,7 +164,7 @@ func (b *BuilderJob) CmdBuild(job *engine.Job) error { } if repoName != "" { - b.Daemon.Repositories().Set(repoName, tag, id, true) + b.Daemon.Repositories().Tag(repoName, tag, id, true) } return nil } diff --git a/daemon/commit.go b/daemon/commit.go index 1e534cf628..a60ed08191 100644 --- a/daemon/commit.go +++ b/daemon/commit.go @@ -101,7 +101,7 @@ func (daemon *Daemon) Commit(container *Container, repository, tag, comment, aut // Register the image if needed if repository != "" { - if err := daemon.repositories.Set(repository, tag, img.ID, true); err != nil { + if err := daemon.repositories.Tag(repository, tag, img.ID, true); err != nil { return img, err } } diff --git a/graph/import.go b/graph/import.go index eb63af0b60..7c6485d9d4 100644 --- a/graph/import.go +++ b/graph/import.go @@ -82,7 +82,7 @@ func (s *TagStore) CmdImport(job *engine.Job) error { } // Optionally register the image at REPO/TAG if repo != "" { - if err := s.Set(repo, tag, img.ID, true); err != nil { + if err := s.Tag(repo, tag, img.ID, true); err != nil { return err } } diff --git a/graph/manifest_test.go b/graph/manifest_test.go index 9137041827..2702dcaf56 100644 --- a/graph/manifest_test.go +++ b/graph/manifest_test.go @@ -135,7 +135,7 @@ func TestManifestTarsumCache(t *testing.T) { if err := store.graph.Register(img, archive); err != nil { t.Fatal(err) } - if err := store.Set(testManifestImageName, testManifestTag, testManifestImageID, false); err != nil { + if err := store.Tag(testManifestImageName, testManifestTag, testManifestImageID, false); err != nil { t.Fatal(err) } diff --git a/graph/pull.go b/graph/pull.go index a9f91b4a27..ce66a03335 100644 --- a/graph/pull.go +++ b/graph/pull.go @@ -249,7 +249,7 @@ func (s *TagStore) pullRepository(r *registry.Session, out io.Writer, repoInfo * if askedTag != "" && tag != askedTag { continue } - if err := s.Set(repoInfo.LocalName, tag, id, true); err != nil { + if err := s.Tag(repoInfo.LocalName, tag, id, true); err != nil { return err } } @@ -617,7 +617,7 @@ func (s *TagStore) pullV2Tag(eng *engine.Engine, r *registry.Session, out io.Wri } } else { // only set the repository/tag -> image ID mapping when pulling by tag (i.e. not by digest) - if err = s.Set(repoInfo.LocalName, tag, downloads[0].img.ID, true); err != nil { + if err = s.Tag(repoInfo.LocalName, tag, downloads[0].img.ID, true); err != nil { return false, err } } diff --git a/graph/service.go b/graph/service.go index 46f83103db..dfa35565d2 100644 --- a/graph/service.go +++ b/graph/service.go @@ -12,7 +12,6 @@ import ( func (s *TagStore) Install(eng *engine.Engine) error { for name, handler := range map[string]engine.Handler{ "image_set": s.CmdSet, - "tag": s.CmdTag, "image_get": s.CmdGet, "image_inspect": s.CmdLookup, "image_tarlayer": s.CmdTarLayer, diff --git a/graph/tag.go b/graph/tag.go deleted file mode 100644 index c0b269946f..0000000000 --- a/graph/tag.go +++ /dev/null @@ -1,18 +0,0 @@ -package graph - -import ( - "fmt" - - "github.com/docker/docker/engine" -) - -func (s *TagStore) CmdTag(job *engine.Job) error { - if len(job.Args) != 2 && len(job.Args) != 3 { - return fmt.Errorf("Usage: %s IMAGE REPOSITORY [TAG]\n", job.Name) - } - var tag string - if len(job.Args) == 3 { - tag = job.Args[2] - } - return s.Set(job.Args[1], tag, job.Args[0], job.GetenvBool("force")) -} diff --git a/graph/tags.go b/graph/tags.go index 6346ea8b50..444e74f726 100644 --- a/graph/tags.go +++ b/graph/tags.go @@ -224,7 +224,7 @@ func (store *TagStore) Delete(repoName, ref string) (bool, error) { return deleted, store.save() } -func (store *TagStore) Set(repoName, tag, imageName string, force bool) error { +func (store *TagStore) Tag(repoName, tag, imageName string, force bool) error { return store.SetLoad(repoName, tag, imageName, force, nil) } diff --git a/graph/tags_unit_test.go b/graph/tags_unit_test.go index be5624245c..4a4ddbe4b3 100644 --- a/graph/tags_unit_test.go +++ b/graph/tags_unit_test.go @@ -72,7 +72,7 @@ func mkTestTagStore(root string, t *testing.T) *TagStore { if err := graph.Register(img, officialArchive); err != nil { t.Fatal(err) } - if err := store.Set(testOfficialImageName, "", testOfficialImageID, false); err != nil { + if err := store.Tag(testOfficialImageName, "", testOfficialImageID, false); err != nil { t.Fatal(err) } privateArchive, err := fakeTar() @@ -83,7 +83,7 @@ func mkTestTagStore(root string, t *testing.T) *TagStore { if err := graph.Register(img, privateArchive); err != nil { t.Fatal(err) } - if err := store.Set(testPrivateImageName, "", testPrivateImageID, false); err != nil { + if err := store.Tag(testPrivateImageName, "", testPrivateImageID, false); err != nil { t.Fatal(err) } if err := store.SetDigest(testPrivateImageName, testPrivateImageDigest, testPrivateImageID); err != nil { diff --git a/integration/api_test.go b/integration/api_test.go index c527bcb927..5a8c7d459a 100644 --- a/integration/api_test.go +++ b/integration/api_test.go @@ -761,7 +761,8 @@ func TestDeleteImages(t *testing.T) { initialImages := getImages(eng, t, true, "") - if err := eng.Job("tag", unitTestImageName, "test", "test").Run(); err != nil { + d := getDaemon(eng) + if err := d.Repositories().Tag("test", "test", unitTestImageName, true); err != nil { t.Fatal(err) } diff --git a/integration/server_test.go b/integration/server_test.go deleted file mode 100644 index 9745d9ce0f..0000000000 --- a/integration/server_test.go +++ /dev/null @@ -1,71 +0,0 @@ -package docker - -import "testing" - -func TestCreateNumberHostname(t *testing.T) { - eng := NewTestEngine(t) - defer mkDaemonFromEngine(eng, t).Nuke() - - config, _, _, err := parseRun([]string{"-h", "web.0", unitTestImageID, "echo test"}) - if err != nil { - t.Fatal(err) - } - - createTestContainer(eng, config, t) -} - -func TestRunWithTooLowMemoryLimit(t *testing.T) { - eng := NewTestEngine(t) - defer mkDaemonFromEngine(eng, t).Nuke() - - // Try to create a container with a memory limit of 1 byte less than the minimum allowed limit. - job := eng.Job("create") - job.Setenv("Image", unitTestImageID) - job.Setenv("Memory", "524287") - job.Setenv("CpuShares", "1000") - job.SetenvList("Cmd", []string{"/bin/cat"}) - if err := job.Run(); err == nil { - t.Errorf("Memory limit is smaller than the allowed limit. Container creation should've failed!") - } -} - -func TestImagesFilter(t *testing.T) { - eng := NewTestEngine(t) - defer nuke(mkDaemonFromEngine(eng, t)) - - if err := eng.Job("tag", unitTestImageName, "utest", "tag1").Run(); err != nil { - t.Fatal(err) - } - - if err := eng.Job("tag", unitTestImageName, "utest/docker", "tag2").Run(); err != nil { - t.Fatal(err) - } - - if err := eng.Job("tag", unitTestImageName, "utest:5000/docker", "tag3").Run(); err != nil { - t.Fatal(err) - } - - images := getImages(eng, t, false, "utest*/*") - - if len(images[0].RepoTags) != 2 { - t.Fatal("incorrect number of matches returned") - } - - images = getImages(eng, t, false, "utest") - - if len(images[0].RepoTags) != 1 { - t.Fatal("incorrect number of matches returned") - } - - images = getImages(eng, t, false, "utest*") - - if len(images[0].RepoTags) != 1 { - t.Fatal("incorrect number of matches returned") - } - - images = getImages(eng, t, false, "*5000*/*") - - if len(images[0].RepoTags) != 1 { - t.Fatal("incorrect number of matches returned") - } -}