mirror of
https://github.com/clearlinux/docker.git
synced 2026-09-05 13:11:30 +00:00
Remove top level link command and endpoint
This commit is contained in:
@@ -957,61 +957,6 @@ func writeCorsHeaders(w http.ResponseWriter, r *http.Request) {
|
||||
w.Header().Add("Access-Control-Allow-Methods", "GET, POST, DELETE, PUT, OPTIONS")
|
||||
}
|
||||
|
||||
func getLinksJSON(srv *Server, version float64, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
|
||||
out := []APILink{}
|
||||
name := r.FormValue("name")
|
||||
rawRm := r.FormValue("rm")
|
||||
rawAll := r.FormValue("all")
|
||||
|
||||
rm, err := getBoolParam(rawRm)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
all, err := getBoolParam(rawAll)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if rm {
|
||||
link := srv.runtime.links.GetById(name)
|
||||
if link != nil {
|
||||
if err := srv.runtime.links.removeLink(link); err != nil {
|
||||
return err
|
||||
}
|
||||
w.WriteHeader(http.StatusOK)
|
||||
return nil
|
||||
}
|
||||
w.WriteHeader(http.StatusNotFound)
|
||||
return nil
|
||||
}
|
||||
var links []*Link
|
||||
if all {
|
||||
links = srv.runtime.links.GetAll()
|
||||
} else {
|
||||
if name == "" {
|
||||
return fmt.Errorf("Name cannot be empty for link")
|
||||
}
|
||||
container := srv.runtime.Get(name)
|
||||
if container == nil {
|
||||
return fmt.Errorf("Container not found %s", name)
|
||||
}
|
||||
links = srv.runtime.links.Get(container)
|
||||
}
|
||||
|
||||
for _, l := range links {
|
||||
out = append(out, APILink{
|
||||
ID: l.ID(),
|
||||
To: l.ToID,
|
||||
From: l.FromID,
|
||||
Alias: l.Alias,
|
||||
})
|
||||
}
|
||||
|
||||
w.Header().Add("Content-Type", "application/json")
|
||||
writeJSON(w, http.StatusOK, out)
|
||||
return nil
|
||||
}
|
||||
|
||||
func makeHttpHandler(srv *Server, logging bool, localMethod string, localRoute string, handlerFunc HttpApiFunc) http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {
|
||||
// log the request
|
||||
@@ -1067,7 +1012,6 @@ func createRouter(srv *Server, logging bool) (*mux.Router, error) {
|
||||
"/containers/{name:.*}/json": getContainersByName,
|
||||
"/containers/{name:.*}/top": getContainersTop,
|
||||
"/containers/{name:.*}/attach/ws": wsContainersAttach,
|
||||
"/links/json": getLinksJSON,
|
||||
},
|
||||
"POST": {
|
||||
"/auth": postAuth,
|
||||
|
||||
@@ -121,10 +121,3 @@ type APICopy struct {
|
||||
Resource string
|
||||
HostPath string
|
||||
}
|
||||
|
||||
type APILink struct {
|
||||
ID string
|
||||
To string
|
||||
From string
|
||||
Alias string
|
||||
}
|
||||
|
||||
-52
@@ -96,7 +96,6 @@ func (cli *DockerCli) CmdHelp(args ...string) error {
|
||||
{"insert", "Insert a file in an image"},
|
||||
{"inspect", "Return low-level information on a container"},
|
||||
{"kill", "Kill a running container"},
|
||||
{"links", "View and modify links to running containers"},
|
||||
{"login", "Register or Login to the docker registry server"},
|
||||
{"logs", "Fetch the logs of a container"},
|
||||
{"port", "Lookup the public-facing port which is NAT-ed to PRIVATE_PORT"},
|
||||
@@ -1113,57 +1112,6 @@ func (cli *DockerCli) CmdPs(args ...string) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (cli *DockerCli) CmdLinks(args ...string) error {
|
||||
cmd := Subcmd("links", "[OPTIONS] CONTAINER", "Get the links for a container")
|
||||
flRm := cmd.Bool("rm", false, "Remove an existing link by the link ID")
|
||||
flAll := cmd.Bool("a", false, "Display all registered and active links")
|
||||
|
||||
if err := cmd.Parse(args); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if cmd.NArg() < 1 && !*flAll {
|
||||
cmd.Usage()
|
||||
return nil
|
||||
}
|
||||
|
||||
v := url.Values{}
|
||||
v.Set("name", cmd.Arg(0))
|
||||
|
||||
if *flRm {
|
||||
v.Set("rm", "1")
|
||||
}
|
||||
|
||||
if *flAll {
|
||||
v.Set("all", "1")
|
||||
}
|
||||
|
||||
body, statusCode, err := cli.call("GET", "/links/json?"+v.Encode(), nil)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if *flRm && statusCode == 200 {
|
||||
fmt.Printf("Link successfully removed: %s\n", cmd.Arg(0))
|
||||
return nil
|
||||
}
|
||||
|
||||
var links []APILink
|
||||
if err := json.Unmarshal(body, &links); err != nil {
|
||||
return err
|
||||
}
|
||||
w := tabwriter.NewWriter(cli.out, 20, 1, 3, ' ', 0)
|
||||
|
||||
fmt.Fprintf(w, "ID\tFROM\tTO\tALIAS")
|
||||
fmt.Fprintf(w, "\n")
|
||||
for _, l := range links {
|
||||
fmt.Fprintf(w, "%s\t%s\t%s\t%s", l.ID, l.From, l.To, l.Alias)
|
||||
fmt.Fprintf(w, "\n")
|
||||
}
|
||||
w.Flush()
|
||||
return nil
|
||||
}
|
||||
|
||||
func (cli *DockerCli) CmdCommit(args ...string) error {
|
||||
cmd := Subcmd("commit", "[OPTIONS] CONTAINER [REPOSITORY [TAG]]", "Create a new image from a container's changes")
|
||||
flComment := cmd.String("m", "", "Commit message")
|
||||
|
||||
+10
-10
@@ -49,10 +49,10 @@ func TestLinkNew(t *testing.T) {
|
||||
if link == nil {
|
||||
t.FailNow()
|
||||
}
|
||||
if link.ID() != fmt.Sprintf("%s:%s", utils.TruncateID(to.ID), "DOCKER") {
|
||||
if link.ID() != fmt.Sprintf("%s:%s", utils.TruncateID(to.ID), "docker") {
|
||||
t.Fail()
|
||||
}
|
||||
if link.Alias != "DOCKER" {
|
||||
if link.Alias != "docker" {
|
||||
t.Fail()
|
||||
}
|
||||
if link.FromID != utils.TruncateID(from.ID) {
|
||||
@@ -107,16 +107,16 @@ func TestLinkEnv(t *testing.T) {
|
||||
}
|
||||
env[parts[0]] = parts[1]
|
||||
}
|
||||
if env["DOCKER_PORT"] != "tcp://172.0.17.2:6379" {
|
||||
t.Fail()
|
||||
if env["docker_PORT"] != "tcp://172.0.17.2:6379" {
|
||||
t.Fatalf("Expected tcp://172.0.17.2:6379, got %s", env["docker_PORT"])
|
||||
}
|
||||
if env["DOCKER_PORT_6379_TCP"] != "tcp://172.0.17.2:6379" {
|
||||
t.Fail()
|
||||
if env["docker_PORT_6379_tcp"] != "tcp://172.0.17.2:6379" {
|
||||
t.Fatalf("Expected tcp://172.0.17.2:6379, got %s", env["docker_PORT_6379_tcp"])
|
||||
}
|
||||
if env["DOCKER_ID"] != utils.TruncateID(from.ID) {
|
||||
t.Fail()
|
||||
if env["docker_ID"] != utils.TruncateID(from.ID) {
|
||||
t.Fatalf("Expected %s, got %s", utils.TruncateID(from.ID), env["docker_ID"])
|
||||
}
|
||||
if env["DOCKER_ENV_PASSWORD"] != "gordon" {
|
||||
t.Fail()
|
||||
if env["docker_ENV_PASSWORD"] != "gordon" {
|
||||
t.Fatalf("Expected gordon, got %s", env["docker_ENV_PASSWORD"])
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user