Both AgendaParser and ConfigParsers wrap exceptions with a a message
saying what source of configuration caused the exception. AgendaParser
uses ConfigParser within its load method, this leads to the "Error in foo"
message appearing twice. This lets AgendaParser turn of the wrapping
in ConfigParser
Previously `aliases` was conflated with global_aliases. This commit
fixes this.
`global_alias`'s are a name that can be used in top level configuration
and set the values of one or more plugin parameters that use the same
global_alias.
`aliases` is a list of alternative names for a configuration point.
Currently this is only used for instrumentation/instruments and
workload_name/name but in the future it will likely be used when
parameters have to be renamed to be more meaningful but still
maintain backward compatibility.
- Fixed merge_result_processors_instruments not merging result_processors
- Made AgendaParser have the same load/load_from_path interface as ConfigParser
- Removed source from error messages because its already predended when caught
- AgendaParser no longer needs to be passed a ConfigParser, it makes its own instance
- Changed quote style from "Error in {}" message to match other errors
- Removed `output_directory` ConfigurationPoint, it should be set and passed
by whatever instanstiates RunConfiguration.
- Made `device` a mandatory configuration point.
- Added serialization
- Now handles merging specific and generic config
`output_directory` should be set and passed why what ever instanstiates RunConfiguration.
- Removed `finalize`, replaced it with `validate`
- Added `to_pod` and `from_pod` methods
- `set` and `update_config` now take (and forward) `check_mandatory`
This complex function handles merging of config with two priorities in mind.
The specificity of the config (`device_config` vs `nexus10`) and the priorty
of the source.
Added "JobSpecSource" as a base class for both section tree nodes and
workload entries. This adds a common interface between them for:
- Resolving names
- Storing configuration
- References to parents
- Getting IDs out of configuration
All config now uses configuration points
Config parsing is now done in destinct stages
- first all files are parsed and sent to their corresponding config objects or to a tree
- tree is traversed to generate job specs.