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>master
							parent
							
								
									8857a19487
								
							
						
					
					
						commit
						d5b2f94c7c
					
				|  | @ -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 New Issue