1
0
mirror of https://github.com/ARM-software/workload-automation.git synced 2024-10-06 19:01:15 +01:00
Commit Graph

390 Commits

Author SHA1 Message Date
Marc Bonnici
9035c654bd fw/rt_config: Allow for auto determine 'max' and 'min' for other freqs
Allow users to specify 'max' and 'min' for the maximum and minimum
frequencies to be set for a cpu as well as the current frequency.
2018-06-01 15:33:10 +01:00
Marc Bonnici
e1518e8c5d fw/rt_config: Refactor and fix method calls to resolve 'max'/'min'
Previously incorrect method calls were used to try and convert 'max' and
'min' into their corresponding frequencies, now call the correct methods
and refactor the conversion into a separate method.
2018-06-01 15:33:10 +01:00
Sergei Trofimov
ee3c01418f fw/execution: fix get_resource with strict=False
If strict=False, resolver.get_resource will return None, rather
than raising NotFoundError. Do not attempt to record the md5 hash in
that case.
2018-06-01 14:01:57 +01:00
Marc Bonnici
b14c3d8868 framework/instrument: Fix lefover references to instrument proiorities
Update instrument proiorities to use signal proiorities instead.
2018-05-30 12:23:15 +01:00
Marc Bonnici
703e32e511 framework/signals: Remove unnecessary job signals
Remove overlap of signals between jobs and workload.
2018-05-30 12:23:15 +01:00
Sergei Trofimov
864ded60ae fw/instrument: use signal priorities
Use signal priorities to define priority decorators, rather than
defining own priority enum.
2018-05-30 12:02:28 +01:00
Sergei Trofimov
d79e8324f0 fw/signal: use enum to define priorities
Use an enum rather than a random class to define the priority levels
for the signals.
2018-05-30 12:02:28 +01:00
Sergei Trofimov
42bae98d50 fw/instrument: remove commented code
Remove the commented out mappings from WA2.
2018-05-29 11:56:39 +01:00
Sergei Trofimov
673b61342d fw/instrument: add mappings for job/run signals
Add missing mappings for job and run signals.
2018-05-29 11:56:39 +01:00
Sergei Trofimov
2cad2dbb10 fw/execution: implement abnormal job status signals
Implement signals for failed/aborted jobs.
2018-05-29 11:56:39 +01:00
Sergei Trofimov
e90b12e984 fw/instrument: add job output mappings
Add method name mappings for JOB_OUTPUT_PROCESSED signals.
2018-05-29 11:56:39 +01:00
Sergei Trofimov
b593b7ed59 fw/execution: wrap processors' process_job_output.
Modify execution so that output processors' process_job_output() (but
not export_job_output()) is wrapped by the JOB_OUTPUT_PROCESSED signals.

This makes sense conceptually, and is more useful in practice, as there
are already WORKLOAD_RESULT_EXTRACTION and WORKLOAD_OUTPUT_UPDATE
signals sent by the job, if it's desirable to run before output
processors, but after the job results have been collected.
2018-05-29 11:56:39 +01:00
Sergei Trofimov
43d047eeb5 fw: implement reboot signals
- Wire up reboot signals via the TargetManager
- Add instrument mappings for the same.
2018-05-29 11:56:39 +01:00
Sergei Trofimov
3a6fcd688e fw/signal: rename "boot" to "reboot"
Rename "boot" signals to "reboot", as it would more accurately reflect
how they are used.
2018-05-29 11:56:39 +01:00
Sergei Trofimov
9f36d543e1 fw/instrument: Add log signal maps
Add method name mappings for ERROR_LOGGED and WARNING_LOGGED signals.
2018-05-29 11:56:39 +01:00
Sergei Trofimov
573c6abcb5 fw/signal: add job signals
Add matched signals for before-after job execution. These are the
equivalent of "spec" signals in WA2.
2018-05-29 11:56:39 +01:00
Sergei Trofimov
2ff06af632 fw/execution: record resource hashes in metadata
As part of resolving a resource, record its MD5 hash in the output
metadata. In order to enable this, resource resolution is now done via
the context, rather than directly via the ResourceResolver (in order not
to introduce a context dependency in the Gui object, context now
emulates the resolver interface).
2018-05-25 10:21:06 +01:00
Sergei Trofimov
79141582e9 fw/workload: record app version in metadata
Add the package version for an ApkWorkload to the metadata for that job.
2018-05-25 10:21:06 +01:00
Sergei Trofimov
9257a787f9 fw/output: add metadata attribute to Result
Metadata is a key-value mapping for arbitrary data, similar to
classifiers. Unlike classifiers, metadata does not directly relate to
the results of the execution, but to the execution itself, and typically
would not be processed by Output Processors in the same way as
classifiers. Metadata can also be a lot more free-form in it's value
structure; while classifier values are simple scalars, metadata values
can be arbitrary POD structures.
2018-05-25 10:21:06 +01:00
Marc Bonnici
86ba51be72 framework/execution: Implement each_spec reboot policy
Implement the `each_spec` reboot policy so that the device will be
rebooted if the spec has changed.
2018-05-25 10:02:17 +01:00
Marc Bonnici
f13e3adf99 framework/execution: Fix previous/next job
The next and previous job attribute implementations of context were
swapped.
2018-05-25 10:02:17 +01:00
Marc Bonnici
d6e9e503fa framework/execution: Allow for retrying the intial reboot
If the device is to perform an initial reboot, allow up to `max_retries`
from the run configuration for the reboot to succeed and add logging to
inform the user.
2018-05-25 10:02:17 +01:00
Marc Bonnici
8654fcfc30 framework/execution: Treat reboot as part of job allowing retires
Treat the optional reboot of the device as part of the job itself so that
if the reboot fails it will be retried in accordance to the job
configuration.
2018-05-25 10:02:17 +01:00
Marc Bonnici
4a427f830b framework/execution: Move start/stop calls to the TargetManager to Runner
Instead of starting and stopping the target from inside the Context,
move the calls to the Runner. This allows for the any initilizaton
errors to be dealt with as part of the job and retried as
appropriate.
2018-05-25 10:02:17 +01:00
Marc Bonnici
c3e4bdc964 config/core: Re-add by_spec reboot policy
The `by_spec` reboot policy was removed in commit
0a549bd28e however this is still
desirable so re-add.
2018-05-25 10:02:17 +01:00
Sergei Trofimov
23946620d6 fw/job: add missing log indents
Add "with indentcontext():" to Job stages that were missing them.
2018-05-24 17:44:03 +01:00
Marc Bonnici
03e5c6c0af framework/pluginloader: Make sure to also clear aliases
When 'clearing' the pluginloader previously any aliases already
discovered were not removed, now ensure all discovered items are
removed.
2018-05-24 16:57:47 +01:00
Marc Bonnici
30f856abe0 framework/execution: Only add screenshots as an artifact if present
When attempting to take a screenshot from a device do not try to add it
as an artifact if screenshot failed and is not present.
2018-05-24 11:49:10 +01:00
Marc Bonnici
c3854e89c7 framework/host: Fix Typo 2018-05-24 11:49:10 +01:00
Marc Bonnici
e008134145 framework/host: Add missing defaults for agenda conversion
Ensure that defaults are correctly populated when converting a WA2 agenda
to the WA3 style.
2018-05-24 11:49:10 +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
Sergei Trofimov
775f3d55f2 fw/plugin: return a copy of alias params
When resolving aliases, return a copy of the alias' params to ensure
they don't get modified by the calling code.
2018-05-23 14:21:11 +01:00
Marc Bonnici
dc41af1f3f framework/tm: Ensure RebootPolicy is respected with unresponsive target
Expose the RebootPolicy as an attribute of the ExectionContext and ensure
that that the target is not automatically rebooted if the reboot
policy is set to "Never".
2018-05-23 10:14:34 +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
c2b039ba2d framework/execution: Remove unused attribute 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
efffae5254 framework/workload: Fix typos 2018-05-22 17:18:40 +01:00
Marc Bonnici
c3a01f61af framework/workload: Move deployment of gui into initialize
We only need to deploy the gui once, therefore move the `deploy` method
call into `initialize` the corresponding `remove` method is already in
`finalize`.
2018-05-22 17:18:40 +01:00
Marc Bonnici
04fe3768af doc: Misc fixes
Fix typos, formatting and irrelevant information.
2018-05-21 10:26:28 +01:00
Sergei Trofimov
5291e389dc fw/output: implement __str__ JobOutput
Implement a __str__ method for JobOutput to make it easier to format it
into messages.
2018-05-18 17:52:49 +01:00
Sergei Trofimov
b1b2131b0c doc: fix build warnings 2018-05-18 10:32:08 +01:00
Sergei Trofimov
0a5ceabc73 fw/execution: finalize jobs before run.
Finalize jobs before performing whole-run finalization. This makes more
sense than finalizing individual jobs after run as a whole has been
finalized.
2018-05-14 17:05:06 +01:00
Sergei Trofimov
9226a3b92a fw: fix job logging indent
- Have the job manage the indent of each of its stages
- Switch output_processor to using indentcontext
- Move the "Configuring augmentations" log line into Job -- the
  rest of the stages are logged there, but this was done by the
  Executor for some reason.
2018-05-14 17:05:06 +01:00
Sergei Trofimov
98219bbba9 fw/output_processor: fix typo 2018-05-14 17:05:06 +01:00
Marc Bonnici
a61bca1a54 target/info: Fix typo 2018-05-14 16:34:10 +01:00