1
0
mirror of https://github.com/ARM-software/workload-automation.git synced 2025-01-18 20:11:20 +00:00

136 Commits

Author SHA1 Message Date
Marc Bonnici
29a5a7fd43 fw/config: Fix RunConfiguration descriptions
Fix quotations in the RunConfiguration description.
2023-04-29 17:29:43 -05:00
Marc Bonnici
ae1bc2c031 fw/config: Add additional run_completed reboot policy
Add an additional `run_completed` reboot policy for when a run
has finished.
This complements the `initial` reboot policy and aims to leave
the device in a fresh state after WA has finished executing.
2020-12-09 07:48:20 +00:00
setrofim
a1bdb7de45 config/core: merge params from different files
Ensure that runtime and workload parameters specified across multiple
config files and the config section of the agenda are merged rather than
overwritten.
2020-10-30 12:05:30 +00:00
Marc Bonnici
aa4df95a69 pep8: Ignore line break before binary operator
PEP8 has switched its guidance [1] for where a line break should occur
in relation to a binary operator, so don't raise this warning for
new code and update the code base to follow the new style.

[1] https://www.python.org/dev/peps/pep-0008/#should-a-line-break-before-or-after-a-binary-operator
2020-10-30 11:49:54 +00:00
Marc Bonnici
fbb84eca72 Pylint Fixes
Update our version of pylint to use the latest version and update the
codebase to comply with the majority of the updates.

For now disable the additional checks for `super-with-arguments`,
`useless-object-inheritance`, `raise-missing-from`, `no-else-raise`,
`no-else-break`, `no-else-continue` to be consistent with the existing
codebase.
2020-10-30 11:49:54 +00:00
Jonathan Paynter
971289698b core,execution: Add run skipping on job failure
Add a global configuration parameter ``bail_on_job_failure`` that
allows all remaining jobs in a run to be skipped should a job fail its
initial execution and its retries. This is by default disabled.
2020-09-10 15:52:20 +01:00
Marc Bonnici
1425a6f6c9 Implement caching of ApkInfo
Allow caching of ApkInfo to prevent the requirement of re-parsing
of APK files.
2020-07-15 15:04:31 +01:00
Marc Bonnici
f664a00bdc config/core: Fix handling of depreciated parameters
Provide warning to user when attempting to set a depreciated
parameter instead of during validation and only raise the warning
if a value has been explicitly provided.
2020-06-12 09:24:51 +01:00
Marc Bonnici
6ff5abdffe fw/config: Remove whitespace 2020-05-21 12:39:25 +01:00
Marc Bonnici
82d09612cb fw/config: Add default to `assets_repository' 2020-05-21 12:39:25 +01:00
Marc Bonnici
62ca7c0c36 fw/SSHConnection: Deprecated parameters for Parimiko implementation
Deprecate parameters for the new implementation of the SSHConnection
based on Parimiko.
2020-03-06 17:34:30 +00:00
Marc Bonnici
d0f099700a fw/ConfigutationPoints: Add support for deprecated parameters
Allow specifying a ConfigutationPoint is deprecated. This means that any
supplied configuration will not be used however execution will continue
with a warning displayed to the user.
2020-03-06 17:34:30 +00:00
Marc Bonnici
832ed797e1 fw/config/execution: Raise error if no jobs are available for running
If no jobs have been generated that are available for running then WA
will crash when trying to access the job queue. Add an explicit check to
ensure that a sensible error is raised in this case, for example if
attempting to run a specific job ID that is not found.
2019-06-06 15:17:42 +01:00
Marc Bonnici
dcf0418379 fw/config/execution: Implement CombinedConfig as Podable
Ensure that the various Configuration structures now have serialization
versions.
2018-12-07 08:46:12 +00:00
Marc Bonnici
8ee924b896 fw/config/core: Implement Configuration structures as Podable
Ensure that the various Configuration structures now have serialization versions.
2018-12-07 08:46:12 +00:00
Marc Bonnici
891ef60f4d configuration: Add support for section groups
Now allows for specifying a `group` value for each section which will
cross product the sections within that group with the sections in each
other group. Additionally classifiers will automatically be added to
each job spec with the relevant group information.
2018-09-24 10:17:26 +01:00
Marc Bonnici
fc226fbb6e fw/execution: Ensure that identifiers are used when retrieving plugins.
Make sure that when retrieving plugin information from the plugin
cache the name is converted to an identifier first.
2018-07-24 11:34:19 +01:00
Sergei Trofimov
e4a856ad03 fw/config: preserve included config files
Save included config files, along with the explicitly-specified config
that included them, under run output's __meta/raw_config/.
2018-07-23 16:47:10 +01:00
Sergei Trofimov
7d833ec112 fw/config: add includes
Add the ability to include other YAML files inside agendas and config
files using "include#:" entries.
2018-07-23 16:47:10 +01:00
Marc Bonnici
b729f7c9e4 fw/parsers: Ensure plug-in names are converted to an identifier
Ensure that a plug-ins config entry is converted to an identifier before being
stored in the PluginCache so that the relevant configuration can be
retrieved appropriately. For example this allows for both 'trace-cmd' and
'trace_cmd' to be used as config entries to provide configuration for the
'trace-cmd' plugin.
2018-07-19 17:15:26 +01:00
Sergei Trofimov
e8f545861d fw: cache target info
Cache target info after pulling it from the device. Attempt to retrieve
from cache before querying target.
2018-07-13 15:53:01 +01:00
Sergei Trofimov
770d2b2f0e fw: add cache subdir under $WA_USER_DIRECTORY
Add a sub-directory for caching stuff.
2018-07-13 15:53:01 +01:00
Sergei Trofimov
7755363efd fw/config: add get_config() to ConfigManager
Add a method to allow obtaining the combined config after config
manager has been finalized.
2018-07-11 13:28:04 +01:00
Sergei Trofimov
bcea1bd0af fw/config: add resource getter to run config
Track resource getter configuration as part of the run config.
2018-07-11 13:28:04 +01:00
Sergei Trofimov
a062a39f78 fw/config: add installed aug configs to run config
Track configuration used for installed augmentations inside RunConfig.
2018-07-11 13:28:04 +01:00
Sergei Trofimov
03eafe6b33 framework: pep8 fixes
Fix issues reported by flake8.
2018-07-06 14:39:41 +01:00
Sergei Trofimov
f74b7ae78c framework: fix pylint issues
Fix/disable checks for issues reported by pylint under wa/framework.
2018-07-06 14:39:41 +01:00
Sergei Trofimov
8878cc20d4 Update copyright headers.
- Add copyright headers to files that did not already have them
- Update the year to the last year the file was modified in files with
  existing headers.
2018-07-04 16:33:31 +01:00
Marc Bonnici
22fcc42903 fw/core: Correct parameter description 2018-06-25 18:19:30 +01:00
Marc Bonnici
c255576fd7 fw/core: Allow for a user_directory to be specified using ~
Previously if a path for the `user_directory` was specified using `~`
this would not be expanded causing issues due to incorrect path joining.
2018-06-25 13:45:43 +01:00
Marc Bonnici
1879dd62f1 fw/core: Fix description of 'label' CongfigPoint
Update reference of result processors to output processors.
2018-06-11 08:10:07 +01:00
Sergei Trofimov
b3de85455a Add support for Python 3
Add support for running under Python 3, while maintaining compatibility
with Python 2.

See http://python-future.org/compatible_idioms.html for more details
behind these changes.
2018-06-07 14:48:40 +01:00
Marc Bonnici
b15b937863 fw/parsers: Ensure that a section is a valid dict
Ensure that all section entries are valid dicts otherwise raise an error
informing the user.
2018-06-05 17:54:34 +01:00
Marc Bonnici
c3e4bdc964 config/core: Re-add by_spec reboot policy
The `by_spec` reboot policy was removed in commit
0a549bd28e01a800566e9ad05a9420e1e4db3adc however this is still
desirable so re-add.
2018-05-25 10:02:17 +01:00
Marc Bonnici
f49dfeac70 config/core: Remove JobGenerator unused sections attribute
Remove the used attribute `sections` from the JobGenerator
2018-05-24 11:49:10 +01:00
Marc Bonnici
a13e205280 fw/configuration: Allow for numerical ids to be used
Previously WA would fail if a purely numerical id was used, now
explicitly convert the id to a string before use.
2018-05-24 11:49:10 +01:00
Marc Bonnici
2abfe68b07 fw/parsers: Raise error if no workload is specified
Ensure that an error is raised if no workload name is specified in an
agenda.
2018-05-24 11:49:10 +01:00
Sergei Trofimov
063212c2a9 fw/config: resolve aliases inside plugin_cache
- expose pluginloader's resolve_alias in plugin_cache (it's supposed
  to be a transparent proxy for pluginloader).
- resolve aliases inside _set_plugin_defaults() to make sure the
  correct defaults are used when creating job specs.
2018-05-23 14:21:11 +01:00
Marc Bonnici
78d5b18182 framework/execution: Implement reboot policies
Although the configuration of reboot policies was present the actual
implementation was missing.
2018-05-23 10:14:34 +01:00
Marc Bonnici
1a67a3a4e5 config/core: Rename each_iteration RebootPolicy to each_job
Rename the parameter to be clearer on the effect of the policy, as this
will cause WA to reset the device for each new job it runs regardless of
the iteration number.
2018-05-23 10:14:34 +01:00
Marc Bonnici
9d8f1ec68e config/core: Remove by_spec reboot policy
This reboot policy was left over from previous versions of WA and
is no longer relevant.
2018-05-23 10:14:34 +01:00
Marc Bonnici
2a95a198b0 framework/config: Rename by_spec to by_workload execution order
Rename the `by_spec` execution order to `by_workload` and update
description for clarification.
2018-05-23 10:14:34 +01:00
Marc Bonnici
04fe3768af doc: Misc fixes
Fix typos, formatting and irrelevant information.
2018-05-21 10:26:28 +01:00
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