1
0
mirror of https://github.com/ARM-software/workload-automation.git synced 2025-01-19 12:24:32 +00:00

28 Commits

Author SHA1 Message Date
Sebastian Goscik
9905bb3162 ConfigurationPoints: Added check that default values are POD's
Default config values will now need to be a Plain Old Data type.
This commit includes some ultility functions to help with this check
2016-09-27 11:39:49 +01:00
Sebastian Goscik
1bee34e6bc ConfigParser: Added the ability to not wrap exception messages for ConfigParser
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
2016-09-27 11:38:35 +01:00
Sebastian Goscik
e95ba608ec Configuration: Added global_aliase
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.
2016-09-27 11:38:35 +01:00
Sebastian Goscik
9e6badbdf4 Completed some todos: - Added a dependencies_directory property to WAConfiguration - Added allowed values and better descriptions to configuration points. 2016-09-27 11:38:35 +01:00
Sebastian Goscik
87ee7b1337 Moved iteration status list 2016-09-27 11:38:35 +01:00
Sebastian Goscik
a347ea7d61 Misc fixes & improvements 2016-09-27 11:38:35 +01:00
Sebastian Goscik
49576e5701 Improved _resolve_params_alias 2016-09-27 11:38:35 +01:00
Sebastian Goscik
46fe4a1140 Fixed _construct_valid entry 2016-09-27 11:38:35 +01:00
Sebastian Goscik
b35c7f66bd ConfigParser: Plugin cache now handles plugin & generic config as well as global alias resolution 2016-09-27 11:38:35 +01:00
Sebastian Goscik
4a33fa9ffc Moved KIND_MAP checks and definition 2016-09-27 11:38:35 +01:00
Sebastian Goscik
06e95abc78 Implemented Plugin Cache + its unit tests 2016-09-27 11:38:34 +01:00
Sebastian Goscik
c02c6cbceb Runtime Parameters: WIP - replace me 2016-09-27 11:38:34 +01:00
Sebastian Goscik
9416888361 AgendaParser: Split up repeated code into functions + fixes discovered by unit tests 2016-09-27 11:38:34 +01:00
Sebastian Goscik
3be1d1202c AgendaParser: Various fixes
- 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
2016-09-27 11:38:34 +01:00
Sebastian Goscik
55c4ed8c56 Stub plugin cache 2016-09-27 11:38:34 +01:00
Sebastian Goscik
55fa709335 misc 2016-09-27 11:38:18 +01:00
Sebastian Goscik
53a9f2336e Mostly implemented JobSpec and JobGenerator 2016-09-27 11:20:12 +01:00
Sebastian Goscik
bd6092728d RunConfiguration: Various improvements
- 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.
2016-09-27 11:20:12 +01:00
Sebastian Goscik
dc0449b544 Configuration: Various fixes
- Removed `finalize`, replaced it with `validate`
- Added `to_pod` and `from_pod` methods
- `set` and `update_config` now take (and forward) `check_mandatory`
2016-09-27 11:20:12 +01:00
Sebastian Goscik
57cd5a93fe Added merge_using_priority_specificity
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.
2016-09-27 11:20:12 +01:00
Sebastian Goscik
22888b502f ConfigurationPoint: Now validates the default value 2016-09-27 11:20:12 +01:00
Sebastian Goscik
9cc42c1879 Moved get_type_name outside of ConfigurationPoint 2016-09-27 11:20:12 +01:00
Sebastian Goscik
cddc29af05 ConfigurationPoint: Removed convert_types
Now always done by default because we never had a situation where this was not necessary.
2016-09-27 11:20:12 +01:00
Sebastian Goscik
6798a54a61 ConfigParser: Added ID validation - IDs cannot contain a - because its used to separate section IDs from workload IDs - global is a reserved ID for the "global" section. 2016-09-27 11:20:12 +01:00
Sebastian Goscik
451d973a65 ConfigParser: Global generic config is now stored in the plugin cache
Config such as "device_config" or "workload_parameters" is now stored in
the plugin cache till we know what it belongs to.
2016-09-27 11:20:12 +01:00
Sebastian Goscik
059b38685b AgendaParse: Removed config finalisation
It should not been done by the agenda parser but rather what ever invokes it
2016-09-27 11:20:12 +01:00
Sebastian Goscik
df17f79142 Job spec tree: Added a common base for workloads and sections
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
2016-09-27 11:20:12 +01:00
Sebastian Goscik
e0e4f389b9 Reworked 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.
2016-09-27 11:20:11 +01:00