This is a mechanically generated patch to switch the documentation
jobs to use the new PTI versions of the jobs as part of the
python3-first goal.
See the python3-first goal document for details:
https://governance.openstack.org/tc/goals/stein/python3-first.html
Change-Id: I2e2c68678b50ba214fc0b520cd079c8922d540ce
Story: #2002586
Task: #24311
We will now only accept the string values "False" or "True". Previously
any given value was interpreted as a string and thus True.
Closes-Bug: #1666565
Change-Id: Ibd105c881dbe16cd4516bfb775c8f5f43c961b45
As openstack installation guides suggest to run mysql with root shell
user, mysql will not ask for password, so the "-u root -p" is useless.
Change-Id: I525a3fdb77f1dfc93d87cc5fe619315d36e7004d
Related-Bug: #1785025
This is a mechanically generated patch to complete step 1 of moving
the zuul job settings out of project-config and into each project
repository.
Because there will be a separate patch on each branch, the branch
specifiers for branch-specific jobs have been removed.
Because this patch is generated by a script, there may be some
cosmetic changes to the layout of the YAML file(s) as the contents are
normalized.
See the python3-first goal document for details:
https://governance.openstack.org/tc/goals/stein/python3-first.html
Change-Id: I42c7a05b20ad93450f59939902d4aae53512c1b7
Story: #2002586
Task: #24311
* Since mistral is heavily used in TripleO deployment.
tripleo-ci-centos-7-undercloud-containers deploys containerized
undercloud and run mistral tempest plugin tests. It will help to
discovers issues early.
Depends-On: https://review.openstack.org/#/c/565642/
Depends-On: https://review.openstack.org/589849
Change-Id: Iebdd6476fc4f914644490b18a3dc1f3462666c89
This patch delivers the first working version of a distributed
scheduler implementation based on local and persistent job
queues. The idea is inspired by the parallel computing pattern
known as "Work stealing" although it doesn't fully repeat it
due to a nature of Mistral.
See https://en.wikipedia.org/wiki/Work_stealing for details.
Advantages of this scheduler implementation:
* It doesn't have job processing delays when a cluster topology'
is stable caused by DB polling intervals. A job gets scheduled
in memory and also saved into the persistent storage for
reliability. A persistent job can be picked up only after a
configured allowed period of time so that it happens effectively
after a node responsible for local processing crashed.
* Low DB load. DB polling still exists but it's not a primary
scheduling mechamisn now but rather a protection from node crash
situations. That means that a polling interval can now be made
large like 30 seconds, instead of 1-2 seconds. Less DB load
leads to less DB deadlocks between scheduler instances and less
retries on MySQL.
* Since DB load is now less it gives better scalability properties.
A bigger number of engines won't now lead to much bigger
contention because of a big DB polling intervals.
* Protection from having jobs forever hanging in processing state.
In the existing implementation, if a scheduler captured a job
for processing (set its "processing" flag to True) and then
crashed then a job will be in processing state forever in the DB.
Instead of a boolean "processing" flag, the new implementation
uses a timestamp showing when a job was captured. That gives us
the opportunity to make such jobs eligible for recapturing and
further processing after a certain configured timeout.
TODO:
* More testing
* DB migration for the new scheduled jobs table
* Benchmarks and testing under load
* Standardize the scheduler interface and write an adapter for the
existing scheduler so that we could choose between scheduler
implementations. It's highly desired to make transition to the
new scheduler smooth in production: we always need to be able
to roll back to the existing scheduler.
Partial blueprint: mistral-redesign-scheduler
Partial blueprint: mistral-eliminate-scheduler-delays
Change-Id: If7d06b64ac14d01e80d31242e1640cb93f2aa6fe
Magnum client instantiation does not need the user_id parameter
coming from the context to do the operations.
Change-Id: I70070aee03671bf04ba4b933039b2c3fbf07c16f
Closes-Bug: #1786480
Namespaces for workbooks have been recently introduced by
I2c66b3961915f0f35a9c468eb6dd0c0c70995234. It adds the new column but
leave the default as NULL in the database, and doesn't update the old
workbooks. This makes old workbooks undeletable. This patch adds a new
migration updating the workbooks.
Change-Id: I91d272d65b7be29303372f93c0811c484795efbb
Closes-Bug: #1785833
Also adds a line in the readme to use the mistral client inside the
mistral container.
Change-Id: Ie09b06f682679b9a90d18b8796c47b69e91d14cf
Closes-Bug: 1782531
* Added Keycloak to the infrastructure yaml which uses a
h2 not to complicate the installation.
* Updated the docker-compose docs.
* Move Cloud Flow image to the infrastructure yaml.
Change-Id: I2a69ca91c1638e5fd070c77ca63c8d5586887231
Signed-off-by: Vitalii Solodilov <mcdkr@yandex.ru>
When Python actions raise an exception they may not have failed to run.
This may not even be an issue. For example, the OpenStack action
`swift.head_container` will raise an exception is the container doesn't
exist.
This change lowers the exception to a warning but keeps the exception
traceback in the logs. It also changes the wording in the message. We
didn't fail to run the action, rather the action raise an exception.
Change-Id: If9a6a3b98999acae8b80ad4ddeb9d197a628c280
Adds support for cc and bcc addresses to send mails as copy to
administrators and also html formatting. If the html body is specified
the mail will be sent as multipart.
Closes-Bug: #1783349
Change-Id: I2b90354c33052c4b7ae3a98a08e7df1055524a25
remove invalid todo comment in std_actions.py, since there is no
need to implement this feature.
Change-Id: I500312bb039260853a4d96a54c3395992947b9d5
Related-Bug:#1676411
Checking for equality of times is flaky because if the
samplig happens around the boundady of a second, then
it can cause an off by 1 error. The test is modified
to tolerate these errors.
Change-Id: Ib341b0ae4bff6f74c412f62678a5a663a99b0b0b
Update API documentation to include namespace parameter details.
Update quickstart guide to latest client outputs.
And minor typo fixes.
Change-Id: I0a2324d0386d5543387ea4bff1d2569b50ad22dd
Implements: blueprint mistral-namespace-for-actions-workbooks
Currently when we get a specification using the instantiate_spec function,
we always validate their schema and semantics over and over again.
To prevent it we add new validate parameter to a Spec class.
The validate parameter must be True when we create a workflow, workbook
or action using a mistral-api. In all other cases, it must be False.
Change-Id: Ia450ea9635bc75c204fe031cfeeab154f1d03862
Closes-Bug: #1738769
Signed-off-by: Vitalii Solodilov <mcdkr@yandex.ru>
This patch brings namespace support to workbooks.
Namespace of the workbook is inherited by workflows.
Implements: blueprint mistral-namespace-for-actions-workbooks
Change-Id: I2c66b3961915f0f35a9c468eb6dd0c0c70995234
New releases of oslo.config support a 'mutable' parameter to Opts.
oslo.service provides an option here Icec3e664f3fe72614e373b2938e8dee53cf8bc5e
allows services to tell oslo.service they want mutate_config_files to be
called by passing a parameter.
This commit is to use the same. This allows mistral to benefit from
I1e7a69de169cc85f4c09954b2f46ce2da7106d90, where the 'debug' option
(owned by oslo.log) is made mutable. we should be able to turn debug
logging on and off by changing the config.
tc goal:
https://governance.openstack.org/tc/goals/rocky/enable-mutable-configuration.html
Change-Id: I8ea7085b9343b07f5fe419d30a68c00caec1b745
There are still some hardcoded v2 authentication in barbican actions.
This api has been deprecated and removed, so we can change it to use
instead v3. It also removes the version number from some helper methods.
Change-Id: I0390daf841463d11cb7c61653897949989b6e6eb
Closes-bug: #1783316