forked from TrueCloudLab/distribution
Say when a config error is caused by an env var
Without this, the log message for the user indicates a problem with the yaml file, so identifying the actual error is hard. This change fixes the output so that the incorrect environment variable is easy to spot. Fixes #3653 Signed-off-by: James Hewitt <james.hewitt@uk.ibm.com>
This commit is contained in:
parent
8857a19487
commit
d5b2f94c7c
1 changed files with 1 additions and 2 deletions
|
@ -138,7 +138,7 @@ func (p *Parser) Parse(in []byte, v interface{}) error {
|
||||||
|
|
||||||
err = p.overwriteFields(parseAs, pathStr, path[1:], envVar.value)
|
err = p.overwriteFields(parseAs, pathStr, path[1:], envVar.value)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return fmt.Errorf("parsing environment variable %s: %v", pathStr, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -206,7 +206,6 @@ func (p *Parser) overwriteStruct(v reflect.Value, fullpath string, path []string
|
||||||
fieldVal := reflect.New(sf.Type)
|
fieldVal := reflect.New(sf.Type)
|
||||||
err := yaml.Unmarshal([]byte(payload), fieldVal.Interface())
|
err := yaml.Unmarshal([]byte(payload), fieldVal.Interface())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logrus.Warnf("Error parsing environment variable %s: %s", fullpath, err)
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
field.Set(reflect.Indirect(fieldVal))
|
field.Set(reflect.Indirect(fieldVal))
|
||||||
|
|
Loading…
Reference in a new issue