1
0
mirror of https://github.com/rancher/os.git synced 2025-09-01 23:04:41 +00:00

Reshuffle cloud-config

Read files cloud-config.d in alphanumeric order, then cloud-config.yml
`ros config` writes to cloud-config.yml (and cloud-config.d/private.yml - only private keys)

Add (c *CloudConfig) Save() method, use it to save the changed config

Read and apply metadata as part of LoadConfig()

Simplify ros config export logic
This commit is contained in:
Ivan Mikushin
2015-09-23 16:36:28 +05:00
parent 0ac4c783f9
commit 338abb758f
20 changed files with 658 additions and 695 deletions

View File

@@ -51,15 +51,15 @@ func findImages(cfg *config.CloudConfig) ([]string, error) {
return result, nil
}
func loadImages(cfg *config.CloudConfig) error {
func loadImages(cfg *config.CloudConfig) (*config.CloudConfig, error) {
images, err := findImages(cfg)
if err != nil || len(images) == 0 {
return err
return cfg, err
}
client, err := docker.NewSystemClient()
if err != nil {
return err
return cfg, err
}
for _, image := range images {
@@ -70,7 +70,7 @@ func loadImages(cfg *config.CloudConfig) error {
inputFileName := path.Join(config.IMAGES_PATH, image)
input, err := os.Open(inputFileName)
if err != nil {
return err
return cfg, err
}
defer input.Close()
@@ -82,11 +82,11 @@ func loadImages(cfg *config.CloudConfig) error {
log.Infof("Done loading images from %s", inputFileName)
if err != nil {
return err
return cfg, err
}
}
return nil
return cfg, nil
}
func SysInit() error {
@@ -95,20 +95,18 @@ func SysInit() error {
return err
}
initFuncs := []config.InitFunc{
_, err = config.ChainCfgFuncs(cfg,
loadImages,
func(cfg *config.CloudConfig) error {
return compose.RunServices(cfg)
func(cfg *config.CloudConfig) (*config.CloudConfig, error) {
return cfg, compose.RunServices(cfg)
},
func(cfg *config.CloudConfig) error {
func(cfg *config.CloudConfig) (*config.CloudConfig, error) {
syscall.Sync()
return nil
return cfg, nil
},
func(cfg *config.CloudConfig) error {
func(cfg *config.CloudConfig) (*config.CloudConfig, error) {
log.Infof("RancherOS %s started", config.VERSION)
return nil
},
}
return config.RunInitFuncs(cfg, initFuncs)
return cfg, nil
})
return err
}