1
0
mirror of https://github.com/ARM-software/workload-automation.git synced 2024-10-07 03:11:53 +01:00
Commit Graph

93 Commits

Author SHA1 Message Date
Sergei Trofimov
b1b2131b0c doc: fix build warnings 2018-05-18 10:32:08 +01:00
sergei Trofimov
ecc68ee367 utils/log: add indentcontext
Add indentcontext context manager to save having to add try/finally
clauses around indenting code just to ensure dedenting.
2018-05-09 15:06:31 +01:00
sergei Trofimov
dd9a72f043 fw/config: union augmentation aliases, rather than merge
If more then one of augmentation entries ("augmentations",
"instrumenatation", "output_processors") is specified in the same
config they were being merged into a single entry.

This can cause issues with '~~' (drop everything glyph) being "resolved"
during this merge and therefore not actually used to drop all previous
augmentations.

Union'ing, instead of merging, configs at the same level avoids that.
Note that this is semantically correct, as we're not enforcing
precedence at the same level of config, so merge semantics do not apply.
2018-05-08 10:50:48 +01:00
sergei Trofimov
aacba47f9a utils/types: toggle_set: add "~~" semantics
Add support for "~~" special value that indicates that, when merging
into another set, all values from that set should in fact be dropped.
Apart from the unique merge semantics, "~~" just like any other "~"
value.
2018-05-08 10:50:48 +01:00
sergei Trofimov
5b03ac3afd config/core: JobsGenerator: delay augmentation split
Delay the split of augmentations into instruments and output processors
until they are actually being accessed; keep them as a single set until
then. This makes tracking of merges from various configurations sources
easier
2018-05-08 10:50:48 +01:00
sergei Trofimov
f19ca4c00c fw/config: add logging to parsers
Add logging to config/agenda parsing.
2018-04-25 16:25:37 +01:00
Marc Bonnici
98d9dd080c config/execution: Raise better error if no workloads specified.
If WA is ran without any workloads being specified, previously an index
error was thrown, now check that at least one global workload has been
specified and if not, provide a more helpful error message.
2018-04-11 19:05:33 +01:00
Marc Bonnici
4ab75bf722 config/core: Update decription of execution order
Remove reference to "classic" execution order.
2018-04-10 18:07:20 +01:00
Marc Bonnici
80f2e8c78b configuration/core: Fix logging rst indentation 2018-04-10 18:07:20 +01:00
Sergei Trofimov
be43d5d9b7 fw/config: add plugin_paths property to settings
Add plugin_paths property to settings which combines plugins_directory
with extra_plugin_paths, and use that inside pluginloader.
2018-04-10 10:29:44 +01:00
Sergei Trofimov
ed9dcdedd7 fw/config: add extra_plugin_paths setting
Add extra_plugin_paths setting which gets populated from WA_PLUGIN_PATHS
environment variable. This allows specifying additional locations to
scan for WA plugins.
2018-04-10 10:29:44 +01:00
Sergei Trofimov
ed74ae6654 fw/config: ensure params are obj_dict's
As part of finalizing a job spec, ensure all *_parameters are
obj_dict's.
2018-04-10 10:01:07 +01:00
Sergei Trofimov
71f620f189 fw/config: add plugin type methods to plugin_cache
Add plugin type-specific methods (e.g. get_workload()) to plugin cache
so that it exposes the same interface as plugin loader.
2018-04-04 10:07:42 +01:00
Sergei Trofimov
d572e5210d fw/config: ensure boot/runtime_params are initialized
Ensure that boot and runtime parameters always get initialized to an
obj_dict even when not explicitly specified. This will ensure they get
serialized and deserialized properly.
2018-03-29 18:01:28 +01:00
Sergei Trofimov
72f2f82594 fw/config: better error when merging augs
If one or more entries for augmentations in configuration contains an
invalid value, raise ConfigError with the entry name.
2018-03-22 12:28:48 +00:00
Sergei Trofimov
3d7984412a fw/config: better message on config setting error
Catch exceptions raised when attempting to set value of a config point,
and re-raise as ConfigError with name associated with the value in the
config file.
2018-03-22 12:28:48 +00:00
Marc Bonnici
31b46fb3b7 framework/configuration: Refactor code into seperate method 2018-03-20 08:24:58 +00:00
Marc Bonnici
b7aa7d68b5 config/plugin_cache: Add specific error for global and config entries
Add a special error for finding `global` or `config``  entries in
configuration to provide a more helpful error message.
2018-02-16 15:32:41 +00:00
Marc Bonnici
b103ae34ce configuration/core: Add missing initialization for classifiers 2018-02-16 14:43:52 +00:00
Sergei Trofimov
8466b77d5b framework/config: fix deserialization
- RebootPolicy: correctly handle being passed another instance of
  RebootPolicy on creation; this a requirement for it to be usable as a
  ConfigurationPoint kind.
- RebootPolicy: move static method to above __init__ (consistency).
- RunConfiguration: handle deserialization of 'device_config' entry.
- RunConfiguration: move static method to above __init__ (consistency).
2018-02-16 13:56:03 +00:00
Marc Bonnici
4b6297e7ea configuration/plugin_cache: Fix incorrect parmeter name 2018-02-15 13:42:48 +00:00
Marc Bonnici
ed75764445 configuration/plugin_cache: Add target names as allowed plugin configs
Allow setting of device configuration by specifying target name.
2018-02-15 13:42:48 +00:00
Marc Bonnici
ad5fd0076c configuration/core: Add missing parameter alias for workload_parmeters 2018-02-14 17:03:21 +00:00
Marc Bonnici
dfce5ca7ba configuration/default: Update to use augmentation terminology 2018-02-14 09:13:04 +00:00
Marc Bonnici
73416d40c2 configuration/core: Remove unused RTParam code 2018-02-14 09:13:04 +00:00
Marc Bonnici
1ec1bd14a5 configuration/core: Remove unnecessary config point
`Augmentations` configuration point should be used instead of `output_processors`
entry which is already specified elsewhere.
2018-02-14 09:13:04 +00:00
Marc Bonnici
965f8e2218 configuration/core: Make generic_android default device 2018-02-14 09:13:04 +00:00
Marc Bonnici
d7f28da71e configuration/core: Add missing description to doc string 2018-02-14 09:13:04 +00:00
Marc Bonnici
07cd770288 framework/plugin_cache: Fix missing assistant parameters 2018-02-07 10:01:12 +00:00
Sergei Trofimov
c5df74eb56 framework/config: load plugins from extra packages
Add support for loading plugins from packages that register themselves
with WA by writing their names into $WA_USER_DIRECTORY/packages.

This is functionality that existed in WA2 and was omitted in WA3 until
now.
2018-02-06 17:30:49 +00:00
Marc Bonnici
557d62ce86 framework/configuration: Fix disabling of augmentations
Previously disabling of augmentaions via using the `--disable`
flag or by using the "~" notation in agendas was ignored.
2018-02-01 14:26:08 +00:00
Marc Bonnici
7100165376 configuration/core: Fix alias for 'results_processors'
Adds missing 's' for alias name.
2018-01-17 16:41:49 +00:00
Marc Bonnici
446a1cfbb0 wa: Rename Instrumentation to Instruments
To be maintain a consistent naming scheme, rename all instances of
`Instrumentation` to `Instruments`
2018-01-15 10:24:03 +00:00
Marc Bonnici
538cd8d332 wa: Rename results_processors to output_processors
For clarity and to better reflect their purpose, rename
`results_processors` to `output_processors`.
2018-01-15 10:24:03 +00:00
Marc Bonnici
a688c9120e framework/configuration: Fix missing return statements for Jobspec properties 2018-01-12 17:28:56 +00:00
Marc Bonnici
937d417a42 framework/parsers: Fix whitespace 2018-01-12 17:28:56 +00:00
Marc Bonnici
ad530a8925 framework/parsers: Fix incorrect method name 2018-01-12 17:28:56 +00:00
Marc Bonnici
2dc1d2e54e confirguration/core: Add parameter default to MetaConfig
Uses os.eviron as the default environment for creation of a
MetaConfiguration object, this allows an instance to be created without
providing any parameters and fixes re-creating an instance from pod.
2018-01-08 10:36:57 +00:00
Sergei Trofimov
0a67e94709 framework/target: rename get_target_descriptions
Rename get_target_descriptions to list_target_descriptions.
2017-12-15 17:07:34 +00:00
Marc Bonnici
0d45fa3b27 Revert "DO NOT MERGE: stub out broken method"
This reverts commit 7a3503775d.
2017-12-07 15:45:38 +00:00
Brendan Jackman
7a3503775d DO NOT MERGE: stub out broken method 2017-12-07 15:37:49 +00:00
Brendan Jackman
664f0a8905 framework/config: Whitespace 2017-12-07 15:37:49 +00:00
Brendan Jackman
aa2abd16a3 Run autoflake to remove unused imports & variables 2017-12-07 15:37:49 +00:00
Sergei Trofimov
a7a5d09dfa framework/config: plug_cache: handle aliases
Use get_config_point_map() when returning parameter mappings to ensure
aliases are included.
2017-11-29 13:19:39 +00:00
Sergei Trofimov
78a569a2d3 framework/config: add get_config_pont_map()
Add a function to generate a dict mapping names and aliases to
corresponding configuration point objects.
2017-11-29 13:19:39 +00:00
Sergei Trofimov
d7da24eb52 framework/config: fix section-level workload args
create a copy of the args dict before popping args off of it to make
sure it is intact when the next job is processed.
2017-11-24 16:35:07 +00:00
Brendan Jackman
2cd0c1a3f1 framework/config: Fix JobSpec.from_pod 2017-11-06 16:11:54 +00:00
Sergei Trofimov
00d1d3d318 commands/run: update "--disable" option
--diable can now be used to disable both intruments and
result_processors from the command line (overriding configuration
files). Rename variable names to reflect this.
2017-11-03 17:33:32 +00:00
Sergei Trofimov
836ba1505f framework/config: properly update augmentations inside JobGenerator
Replace update_enabled_instruments with update_augmentations, which
correctly splits instruments and results processors from augmentations
configuration values.

While instruments and processors are now handled uniformly in
configuration, they still need to be handled differently during actual
execution. This is the point where they get split again.
2017-11-03 17:33:32 +00:00
Sergei Trofimov
e3d74fcd21 framework/config: fix augmentations merging
Remllace merge_instruments_result_processors with merge_agumentations
which is updated to properly merge the new unified "augmentations"
configurations.
2017-11-03 17:33:32 +00:00