This patch fixes 128 unit test failures under Python 3.12 when
building the Debian package under Unstable. Without this patch,
I'm getting:
Traceback (most recent call last):
File "/usr/lib/python3.12/threading.py", line 1073, in _bootstrap_inner
self.run()
File "/usr/lib/python3.12/threading.py", line 1010, in run
self._target(*self._args, **self._kwargs)
File "/<<PKGBUILDDIR>>/mistral/services/legacy_scheduler.py", line 152, in _loop
random.Random().randint(0, self._random_delay * 1000) * 0.001
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/random.py", line 336, in randint
return self.randrange(a, b+1)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/random.py", line 312, in randrange
istop = _index(stop)
^^^^^^^^^^^^
TypeError: 'float' object cannot be interpreted as an integer
Change-Id: Ia85ea13923216d090ef1e4deee7840e70f9185b4
Add file to the reno documentation build to show release notes for
stable/2024.1.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2024.1.
Sem-Ver: feature
Change-Id: I38b1675d714597ef3f45e10ef8059f64647f954d
With complex parallel joins mistral had no mechanism to choose which
publish (left or right in terms of merge) should it use. It is a
common case when one branch updates existing value, but after merge
we see the old version.
This patch introduce context versioning feature, where every existing
key of mistral context has its version, and this version is used in
the context merge stage.
Change-Id: I604a9a8391150ac4801115b9892f781c33ecfdcb
Signed-off-by: Oleg Ovcharuk <vgvoleg@gmail.com>
This reverts the removal of wsgi script generated by setuptools.
Directly removing the script is backword-incompatible change for any
deployment tools. The approach is still being discussed in [1]. Until
we determine the consistent solution and appropriate transition plan,
let's at least keep the existing script.
[1] https://review.opendev.org/c/openstack/governance/+/902807
Change-Id: If7e13b39f348938232177c6e1eccf0056227f5b0
hacking 3.0.x is too old.
Also remove the note about pip's behavior which was already fixed in
recent versions.
Change-Id: I65d350943649c3346ed5741631c01724ddd256ef
This reverts commit e062860442.
Reason for revert: This is too aggressive and needs wider community consultation. The constraints change is being reverted.
Please revert ASAP.
Change-Id: I162f4a6ac10145a1f7a11e64d69f5f7fb3a111b1
As per the current release tested runtime, we test
python version from 3.8 to 3.11 so updating the
same in python classifier in setup.cfg
Change-Id: I1af648ca92c9becb64e8408558a0c3222905f318
As a contributor, when we want to manually run devstack mistral
tempest tests, I was struggling remember how to do it.
Signed-off-by: Arnaud Morin <arnaud.morin@ovhcloud.com>
Change-Id: Ie0791dabf26e5864ec7de1f04331bdef0008a8cc
This option has never been used by actual logic. This deprecates
the ineffective option so that we can remove it in a future release.
Change-Id: I350e45fc9aef28db8790614ade7a5ad3071e574b
This feature introduces an enhanced error-handling
mechanism for workflows, allowing them to gracefully
handle issues within individual tasks without
causing a complete workflow failure. Previously,
when using subworkflow and passing an incomplete set
of parameters, the entire workflow would terminate.
With this feature, the workflow continues execution,
isolating errors at the task level. Consequently,
partial issues in one task no longer impact other
branches of workflow execution.
Implements blueprint partial-workflow-failure-handling
Change-Id: Id6a910c85c1d6953408682a2a724c4826333422f
We have no way to determine whether the workflow definition has
changed or not.
This complicates the work with Mistral for external services.
A 'checksum' field has been added to workflow_definitions_v2
to solve this issue.
Implements: blueprint mistral-add-checksum-field-to-wf-definition
Change-Id: I99d095c6c74c62f134aedfa3a63308a0712db38d
As is described in the doc[1], we should not iterate over sys.modules
directly because sys.modules can be changed during iterations.
[1] https://docs.python.org/3/library/sys.html#sys.modules
Change-Id: Ib6ab36f93b408fdae59c1c08146f2ca069ed4f96
Since pip 23.1, the wsgi_script from PBR are not installed anymore
(see [1])
So, instead, rely on the wsgi.py app which is directly bundled in
mistral source code.
[1] https://discuss.python.org/t/adding-support-for-wsgi-scripts-entrypoint/30905/11
Change-Id: Ideed8421427e865f8010b7bfca58c3f010ac6bd6
Signed-off-by: Arnaud M <arnaud.morin@gmail.com>
Since upgrade of etcd3 (see [1]), the v3aplha endpoint has been
deprecated but tooz commit (see [2]) is not yet released.
Until then, we should force the api_version=v3 to make sure the
coordination between engine is working correctly.
Closes-Bug: #2040048
Signed-off-by: Arnaud Morin <arnaud.morin@ovhcloud.com>
Change-Id: Ieade7a30a192910fc3870b173017efd481f0b18f
Until we fix the mistral-devstack jobs that rely on wsgi, temporarily
disable the failing jobs.
Also, debian prefers Mariadb instead of mysql.
Replace mysql-server with mariadb-server.
Change-Id: I872f73578eb7622cd3d18db29544b5420f55121d
Signed-off-by: Arnaud Morin <arnaud.morin@gmail.com>
Add file to the reno documentation build to show release notes for
stable/2023.2.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2023.2.
Sem-Ver: feature
Change-Id: Ia97fdc514caa84716f7893ab2416a2f656c1e65c
In error cases join task could lose context of some branches
Change-Id: I58a94c4ebc5d860473c9b48df326f6ea29cba9fa
Closes-Bug: #2020370
Signed-off-by: Oleg Ovcharuk <vgvoleg@gmail.com>
The backend_url option can sometimes contain secrets.
For example when redis coordination backend is used and authentication
is enabled in redis, the plain redis password is put as an URL element.
[coordination]
backend_url=redis://:password@127.0.0.1:6379
Change-Id: Ie073d9ac8fd8580f7442370291814d99aad92066
Add file to the reno documentation build to show release notes for
stable/2023.1.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2023.1.
Sem-Ver: feature
Change-Id: I5525a7f7858696927b9466589fd66d47f418a5b7
After this patch mistral will run tasks using RPC which will distribute tasks amongst available engine threads. this will enhance performance in case of executing huge executions containing multiple tasks.
Implements: blueprint distribute-mistral-operations
Change-Id: I0b7202589eee68ba5560bf2aa60fbbd6118f3719