From 6f9467204460b9f41ea37b8f3ec091f836e11032 Mon Sep 17 00:00:00 2001 From: Josh Curl Date: Fri, 26 Feb 2016 12:04:32 -0800 Subject: [PATCH] Only run upgrade container once --- cmd/control/os.go | 6 +----- compose/project.go | 13 +++++++++++-- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/cmd/control/os.go b/cmd/control/os.go index 0efd2d29..b02ffd28 100644 --- a/cmd/control/os.go +++ b/cmd/control/os.go @@ -201,7 +201,7 @@ func startUpgradeContainer(image string, stage, force, reboot bool) error { } } - if err := container.Start(); err != nil { + if err := container.Up(); err != nil { return err } @@ -209,10 +209,6 @@ func startUpgradeContainer(image string, stage, force, reboot bool) error { return err } - if err := container.Up(); err != nil { - return err - } - if err := container.Delete(); err != nil { return err } diff --git a/compose/project.go b/compose/project.go index 6a0b72b9..c31c681e 100644 --- a/compose/project.go +++ b/compose/project.go @@ -20,7 +20,7 @@ func CreateService(cfg *config.CloudConfig, name string, serviceConfig *project. } } - p, err := RunServiceSet("once", cfg, map[string]*project.ServiceConfig{ + p, err := CreateServiceSet("once", cfg, map[string]*project.ServiceConfig{ name: serviceConfig, }) if err != nil { @@ -30,7 +30,7 @@ func CreateService(cfg *config.CloudConfig, name string, serviceConfig *project. return p.CreateService(name) } -func RunServiceSet(name string, cfg *config.CloudConfig, configs map[string]*project.ServiceConfig) (*project.Project, error) { +func CreateServiceSet(name string, cfg *config.CloudConfig, configs map[string]*project.ServiceConfig) (*project.Project, error) { p, err := newProject(name, cfg) if err != nil { return nil, err @@ -38,6 +38,15 @@ func RunServiceSet(name string, cfg *config.CloudConfig, configs map[string]*pro addServices(p, map[interface{}]interface{}{}, configs) + return p, nil +} + +func RunServiceSet(name string, cfg *config.CloudConfig, configs map[string]*project.ServiceConfig) (*project.Project, error) { + p, err := CreateServiceSet(name, cfg, configs) + if err != nil { + return nil, err + } + return p, p.Up() }