From c5117371369d932081f6eef8fad4ea95ab539376 Mon Sep 17 00:00:00 2001 From: Marcos Nils Date: Tue, 11 Apr 2017 14:01:15 -0300 Subject: [PATCH] Allow to specify image new when creating instances (#84) --- handlers/new_instance.go | 6 +++++- services/instance.go | 7 +++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/handlers/new_instance.go b/handlers/new_instance.go index cb95ab9..e4dd39e 100644 --- a/handlers/new_instance.go +++ b/handlers/new_instance.go @@ -13,6 +13,10 @@ func NewInstance(rw http.ResponseWriter, req *http.Request) { vars := mux.Vars(req) sessionId := vars["sessionId"] + body := struct{ ImageName string }{} + + json.NewDecoder(req.Body).Decode(&body) + s := services.GetSession(sessionId) s.Lock() @@ -22,7 +26,7 @@ func NewInstance(rw http.ResponseWriter, req *http.Request) { return } - i, err := services.NewInstance(s) + i, err := services.NewInstance(s, body.ImageName) if err != nil { log.Println(err) rw.WriteHeader(http.StatusInternalServerError) diff --git a/services/instance.go b/services/instance.go index 2a72710..d08d3f7 100644 --- a/services/instance.go +++ b/services/instance.go @@ -91,8 +91,11 @@ func getDindImageName() string { return dindImage } -func NewInstance(session *Session) (*Instance, error) { - log.Printf("NewInstance - using image: [%s]\n", dindImage) +func NewInstance(session *Session, imageName string) (*Instance, error) { + if imageName == "" { + imageName = dindImage + } + log.Printf("NewInstance - using image: [%s]\n", imageName) instance, err := CreateInstance(session, dindImage) if err != nil { return nil, err