mirror of
https://github.com/rancher/os.git
synced 2025-08-04 00:10:23 +00:00
do not panic
This commit is contained in:
parent
b0fb2ff875
commit
aa1af05d46
@ -165,12 +165,12 @@ func configGet(c *cli.Context) {
|
|||||||
|
|
||||||
cfg, err := config.LoadConfig()
|
cfg, err := config.LoadConfig()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Panicln(err)
|
log.WithFields(log.Fields{"err": err}).Fatal("config get: failed to load config")
|
||||||
}
|
}
|
||||||
|
|
||||||
val, err := cfg.Get(arg)
|
val, err := cfg.Get(arg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.WithFields(log.Fields{"cfg": cfg, "arg": arg, "val": val}).Panicln(err)
|
log.WithFields(log.Fields{"cfg": cfg, "key": arg, "val": val, "err": err}).Fatal("config get: failed to retrieve value")
|
||||||
}
|
}
|
||||||
|
|
||||||
printYaml := false
|
printYaml := false
|
||||||
|
@ -49,7 +49,7 @@ func (c *CloudConfig) Merge(bytes []byte) error {
|
|||||||
func LoadConfig() (*CloudConfig, error) {
|
func LoadConfig() (*CloudConfig, error) {
|
||||||
cfg := NewConfig()
|
cfg := NewConfig()
|
||||||
if err := cfg.Reload(); err != nil {
|
if err := cfg.Reload(); err != nil {
|
||||||
log.WithFields(log.Fields{"cfg": cfg}).Panicln(err)
|
log.WithFields(log.Fields{"cfg": cfg, "err": err}).Error("Failed to reload config")
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -73,12 +73,12 @@ func (c *CloudConfig) merge(values map[interface{}]interface{}) error {
|
|||||||
func (c *CloudConfig) readFiles() error {
|
func (c *CloudConfig) readFiles() error {
|
||||||
data, err := readConfig(nil, CloudConfigFile, LocalConfigFile, PrivateConfigFile)
|
data, err := readConfig(nil, CloudConfigFile, LocalConfigFile, PrivateConfigFile)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Panicln(err)
|
log.WithFields(log.Fields{"err": err}).Error("Error reading config files")
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := c.merge(data); err != nil {
|
if err := c.merge(data); err != nil {
|
||||||
log.WithFields(log.Fields{"cfg": c, "data": data}).Panicln(err)
|
log.WithFields(log.Fields{"cfg": c, "data": data, "err": err}).Error("Error merging config data")
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -89,7 +89,7 @@ func (c *CloudConfig) readCmdline() error {
|
|||||||
log.Debug("Reading config cmdline")
|
log.Debug("Reading config cmdline")
|
||||||
cmdLine, err := ioutil.ReadFile("/proc/cmdline")
|
cmdLine, err := ioutil.ReadFile("/proc/cmdline")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Panicln(err)
|
log.WithFields(log.Fields{"err": err}).Error("Failed to read kernel params")
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -102,8 +102,7 @@ func (c *CloudConfig) readCmdline() error {
|
|||||||
cmdLineObj := parseCmdline(strings.TrimSpace(string(cmdLine)))
|
cmdLineObj := parseCmdline(strings.TrimSpace(string(cmdLine)))
|
||||||
|
|
||||||
if err := c.merge(cmdLineObj); err != nil {
|
if err := c.merge(cmdLineObj); err != nil {
|
||||||
log.WithFields(log.Fields{"cfg": c, "cmdLine": cmdLine, "data": cmdLineObj}).Panicln(err)
|
log.WithFields(log.Fields{"cfg": c, "cmdLine": cmdLine, "data": cmdLineObj, "err": err}).Warn("Error adding kernel params to config")
|
||||||
return err
|
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -129,7 +128,7 @@ func Dump(private, full bool) (string, error) {
|
|||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := c.readGlobals(); err != nil {
|
if err := c.readCmdline(); err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -158,16 +157,10 @@ func (c *CloudConfig) amendNils() error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *CloudConfig) readGlobals() error {
|
|
||||||
return util.ShortCircuit(
|
|
||||||
c.readCmdline,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *CloudConfig) Reload() error {
|
func (c *CloudConfig) Reload() error {
|
||||||
return util.ShortCircuit(
|
return util.ShortCircuit(
|
||||||
c.readFiles,
|
c.readFiles,
|
||||||
c.readGlobals,
|
c.readCmdline,
|
||||||
c.amendNils,
|
c.amendNils,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -168,8 +168,10 @@ func RunInit() error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if cfg.Rancher.Debug {
|
if cfg.Rancher.Debug {
|
||||||
cfgString, _ := config.Dump(false, true)
|
cfgString, err := config.Dump(false, true)
|
||||||
if cfgString != "" {
|
if err != nil {
|
||||||
|
log.WithFields(log.Fields{"err": err}).Error("Error serializing config")
|
||||||
|
} else {
|
||||||
log.Debugf("Config: %s", cfgString)
|
log.Debugf("Config: %s", cfgString)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -155,7 +155,7 @@ func RandSeq(n int) string {
|
|||||||
func Convert(from, to interface{}) error {
|
func Convert(from, to interface{}) error {
|
||||||
bytes, err := yaml.Marshal(from)
|
bytes, err := yaml.Marshal(from)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.WithFields(log.Fields{"from": from}).Panicln(err)
|
log.WithFields(log.Fields{"from": from, "err": err}).Warn("Error serializing to YML")
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user