1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00

remove job from tag

Signed-off-by: Simei He <hesimei@zju.edu.cn>
This commit is contained in:
Simei He 2015-04-14 10:46:29 +08:00
parent 00eddf5e67
commit 99f6309b97
12 changed files with 16 additions and 103 deletions

View file

@ -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)

View file

@ -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
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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)
}

View file

@ -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
}
}

View file

@ -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,

View file

@ -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"))
}

View file

@ -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)
}

View file

@ -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 {

View file

@ -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)
}

View file

@ -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")
}
}