1
0
mirror of https://github.com/rancher/os.git synced 2025-09-01 14:48:55 +00:00

Stage services when they are enabled

This commit is contained in:
Josh Curl
2016-02-29 19:29:07 -08:00
parent e861ae65ca
commit 2f10f9052a
2 changed files with 50 additions and 6 deletions

View File

@@ -132,26 +132,29 @@ func del(c *cli.Context) {
}
func enable(c *cli.Context) {
changed := false
cfg, err := config.LoadConfig()
if err != nil {
logrus.Fatal(err)
}
var enabledServices []string
for _, service := range c.Args() {
if val, ok := cfg.Rancher.ServicesInclude[service]; !ok || !val {
if strings.HasPrefix(service, "/") && !strings.HasPrefix(service, "/var/lib/rancher/conf") {
logrus.Fatalf("ERROR: Service should be in path /var/lib/rancher/conf")
}
if _, err := compose.LoadServiceResource(service, true, cfg); err != nil {
logrus.Fatalf("could not load service %s", service)
}
cfg.Rancher.ServicesInclude[service] = true
changed = true
enabledServices = append(enabledServices, service)
}
}
if changed {
if len(enabledServices) > 0 {
if err := compose.StageServices(cfg, enabledServices...); err != nil {
logrus.Fatal(err)
}
if err := cfg.Save(); err != nil {
logrus.Fatal(err)
}