It will default to 0, which means testr will automatically set it based
on your CPU count. Allowing the user to set it with an environment
variable lets them control the resources used and more easily debug any
issues with tests impacting each other (by disabling concurrency).
Change-Id: Ib8274d307991ac3c25180609cb015894f0bf52b3
This should make it easier to see what files are different between the
two compared coverage reports.
Change-Id: I0367be79145ffb066c44342dcbe97e61a079d598
We are only comparing against master if the parent of the commit is
master. This isn't true if another patch merges after this is proposed
or it is in a series of commits and based on another review.
Change-Id: I2d0f827552fb431cf78a03f77e18b77ed406efd8
As there are few more fields added to the client and the document
was not updated, this commit updates the output of each command
accordingly.
Change-Id: Ie5c87b269a58c79bf37c7a93b79d6068352b79bd
Closes-Bug: #1670329
get_next_execution_time was incorrectly modifying it's return value
based on a conversion from localtime to UTC. However, this function
should not be doing such a conversion. It could result in multiplying
a TZ error. Croniter doesn't care about TZ. It just applies a pattern
to a given start time; therefore, it should be up to the caller to
pass the proper time.
Also, start_time is now based on utcnow() instead of localtime now().
Change-Id: Ifbd63d9e1f56085928bede22ce4f2954e1b38991
Partial-Bug: #1654218
The idempotent_id decorator allows for tracking of tests even
after they have been renamed [1]. This patch adds idempotent_id
decorator to api related testcases for mistral_tempest_tests.
[1] https://github.com/openstack/tempest/blob/master/
HACKING.rst#test-identification-with-idempotent-id
Change-Id: I70f5ec2e18fd0845b7189b26cb40b9b260126146
Partial-Implements: blueprint add-idempotentid
This test fails if the TZ of the execution environment is not UTC. Using
utcnow() ensures that the tested values are the same as what comes from
the DB. The DB stores timestamps in UTC.
Change-Id: I70af0d8009b5fa35777961ed3189a80ddcee28b1
Partial-Bug: #1654218
That means around 1300 database inserts (or, attempted inserts, some seem to
fail) before every test. This is very slow. Only one of the tests
actually verifies the OpenStack actions are registered.
Recently I5ab01395c507fc857dca7cf08ab344a07def0dcf gave us a way to set
a different mapping file in the config. This change makes every test use
the much smaller test mapping file, rather than the default file.
Given that one test is checking specific actions being registered, these
were added to the test file to make that test pass. Once the OpenStack actions
are moved to mistral-extra this will improve again. The tempest tests
verify the actions load and tests a number of the OpenStack actions directly,
so our coverage of them isn't reduced.
From a brief test on my laptop, this reduces the unit test run time by
between 60 and 90 seconds.
Related-Bug: #1669511
Change-Id: Icc4ec5ef7d93d5ebb64f21c62d0bf7fc91e2f084
The idempotent_id decorator allows for tracking of tests even
after they have been renamed [1]. This patch adds idempotent_id
decorator to scenario related testcases for mistral_tempest_tests.
[1] https://github.com/openstack/tempest/blob/master/
HACKING.rst#test-identification-with-idempotent-id
Change-Id: I955cd8b063b5a5d7d94cbd769b93521e35c9649b
Partial-Implements: blueprint add-idempotentid
Adding the verification to this test reduces it from 60 seconds to about
6 seconds.
Related-Bug: #1669511
Change-Id: Idc587fd2d92c82e95bc642989561d700ae1710c5
Each additional with-item value and retry added an extra second to test
test run but having this many didn't add any value. Reducing the number
but still making sure retries are exercised reduced the test time by
around 50%.
Related-Bug: #1669511
Change-Id: Ibc25bfad2d213a31a022ea59d8c2d1a36f2d75d7
The 10 second delay was overly generous. This change reduces the test
run time by around 25-30 seconds.
Related-Bug: #1669511
Change-Id: I55ded366162b4124f795c341d4bae919b09f468e
Release note and command line parameter added.
From now it is optional to list openstack modules in mapping file which
you would not include into supported action set.
Change-Id: I5ab01395c507fc857dca7cf08ab344a07def0dcf
tasks function can be used to get all tasks in state error
of a given workflow execution and more.
Change-Id: I64e101bf36e0d865342e848723b610bfe23423d9
Since pbr already landed and the old version of hacking seems not
work very well with pbr>=2, we should update it to match global
requirement.
Partial-Bug: #1668848
Change-Id: If087b99d336051916994ff442f9bade3fc5cae8e
In case of workflow definition is deleted attached execution
could not change their state.
Solution is to remove unnecessary workflow definition queries
before execution state changes.
Change-Id: I2900388c8155e5ff0c117e0799df975588f80379
Closes-Bug: #1668523
The current state of Mistral no longer works on Trusty. This patch
updates to Xenial in order to fix the docker image build.
Change-Id: I2a778d43e2dca8eaa370d5a86008a170ffb98f54
Closes-Bug: #1664030
The documentation will fail to build under Python 3 as some of the
Sphinx extensions are not compatible.
Change-Id: Ifefa59bf9d06d4aa84c0a440d2458cc297a50ec2
* It turned out that Mistral used a lot of memory because it
used cached DB lookups for task executions (only task executions
in a terminal state get cached) and the maximum size of the cache
was too big, 20000 entries. One task execution in certain cases
may take a lot of memory (e.g. several megabytes) so 20000 objects
make memory footprint huge. Additionally, when a workflow completes
we need to invalidate coresponding task executions in the cache.
This didn't happen before this patch.
* This patch fixes the aforementioned issues by using partial
invalidation of the cache and setting smaller cache size.
* Fixed "Starting workflow .." log statement to not print the entire
structure of the workflow definition into the workflow log, only its
name and input parameters
* Minor style fixes
Change-Id: I0ee300f631a4bdfa2f618c2a10048267f27b3345
Closes-bug: #1664864
0% coverage was due to unintended deletion of one
of __init__.py files. After adding it, some of
the tests failed, so I have to also fix them.
Change-Id: Iee094ffd24cc1397e84f5d7be4977efbd986e636
Closes-bug: 1664228
Closes-bug: 1664603