From e11a1896fd30b03173bf2f6dc59469ceec917795 Mon Sep 17 00:00:00 2001 From: Henrique Chehad Date: Mon, 22 Aug 2016 18:21:59 -0300 Subject: [PATCH] rebase/merging runner --- api/models/app.go | 1 + api/server/routes_create.go | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/api/models/app.go b/api/models/app.go index 2739c5182..811f60510 100644 --- a/api/models/app.go +++ b/api/models/app.go @@ -16,6 +16,7 @@ var ( ErrAppsNotFound = errors.New("App not found") ErrAppsNothingToUpdate = errors.New("Nothing to update") ErrAppsMissingNew = errors.New("Missing new application") + ErrUsableImage = errors.New("Image not found") ) type App struct { diff --git a/api/server/routes_create.go b/api/server/routes_create.go index 0d925caee..f527f1176 100644 --- a/api/server/routes_create.go +++ b/api/server/routes_create.go @@ -7,6 +7,7 @@ import ( "github.com/gin-gonic/gin" "github.com/iron-io/functions/api/models" + "github.com/iron-io/functions/api/runner" titancommon "github.com/iron-io/titan/common" ) @@ -37,6 +38,17 @@ func handleRouteCreate(c *gin.Context) { return } + run := runner.New(&runner.Config{ + Ctx: ctx, + Route: wroute.Route, + }) + + err = run.EnsureUsableImage() + if err != nil { + c.JSON(http.StatusInternalServerError, simpleError(models.ErrUsableImage)) + return + } + app, err := Api.Datastore.GetApp(wroute.Route.AppName) if err != nil { log.WithError(err).Error(models.ErrAppsGet)