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:
parent
00eddf5e67
commit
99f6309b97
12 changed files with 16 additions and 103 deletions
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
|
|
18
graph/tag.go
18
graph/tag.go
|
@ -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"))
|
||||
}
|
|
@ -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)
|
||||
}
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
||||
|
|
|
@ -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")
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue