mistral-10.0.0/ 0000775 0001750 0001750 00000000000 13656750041 013274 5 ustar zuul zuul 0000000 0000000 mistral-10.0.0/mistral.egg-info/ 0000775 0001750 0001750 00000000000 13656750041 016441 5 ustar zuul zuul 0000000 0000000 mistral-10.0.0/mistral.egg-info/entry_points.txt 0000664 0001750 0001750 00000006521 13656750041 021743 0 ustar zuul zuul 0000000 0000000 [console_scripts]
mistral-db-manage = mistral.db.sqlalchemy.migration.cli:main
mistral-server = mistral.cmd.launch:main
[kombu_driver.executors]
blocking = futurist:SynchronousExecutor
eventlet = futurist:GreenThreadPoolExecutor
threading = futurist:ThreadPoolExecutor
[mistral.actions]
std.async_noop = mistral.actions.std_actions:AsyncNoOpAction
std.echo = mistral.actions.std_actions:EchoAction
std.email = mistral.actions.std_actions:SendEmailAction
std.fail = mistral.actions.std_actions:FailAction
std.http = mistral.actions.std_actions:HTTPAction
std.javascript = mistral.actions.std_actions:JavaScriptAction
std.js = mistral.actions.std_actions:JavaScriptAction
std.mistral_http = mistral.actions.std_actions:MistralHTTPAction
std.noop = mistral.actions.std_actions:NoOpAction
std.sleep = mistral.actions.std_actions:SleepAction
std.ssh = mistral.actions.std_actions:SSHAction
std.ssh_proxied = mistral.actions.std_actions:SSHProxiedAction
std.test_dict = mistral.actions.std_actions:TestDictAction
[mistral.auth]
keycloak-oidc = mistral.auth.keycloak:KeycloakAuthHandler
keystone = mistral.auth.keystone:KeystoneAuthHandler
[mistral.executors]
local = mistral.executors.default_executor:DefaultExecutor
remote = mistral.executors.remote_executor:RemoteExecutor
[mistral.expression.evaluators]
jinja = mistral.expressions.jinja_expression:InlineJinjaEvaluator
yaql = mistral.expressions.yaql_expression:InlineYAQLEvaluator
[mistral.expression.functions]
env = mistral.expressions.std_functions:env_
execution = mistral.expressions.std_functions:execution_
executions = mistral.expressions.std_functions:executions_
global = mistral.expressions.std_functions:global_
json_dump = mistral.expressions.std_functions:json_dump_
json_parse = mistral.expressions.std_functions:json_parse_
json_pp = mistral.expressions.std_functions:json_pp_
task = mistral.expressions.std_functions:task_
tasks = mistral.expressions.std_functions:tasks_
uuid = mistral.expressions.std_functions:uuid_
yaml_dump = mistral.expressions.std_functions:yaml_dump_
yaml_parse = mistral.expressions.std_functions:yaml_parse_
[mistral.js.implementation]
py_mini_racer = mistral.utils.javascript:PyMiniRacerEvaluator
pyv8 = mistral.utils.javascript:PyV8Evaluator
v8eval = mistral.utils.javascript:V8EvalEvaluator
[mistral.notification.publishers]
noop = mistral.notifiers.publishers.noop:NoopPublisher
webhook = mistral.notifiers.publishers.webhook:WebhookPublisher
[mistral.notifiers]
local = mistral.notifiers.default_notifier:DefaultNotifier
remote = mistral.notifiers.remote_notifier:RemoteNotifier
[mistral.rpc.backends]
kombu_client = mistral.rpc.kombu.kombu_client:KombuRPCClient
kombu_server = mistral.rpc.kombu.kombu_server:KombuRPCServer
oslo_client = mistral.rpc.oslo.oslo_client:OsloRPCClient
oslo_server = mistral.rpc.oslo.oslo_server:OsloRPCServer
[mistral.schedulers]
default = mistral.scheduler.default_scheduler:DefaultScheduler
legacy = mistral.services.legacy_scheduler:LegacyScheduler
[oslo.config.opts]
mistral.config = mistral.config:list_opts
[oslo.config.opts.defaults]
mistral.config = mistral.config:set_cors_middleware_defaults
[oslo.policy.enforcer]
mistral = mistral.api.access_control:get_enforcer
[oslo.policy.policies]
mistral = mistral.policies:list_rules
[pygments.lexers]
mistral = mistral.ext.pygmentplugin:MistralLexer
[wsgi_scripts]
mistral-wsgi-api = mistral.api.app:init_wsgi
mistral-10.0.0/mistral.egg-info/dependency_links.txt 0000664 0001750 0001750 00000000001 13656750041 022507 0 ustar zuul zuul 0000000 0000000
mistral-10.0.0/mistral.egg-info/requires.txt 0000664 0001750 0001750 00000001451 13656750041 021042 0 ustar zuul zuul 0000000 0000000 alembic>=0.9.6
Babel!=2.4.0,>=2.3.4
croniter>=0.3.4
cachetools>=2.0.0
dogpile.cache>=0.6.2
eventlet!=0.20.1,!=0.21.0,!=0.23.0,!=0.25.0,>=0.20.0
Jinja2>=2.10
jsonschema>=2.6.0
keystonemiddleware>=4.18.0
kombu!=4.0.2,>=4.6.1
mistral-lib>=1.4.0
oslo.concurrency>=3.26.0
oslo.config>=5.2.0
oslo.context>=2.20.0
oslo.db>=4.40.0
oslo.i18n>=3.15.3
oslo.messaging>=5.29.0
oslo.middleware>=3.31.0
oslo.policy>=1.30.0
oslo.utils>=3.37.0
oslo.log>=3.36.0
oslo.serialization>=2.21.1
oslo.service!=1.28.1,>=1.24.0
osprofiler>=1.4.0
paramiko>=2.4.1
pbr!=2.1.0,>=2.0.0
pecan>=1.2.1
PyJWT>=1.5
PyYAML>=5.1
requests>=2.14.2
tenacity>=5.0.1
six>=1.10.0
SQLAlchemy>=1.2.5
stevedore>=1.20.0
WSME>=0.8.0
yaql>=1.1.3
tooz>=1.58.0
zake>=0.1.6
[:(python_version<'3.0')]
networkx<2.3,>=1.10
[:(python_version>='3.4')]
networkx>=2.3
mistral-10.0.0/mistral.egg-info/pbr.json 0000664 0001750 0001750 00000000057 13656750041 020121 0 ustar zuul zuul 0000000 0000000 {"git_version": "545a34c7", "is_release": true} mistral-10.0.0/mistral.egg-info/PKG-INFO 0000664 0001750 0001750 00000004422 13656750041 017540 0 ustar zuul zuul 0000000 0000000 Metadata-Version: 1.1
Name: mistral
Version: 10.0.0
Summary: Mistral Project
Home-page: https://docs.openstack.org/mistral/latest/
Author: OpenStack
Author-email: openstack-discuss@lists.openstack.org
License: Apache License, Version 2.0
Description: ========================
Team and repository tags
========================
.. image:: https://governance.openstack.org/tc/badges/mistral.svg
:target: https://governance.openstack.org/tc/reference/tags/index.html
Mistral
=======
Workflow Service integrated with OpenStack. This project aims to provide a
mechanism to define tasks and workflows in a simple YAML-based language, manage
and execute them in a distributed environment.
Project Resources
-----------------
* `Mistral Official Documentation `_
* `User Documentation `_
* `Administrator Documentation `_
* `Developer Documentation `_
* Project status, bugs, and blueprints are tracked on
`Launchpad `_
* CloudFlow: visualization tool for workflow executions on https://github.com/nokia/CloudFlow
* Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0
* Release notes for the project can be found at:
https://docs.openstack.org/releasenotes/mistral/
* Source for the project can be found at:
https://opendev.org/openstack/mistral
Platform: UNKNOWN
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Environment :: OpenStack
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: POSIX :: Linux
mistral-10.0.0/mistral.egg-info/top_level.txt 0000664 0001750 0001750 00000000010 13656750041 021162 0 ustar zuul zuul 0000000 0000000 mistral
mistral-10.0.0/mistral.egg-info/not-zip-safe 0000664 0001750 0001750 00000000001 13656750041 020667 0 ustar zuul zuul 0000000 0000000
mistral-10.0.0/mistral.egg-info/SOURCES.txt 0000664 0001750 0001750 00000076531 13656750041 020341 0 ustar zuul zuul 0000000 0000000 .coveragerc
.dockerignore
.stestr.conf
.zuul.yaml
AUTHORS
CONTRIBUTING.rst
ChangeLog
HACKING.rst
LICENSE
README.rst
bindep.txt
lower-constraints.txt
requirements.txt
run_tests.sh
setup.cfg
setup.py
test-requirements.txt
tox.ini
api-ref/source/conf.py
api-ref/source/index.rst
api-ref/source/v2/action.inc
api-ref/source/v2/cron-trigger.inc
api-ref/source/v2/execution.inc
api-ref/source/v2/task.inc
api-ref/source/v2/workbook.inc
api-ref/source/v2/workflow.inc
devstack/README.rst
devstack/plugin.sh
devstack/settings
devstack/files/apache-mistral-api.template
doc/requirements.txt
doc/source/conf.py
doc/source/index.rst
doc/source/admin/architecture.rst
doc/source/admin/index.rst
doc/source/admin/quickstart.rst
doc/source/admin/upgrade_guide.rst
doc/source/admin/configuration/config-guide.rst
doc/source/admin/configuration/index.rst
doc/source/admin/configuration/policy-guide.rst
doc/source/admin/configuration/samples/index.rst
doc/source/admin/configuration/samples/policy-yaml.rst
doc/source/admin/img/mistral_architecture.png
doc/source/admin/install/dashboard_guide.rst
doc/source/admin/install/get_started.rst
doc/source/admin/install/index.rst
doc/source/admin/install/install-obs.rst
doc/source/admin/install/install-rdo.rst
doc/source/admin/install/install-ubuntu.rst
doc/source/admin/install/install.rst
doc/source/admin/install/installation_guide.rst
doc/source/admin/install/mistralclient_guide.rst
doc/source/admin/install/next-steps.rst
doc/source/admin/install/verify.rst
doc/source/contributor/contributing.rst
doc/source/developer/index.rst
doc/source/developer/contributor/coding_guidelines.rst
doc/source/developer/contributor/contributing.rst
doc/source/developer/contributor/debugging_and_testing.rst
doc/source/developer/contributor/devstack.rst
doc/source/developer/contributor/index.rst
doc/source/developer/contributor/profiling.rst
doc/source/developer/contributor/troubleshooting.rst
doc/source/developer/contributor/img/Pycharm_run_config_menu.png
doc/source/developer/contributor/img/dashboard_debug_config.png
doc/source/developer/contributor/img/dashboard_django_settings.png
doc/source/developer/contributor/img/dashboard_environment_variables.png
doc/source/developer/extensions/creating_custom_action.rst
doc/source/developer/extensions/extending_yaql.rst
doc/source/developer/extensions/index.rst
doc/source/user/asynchronous_actions.rst
doc/source/user/faq.rst
doc/source/user/index.rst
doc/source/user/main_features.rst
doc/source/user/overview.rst
doc/source/user/rest_api_v2.rst
doc/source/user/wf_lang_v2.rst
doc/source/user/wf_namespaces.rst
doc/source/user/cli/index.rst
doc/source/user/cookbooks/cloud_cron.rst
doc/source/user/cookbooks/index.rst
doc/source/user/cookbooks/img/cloud_cron_updating_multiple_servers.png
doc/source/user/cookbooks/img/ssh_proxied.png
doc/source/user/terminology/actions.rst
doc/source/user/terminology/cron_triggers.rst
doc/source/user/terminology/executions.rst
doc/source/user/terminology/index.rst
doc/source/user/terminology/workbooks.rst
doc/source/user/terminology/workflows.rst
doc/source/user/terminology/img/actions.png
doc/source/user/terminology/img/cron_trigger.png
doc/source/user/terminology/img/direct_workflow.png
doc/source/user/terminology/img/reverse_workflow.png
doc/source/user/terminology/img/workbook_namespacing.png
doc/source/user/use_cases/index.rst
doc/source/user/use_cases/long_running_business_process.rst
doc/source/user/use_cases/img/long_running_business_process.png
etc/README.mistral.conf
etc/event_definitions.yml.sample
etc/logging.conf.sample
etc/logging.conf.sample.rotating
etc/policy.json
etc/wf_trace_logging.conf.sample
etc/wf_trace_logging.conf.sample.rotating
mistral/__init__.py
mistral/_i18n.py
mistral/config.py
mistral/context.py
mistral/exceptions.py
mistral/messaging.py
mistral/version.py
mistral.egg-info/PKG-INFO
mistral.egg-info/SOURCES.txt
mistral.egg-info/dependency_links.txt
mistral.egg-info/entry_points.txt
mistral.egg-info/not-zip-safe
mistral.egg-info/pbr.json
mistral.egg-info/requires.txt
mistral.egg-info/top_level.txt
mistral/actions/__init__.py
mistral/actions/action_factory.py
mistral/actions/std_actions.py
mistral/api/__init__.py
mistral/api/access_control.py
mistral/api/app.py
mistral/api/service.py
mistral/api/wsgi.py
mistral/api/controllers/__init__.py
mistral/api/controllers/resource.py
mistral/api/controllers/root.py
mistral/api/controllers/v2/__init__.py
mistral/api/controllers/v2/action.py
mistral/api/controllers/v2/action_execution.py
mistral/api/controllers/v2/cron_trigger.py
mistral/api/controllers/v2/environment.py
mistral/api/controllers/v2/event_trigger.py
mistral/api/controllers/v2/execution.py
mistral/api/controllers/v2/execution_report.py
mistral/api/controllers/v2/member.py
mistral/api/controllers/v2/resources.py
mistral/api/controllers/v2/root.py
mistral/api/controllers/v2/service.py
mistral/api/controllers/v2/sub_execution.py
mistral/api/controllers/v2/task.py
mistral/api/controllers/v2/types.py
mistral/api/controllers/v2/validation.py
mistral/api/controllers/v2/workbook.py
mistral/api/controllers/v2/workflow.py
mistral/api/hooks/__init__.py
mistral/api/hooks/content_type.py
mistral/auth/__init__.py
mistral/auth/keycloak.py
mistral/auth/keystone.py
mistral/cmd/__init__.py
mistral/cmd/launch.py
mistral/db/__init__.py
mistral/db/utils.py
mistral/db/sqlalchemy/__init__.py
mistral/db/sqlalchemy/base.py
mistral/db/sqlalchemy/model_base.py
mistral/db/sqlalchemy/sqlite_lock.py
mistral/db/sqlalchemy/types.py
mistral/db/sqlalchemy/migration/__init__.py
mistral/db/sqlalchemy/migration/alembic.ini
mistral/db/sqlalchemy/migration/cli.py
mistral/db/sqlalchemy/migration/alembic_migrations/README.md
mistral/db/sqlalchemy/migration/alembic_migrations/__init__.py
mistral/db/sqlalchemy/migration/alembic_migrations/env.py
mistral/db/sqlalchemy/migration/alembic_migrations/script.py.mako
mistral/db/sqlalchemy/migration/alembic_migrations/versions/001_kilo.py
mistral/db/sqlalchemy/migration/alembic_migrations/versions/002_kilo.py
mistral/db/sqlalchemy/migration/alembic_migrations/versions/003_cron_trigger_constraints.py
mistral/db/sqlalchemy/migration/alembic_migrations/versions/004_add_description_for_execution.py
mistral/db/sqlalchemy/migration/alembic_migrations/versions/005_increase_execution_columns_size.py
mistral/db/sqlalchemy/migration/alembic_migrations/versions/006_add_processed_to_delayed_calls_v2.py
mistral/db/sqlalchemy/migration/alembic_migrations/versions/007_move_system_flag_to_base_definition.py
mistral/db/sqlalchemy/migration/alembic_migrations/versions/008_increase_size_of_state_info_column.py
mistral/db/sqlalchemy/migration/alembic_migrations/versions/009_add_database_indices.py
mistral/db/sqlalchemy/migration/alembic_migrations/versions/010_add_resource_members_v2_table.py
mistral/db/sqlalchemy/migration/alembic_migrations/versions/011_add_workflow_id_for_execution.py
mistral/db/sqlalchemy/migration/alembic_migrations/versions/012_add_event_triggers_v2_table.py
mistral/db/sqlalchemy/migration/alembic_migrations/versions/013_split_execution_table_increase_names.py
mistral/db/sqlalchemy/migration/alembic_migrations/versions/014_fix_past_scripts_discrepancies.py
mistral/db/sqlalchemy/migration/alembic_migrations/versions/015_add_unique_keys_for_non_locking_model.py
mistral/db/sqlalchemy/migration/alembic_migrations/versions/016_increase_size_of_task_unique_key.py
mistral/db/sqlalchemy/migration/alembic_migrations/versions/017_add_named_lock_table.py
mistral/db/sqlalchemy/migration/alembic_migrations/versions/018_increate_task_execution_unique_key_size.py
mistral/db/sqlalchemy/migration/alembic_migrations/versions/019_change_scheduler_schema.py
mistral/db/sqlalchemy/migration/alembic_migrations/versions/020_add_type_to_task_execution.py
mistral/db/sqlalchemy/migration/alembic_migrations/versions/021_increase_env_columns_size.py
mistral/db/sqlalchemy/migration/alembic_migrations/versions/022_namespace_support.py
mistral/db/sqlalchemy/migration/alembic_migrations/versions/023_add_root_execution_id.py
mistral/db/sqlalchemy/migration/alembic_migrations/versions/024_add_composite_index_workflow_execution_id_name.py
mistral/db/sqlalchemy/migration/alembic_migrations/versions/025_fix_length_task_name.py
mistral/db/sqlalchemy/migration/alembic_migrations/versions/026_optimize_task_expression_func.py
mistral/db/sqlalchemy/migration/alembic_migrations/versions/027_add_last_heartbeat_to_action_execution.py
mistral/db/sqlalchemy/migration/alembic_migrations/versions/028_add_namespace_column_to_workbooks.py
mistral/db/sqlalchemy/migration/alembic_migrations/versions/029_workbook_empty_namespace.py
mistral/db/sqlalchemy/migration/alembic_migrations/versions/030_increase_delayed_calls_v2_auth_context.py
mistral/db/sqlalchemy/migration/alembic_migrations/versions/031_add_started_at_and_finished_at_to_task_execution.py
mistral/db/sqlalchemy/migration/alembic_migrations/versions/032_add_has_next_tasks_and_error_handled_to_task_execution.py
mistral/db/sqlalchemy/migration/alembic_migrations/versions/033_add_next_tasks_to_task_execution.py
mistral/db/sqlalchemy/migration/alembic_migrations/versions/034_add_scheduled_jobs_table.py
mistral/db/sqlalchemy/migration/alembic_migrations/versions/035_namespace_support_postgresql.py
mistral/db/sqlalchemy/migration/alembic_migrations/versions/036_namespace_support_for_workbooks_postgresql.py
mistral/db/sqlalchemy/migration/alembic_migrations/versions/037_add_namespace_column_to_action_definitions.py
mistral/db/sqlalchemy/migration/alembic_migrations/versions/__init__.py
mistral/db/v2/__init__.py
mistral/db/v2/api.py
mistral/db/v2/sqlalchemy/__init__.py
mistral/db/v2/sqlalchemy/api.py
mistral/db/v2/sqlalchemy/filters.py
mistral/db/v2/sqlalchemy/models.py
mistral/engine/__init__.py
mistral/engine/action_handler.py
mistral/engine/actions.py
mistral/engine/base.py
mistral/engine/default_engine.py
mistral/engine/dispatcher.py
mistral/engine/engine_server.py
mistral/engine/policies.py
mistral/engine/post_tx_queue.py
mistral/engine/task_handler.py
mistral/engine/tasks.py
mistral/engine/utils.py
mistral/engine/workflow_handler.py
mistral/engine/workflows.py
mistral/event_engine/__init__.py
mistral/event_engine/base.py
mistral/event_engine/default_event_engine.py
mistral/event_engine/event_engine_server.py
mistral/executors/__init__.py
mistral/executors/base.py
mistral/executors/default_executor.py
mistral/executors/executor_server.py
mistral/executors/remote_executor.py
mistral/expressions/__init__.py
mistral/expressions/base.py
mistral/expressions/jinja_expression.py
mistral/expressions/std_functions.py
mistral/expressions/yaql_expression.py
mistral/ext/__init__.py
mistral/ext/pygmentplugin.py
mistral/hacking/__init__.py
mistral/hacking/checks.py
mistral/lang/__init__.py
mistral/lang/base.py
mistral/lang/parser.py
mistral/lang/types.py
mistral/lang/v2/__init__.py
mistral/lang/v2/actions.py
mistral/lang/v2/base.py
mistral/lang/v2/on_clause.py
mistral/lang/v2/policies.py
mistral/lang/v2/publish.py
mistral/lang/v2/retry_policy.py
mistral/lang/v2/task_defaults.py
mistral/lang/v2/tasks.py
mistral/lang/v2/workbook.py
mistral/lang/v2/workflows.py
mistral/notifiers/__init__.py
mistral/notifiers/base.py
mistral/notifiers/default_notifier.py
mistral/notifiers/notification_events.py
mistral/notifiers/notification_server.py
mistral/notifiers/remote_notifier.py
mistral/notifiers/publishers/__init__.py
mistral/notifiers/publishers/noop.py
mistral/notifiers/publishers/webhook.py
mistral/policies/__init__.py
mistral/policies/action.py
mistral/policies/action_executions.py
mistral/policies/base.py
mistral/policies/cron_trigger.py
mistral/policies/environment.py
mistral/policies/event_trigger.py
mistral/policies/execution.py
mistral/policies/member.py
mistral/policies/service.py
mistral/policies/task.py
mistral/policies/workbook.py
mistral/policies/workflow.py
mistral/resources/actions/wait_ssh.yaml
mistral/rpc/__init__.py
mistral/rpc/base.py
mistral/rpc/clients.py
mistral/rpc/kombu/__init__.py
mistral/rpc/kombu/base.py
mistral/rpc/kombu/kombu_client.py
mistral/rpc/kombu/kombu_hosts.py
mistral/rpc/kombu/kombu_listener.py
mistral/rpc/kombu/kombu_server.py
mistral/rpc/kombu/examples/__init__.py
mistral/rpc/kombu/examples/client.py
mistral/rpc/kombu/examples/server.py
mistral/rpc/oslo/__init__.py
mistral/rpc/oslo/oslo_client.py
mistral/rpc/oslo/oslo_server.py
mistral/scheduler/__init__.py
mistral/scheduler/base.py
mistral/scheduler/default_scheduler.py
mistral/scheduler/scheduler_server.py
mistral/service/__init__.py
mistral/service/base.py
mistral/service/coordination.py
mistral/services/__init__.py
mistral/services/action_heartbeat_checker.py
mistral/services/action_heartbeat_sender.py
mistral/services/action_manager.py
mistral/services/actions.py
mistral/services/expiration_policy.py
mistral/services/legacy_scheduler.py
mistral/services/periodic.py
mistral/services/security.py
mistral/services/triggers.py
mistral/services/workbooks.py
mistral/services/workflows.py
mistral/tests/__init__.py
mistral/tests/releasenotes/notes/return-errors-for-std-mistral-http-b852b6d8f0034477.yaml
mistral/tests/resources/action_jinja.yaml
mistral/tests/resources/action_v2.yaml
mistral/tests/resources/single_wf.yaml
mistral/tests/resources/wb_v1.yaml
mistral/tests/resources/wb_v2.yaml
mistral/tests/resources/wb_with_nested_wf.yaml
mistral/tests/resources/wf_action_ex_concurrency.yaml
mistral/tests/resources/wf_jinja.yaml
mistral/tests/resources/wf_task_ex_concurrency.yaml
mistral/tests/resources/wf_v2.yaml
mistral/tests/resources/for_wf_namespace/lowest_level_wf.yaml
mistral/tests/resources/for_wf_namespace/middle_wf.yaml
mistral/tests/resources/for_wf_namespace/top_level_wf.yaml
mistral/tests/resources/workbook/v2/my_workbook.yaml
mistral/tests/resources/workbook/v2/workbook_schema_test.yaml
mistral/tests/unit/__init__.py
mistral/tests/unit/base.py
mistral/tests/unit/config.py
mistral/tests/unit/test_command_dispatcher.py
mistral/tests/unit/test_context.py
mistral/tests/unit/test_coordination.py
mistral/tests/unit/test_exception_base.py
mistral/tests/unit/test_expressions.py
mistral/tests/unit/test_launcher.py
mistral/tests/unit/test_version.py
mistral/tests/unit/actions/__init__.py
mistral/tests/unit/actions/test_action_manager.py
mistral/tests/unit/actions/test_javascript_action.py
mistral/tests/unit/actions/test_std_echo_action.py
mistral/tests/unit/actions/test_std_email_action.py
mistral/tests/unit/actions/test_std_fail_action.py
mistral/tests/unit/actions/test_std_http_action.py
mistral/tests/unit/actions/test_std_mistral_http_action.py
mistral/tests/unit/actions/test_std_ssh_action.py
mistral/tests/unit/actions/test_std_test_dict_action.py
mistral/tests/unit/actions/test_types.py
mistral/tests/unit/api/__init__.py
mistral/tests/unit/api/base.py
mistral/tests/unit/api/test_access_control.py
mistral/tests/unit/api/test_auth.py
mistral/tests/unit/api/test_cors_middleware.py
mistral/tests/unit/api/test_oslo_middleware.py
mistral/tests/unit/api/test_resource_base.py
mistral/tests/unit/api/test_resource_list.py
mistral/tests/unit/api/test_service.py
mistral/tests/unit/api/v2/__init__.py
mistral/tests/unit/api/v2/test_action_executions.py
mistral/tests/unit/api/v2/test_actions.py
mistral/tests/unit/api/v2/test_cron_triggers.py
mistral/tests/unit/api/v2/test_environment.py
mistral/tests/unit/api/v2/test_event_trigger.py
mistral/tests/unit/api/v2/test_execution_report.py
mistral/tests/unit/api/v2/test_executions.py
mistral/tests/unit/api/v2/test_global_publish.py
mistral/tests/unit/api/v2/test_keycloak_auth.py
mistral/tests/unit/api/v2/test_members.py
mistral/tests/unit/api/v2/test_root.py
mistral/tests/unit/api/v2/test_services.py
mistral/tests/unit/api/v2/test_sub_execution.py
mistral/tests/unit/api/v2/test_tasks.py
mistral/tests/unit/api/v2/test_workbooks.py
mistral/tests/unit/api/v2/test_workflows.py
mistral/tests/unit/db/__init__.py
mistral/tests/unit/db/v2/__init__.py
mistral/tests/unit/db/v2/test_db_model.py
mistral/tests/unit/db/v2/test_locking.py
mistral/tests/unit/db/v2/test_sqlalchemy_db_api.py
mistral/tests/unit/db/v2/test_sqlite_transactions.py
mistral/tests/unit/db/v2/test_transactions.py
mistral/tests/unit/engine/__init__.py
mistral/tests/unit/engine/base.py
mistral/tests/unit/engine/test_action_caching.py
mistral/tests/unit/engine/test_action_context.py
mistral/tests/unit/engine/test_action_defaults.py
mistral/tests/unit/engine/test_action_heartbeat_checker.py
mistral/tests/unit/engine/test_action_heartbeat_sender.py
mistral/tests/unit/engine/test_adhoc_actions.py
mistral/tests/unit/engine/test_commands.py
mistral/tests/unit/engine/test_cron_trigger.py
mistral/tests/unit/engine/test_dataflow.py
mistral/tests/unit/engine/test_default_engine.py
mistral/tests/unit/engine/test_direct_workflow.py
mistral/tests/unit/engine/test_direct_workflow_rerun.py
mistral/tests/unit/engine/test_direct_workflow_rerun_cancelled.py
mistral/tests/unit/engine/test_direct_workflow_with_cycles.py
mistral/tests/unit/engine/test_disabled_yaql_conversion.py
mistral/tests/unit/engine/test_environment.py
mistral/tests/unit/engine/test_error_handling.py
mistral/tests/unit/engine/test_error_result.py
mistral/tests/unit/engine/test_execution_fields_size_limitation.py
mistral/tests/unit/engine/test_execution_params.py
mistral/tests/unit/engine/test_integrity_check.py
mistral/tests/unit/engine/test_javascript_action.py
mistral/tests/unit/engine/test_join.py
mistral/tests/unit/engine/test_names_validation.py
mistral/tests/unit/engine/test_noop_task.py
mistral/tests/unit/engine/test_policies.py
mistral/tests/unit/engine/test_profiler.py
mistral/tests/unit/engine/test_race_condition.py
mistral/tests/unit/engine/test_reverse_workflow.py
mistral/tests/unit/engine/test_reverse_workflow_rerun.py
mistral/tests/unit/engine/test_reverse_workflow_rerun_cancelled.py
mistral/tests/unit/engine/test_run_action.py
mistral/tests/unit/engine/test_safe_rerun.py
mistral/tests/unit/engine/test_set_state.py
mistral/tests/unit/engine/test_state_info.py
mistral/tests/unit/engine/test_subworkflows.py
mistral/tests/unit/engine/test_subworkflows_pause_resume.py
mistral/tests/unit/engine/test_task_cancel.py
mistral/tests/unit/engine/test_task_defaults.py
mistral/tests/unit/engine/test_task_pause_resume.py
mistral/tests/unit/engine/test_task_publish.py
mistral/tests/unit/engine/test_task_started_finished_at.py
mistral/tests/unit/engine/test_tasks_function.py
mistral/tests/unit/engine/test_with_items.py
mistral/tests/unit/engine/test_with_items_task.py
mistral/tests/unit/engine/test_workflow_cancel.py
mistral/tests/unit/engine/test_workflow_resume.py
mistral/tests/unit/engine/test_workflow_stop.py
mistral/tests/unit/engine/test_workflow_variables.py
mistral/tests/unit/engine/test_yaql_functions.py
mistral/tests/unit/executors/__init__.py
mistral/tests/unit/executors/base.py
mistral/tests/unit/executors/test_local_executor.py
mistral/tests/unit/executors/test_server_plugins.py
mistral/tests/unit/expressions/__init__.py
mistral/tests/unit/expressions/test_jinja_expression.py
mistral/tests/unit/expressions/test_yaql_expression.py
mistral/tests/unit/expressions/test_yaql_json_serialization.py
mistral/tests/unit/hacking/__init__.py
mistral/tests/unit/hacking/test_checks.py
mistral/tests/unit/lang/__init__.py
mistral/tests/unit/lang/test_spec_caching.py
mistral/tests/unit/lang/v2/__init__.py
mistral/tests/unit/lang/v2/base.py
mistral/tests/unit/lang/v2/test_actions.py
mistral/tests/unit/lang/v2/test_tasks.py
mistral/tests/unit/lang/v2/test_workbook.py
mistral/tests/unit/lang/v2/test_workflows.py
mistral/tests/unit/mstrlfixtures/__init__.py
mistral/tests/unit/mstrlfixtures/hacking.py
mistral/tests/unit/mstrlfixtures/policy_fixtures.py
mistral/tests/unit/notifiers/__init__.py
mistral/tests/unit/notifiers/base.py
mistral/tests/unit/notifiers/test_notifier_servers.py
mistral/tests/unit/notifiers/test_notify.py
mistral/tests/unit/policies/__init__.py
mistral/tests/unit/policies/test_actions.py
mistral/tests/unit/policies/test_workflows.py
mistral/tests/unit/rpc/__init__.py
mistral/tests/unit/rpc/kombu/__init__.py
mistral/tests/unit/rpc/kombu/base.py
mistral/tests/unit/rpc/kombu/fake_kombu.py
mistral/tests/unit/rpc/kombu/test_kombu_client.py
mistral/tests/unit/rpc/kombu/test_kombu_hosts.py
mistral/tests/unit/rpc/kombu/test_kombu_listener.py
mistral/tests/unit/rpc/kombu/test_kombu_server.py
mistral/tests/unit/scheduler/__init__.py
mistral/tests/unit/scheduler/test_default_scheduler.py
mistral/tests/unit/services/__init__.py
mistral/tests/unit/services/test_action_manager.py
mistral/tests/unit/services/test_action_service.py
mistral/tests/unit/services/test_event_engine.py
mistral/tests/unit/services/test_expiration_policy.py
mistral/tests/unit/services/test_legacy_scheduler.py
mistral/tests/unit/services/test_trigger_service.py
mistral/tests/unit/services/test_workbook_service.py
mistral/tests/unit/services/test_workflow_service.py
mistral/tests/unit/utils/__init__.py
mistral/tests/unit/utils/test_filter_utils.py
mistral/tests/unit/utils/test_rest_utils.py
mistral/tests/unit/utils/test_safeLoader.py
mistral/tests/unit/utils/test_utils.py
mistral/tests/unit/workflow/__init__.py
mistral/tests/unit/workflow/test_direct_workflow.py
mistral/tests/unit/workflow/test_reverse_workflow.py
mistral/tests/unit/workflow/test_states.py
mistral/tests/unit/workflow/test_workflow_base.py
mistral/utils/__init__.py
mistral/utils/filter_utils.py
mistral/utils/javascript.py
mistral/utils/profiler.py
mistral/utils/rest_utils.py
mistral/utils/safe_yaml.py
mistral/utils/ssh_utils.py
mistral/utils/wf_trace.py
mistral/utils/openstack/__init__.py
mistral/utils/openstack/keystone.py
mistral/workflow/__init__.py
mistral/workflow/base.py
mistral/workflow/commands.py
mistral/workflow/data_flow.py
mistral/workflow/direct_workflow.py
mistral/workflow/reverse_workflow.py
mistral/workflow/states.py
mistral/workflow/utils.py
playbooks/docker-buildimage/post.yaml
playbooks/docker-buildimage/run.yaml
playbooks/legacy/mistral-ha/run.yaml
rally-jobs/README.rst
rally-jobs/task-mistral.yaml
rally-jobs/extra/README.rst
rally-jobs/extra/mistral_wb.yaml
rally-jobs/extra/nested_wb.yaml
rally-jobs/extra/scenarios/complex_wf/complex_wf_params.json
rally-jobs/extra/scenarios/complex_wf/complex_wf_wb.yaml
rally-jobs/extra/scenarios/join/join_100_wb.yaml
rally-jobs/extra/scenarios/join/join_500_wb.yaml
rally-jobs/extra/scenarios/with_items/count_100_concurrency_10.json
rally-jobs/extra/scenarios/with_items/wb.yaml
rally-jobs/plugins/README.rst
rally-jobs/plugins/__init__.py
rally-jobs/plugins/mistral_expressions_scenario.py
releasenotes/notes/.placeholder
releasenotes/notes/add-action-region-to-actions-353f6c4b10f76677.yaml
releasenotes/notes/add-execution-event-notifications-0f77c1c3eb1d6929.yaml
releasenotes/notes/add-json-dump-deprecate-json-pp-252c6c495fd2dea1.yaml
releasenotes/notes/add-missing-tacker-actions-dddcf77ddd90192f.yaml
releasenotes/notes/add-publicize-policy-d3b44590286c7fdd.yaml
releasenotes/notes/add-py-mini-racer-javascript-evaluator-9d8f9e0e36504d72.yaml
releasenotes/notes/add-task_execution_id-indexes-16edc58085e47663.yaml
releasenotes/notes/add_action_definition_caching-78d4446d61c6d739.yaml
releasenotes/notes/add_config_option_for_oslo_rpc_executor-44afe1f728afdcb2.yaml
releasenotes/notes/add_more_logging_for_sending_actions-c2ddd97027803ecd.yaml
releasenotes/notes/add_public_event_triggers-ab6249ca85fd5497.yaml
releasenotes/notes/add_root_execution_id_to_jinja-90b67c69a50370b5.yaml
releasenotes/notes/add_skip_validation-9e8b906c45bdb89f.yaml
releasenotes/notes/add_yaql_conver_output_data_config_option-4a0fa926a736de7e.yaml
releasenotes/notes/add_yaql_convert_input_data_config_property-09822dee1f46eb8e.yaml
releasenotes/notes/add_yaql_engine_options-200fdcfda04683ca.yaml
releasenotes/notes/allow_none_for_workflow_execution_params-f25b752e207d51d7.yaml
releasenotes/notes/alternative-rpc-layer-21ca7f6171c8f628.yaml
releasenotes/notes/changing-context-in-delayed-calls-78d8e9a622fe3fe9.yaml
releasenotes/notes/changing-isolation-level-to-read-committed-7080833ad284b901.yaml
releasenotes/notes/cleanup-rpc-cleints-transport-eaa90fef070b81fd.yaml
releasenotes/notes/clone_cached_action_definitions-e8b6005b467f35f2.yaml
releasenotes/notes/close-stuck-running-action-executions-b67deda65d117cee.yaml
releasenotes/notes/create-and-run-workflows-within-namespaces-e4fba869a889f55f.yaml
releasenotes/notes/drop-ceilometerclient-b33330a28906759e.yaml
releasenotes/notes/drop-py-2-7-d6ce46d3dc571c01.yaml
releasenotes/notes/evaluate_env_parameter-14baa54c860da11c.yaml
releasenotes/notes/external_openstack_action_mapping_support-5cec5d9d5192feb7.yaml
releasenotes/notes/fix-auth-context-with-big-catalog-7647a07d616e653f.yaml
releasenotes/notes/fix-event-engines-ha-cc78f341095cdabf.yaml
releasenotes/notes/fix-jinja-expression-handling-135451645d7a4e6f.yaml
releasenotes/notes/fix-next-url-formatting-2cc0d8a27625c73a.yaml
releasenotes/notes/fix-regression-when-logging-58faa35f02cefb34.yaml
releasenotes/notes/fix_error_validate_token_when_run_cron_trigger-7beffc06b75294fb.yaml
releasenotes/notes/fix_has_next_tasks_field_calculation-5717f93d7adcd9b0.yaml
releasenotes/notes/fix_join_when_last_finished_indirect_error-b0e5adf99cde9a58.yaml
releasenotes/notes/fix_pause_command-58294f613488511c.yaml
releasenotes/notes/fix_task_function-04b83ada20a71f12.yaml
releasenotes/notes/fix_task_state_info_assignment-e25481ce8c3193ba.yaml
releasenotes/notes/fix_workflow_output-cee5df431679de6b.yaml
releasenotes/notes/force-stop-executions-00cd67dbbc9b5483.yaml
releasenotes/notes/function-called-tasks-available-in-an-expression-17ca83d797ffb3ab.yaml
releasenotes/notes/http-proxy-to-wsgi-oslo-middleware-f66f1b9533ea1e8a.yaml
releasenotes/notes/improve_std_html_action-eca10df5bf934be8.yaml
releasenotes/notes/include-output-paramter-in-action-execution-list-c946f1b38dc5a052.yaml
releasenotes/notes/include_root_cause_of_action_error_first-4a730a7cbc36f375.yaml
releasenotes/notes/ironic-api-newton-9397da8135bb97b4.yaml
releasenotes/notes/keycloak-auth-support-74131b49e2071762.yaml
releasenotes/notes/load-keystoneauth-option-d9657d3052e82125.yaml
releasenotes/notes/magnum-actions-support-b131fa942b937fa5.yaml
releasenotes/notes/make_integrity_checker_work_with_batches-56c1cd94200d4c38.yaml
releasenotes/notes/mistral-aodh-actions-e4c2b7598d2e39ef.yaml
releasenotes/notes/mistral-api-server-https-716a6d741893dd23.yaml
releasenotes/notes/mistral-customize-authorization-d6b9a965f3056f09.yaml
releasenotes/notes/mistral-docker-image-9d6e04ac928289dd.yaml
releasenotes/notes/mistral-engine-scale-in-bd348f9237f32481.yaml
releasenotes/notes/mistral-gnocchi-actions-f26fd76b8a4df40e.yaml
releasenotes/notes/mistral-murano-actions-2250f745aaf8536a.yaml
releasenotes/notes/mistral-senlin-actions-f3fe359c4e91de01.yaml
releasenotes/notes/mistral-tempest-plugin-2f6dcbceb4d27eb0.yaml
releasenotes/notes/mistral-vitrage-actions-a205b8ea82b43cab.yaml
releasenotes/notes/move_openstack_actions_from_mistral_to_mistral_extra-b3f7bc71ffd72c6e.yaml
releasenotes/notes/namespace_for_adhoc_actions.yaml
releasenotes/notes/namespace_for_workbooks.yaml
releasenotes/notes/new-service-actions-support-47279bd649732632.yaml
releasenotes/notes/optimize_adhoc_actions_scheduling-e324f66f962ae409.yaml
releasenotes/notes/policy-and-doc-in-code-9f1737c474998991.yaml
releasenotes/notes/refactor_action_heartbeats_without_scheduler-9c3500d6a2b25a4d.yaml
releasenotes/notes/region-name-support-9e4b4ccd963ace88.yaml
releasenotes/notes/remove_polling_from_join-3a7921c4af741822.yaml
releasenotes/notes/remove_redundant_persistent_data_from_task_context-c5281a5f5ae688f1.yaml
releasenotes/notes/remove_unnecessary_workflow_execution_update-bdc9526bd39539c4.yaml
releasenotes/notes/role-based-resource-access-control-3579714be15d9b0b.yaml
releasenotes/notes/safe-rerun-in-task-defaults-87a4cbe12558bc6d.yaml
releasenotes/notes/set_security_context_for_action_execution_checker-eee7fb697fb213d1.yaml
releasenotes/notes/simplify_workflow_and_join_completion_check-77a47c5d8953096d.yaml
releasenotes/notes/std-ssh-add-pkey-2c665a81ff9fbdfd.yaml
releasenotes/notes/std.email-reply-to-c283770c798db7d0.yaml
releasenotes/notes/sub_execution_api.yaml
releasenotes/notes/support-created-at-yaql-function-execution-6ece8eaf34664c38.yaml
releasenotes/notes/support-env-in-adhoc-actions-20c98598893aa19f.yaml
releasenotes/notes/support-manage-cron-trigger-by-id-ab544e8068b84967.yaml
releasenotes/notes/support-manila-action-8af256d5fadd1ac5.yaml
releasenotes/notes/support-qinling-action-99cd323d4df36d48.yaml
releasenotes/notes/support-zun-action-3263350334d1d34f.yaml
releasenotes/notes/tacket-actions-support-2b4cee2644313cb3.yaml
releasenotes/notes/transition-message-8dc4dd99240bd0f7.yaml
releasenotes/notes/update-mistral-docker-image-0c6294fc021545e0.yaml
releasenotes/notes/update-retry-policy-fb5e73ce717ed066.yaml
releasenotes/notes/use-workflow-uuid-30d5e51c6ac57f1d.yaml
releasenotes/notes/use_mapped_entity_for_root_execution-1af6af12ee437282.yaml
releasenotes/notes/using_passive_deletes_in_sqlalchemy-4b3006b3aba55155.yaml
releasenotes/notes/validate-ad-hoc-action-api-added-6d7eaaedbe8129a7.yaml
releasenotes/notes/wf_final_context_evaluation_with_batches-6292ab64c131dfcc.yaml
releasenotes/notes/workflow-create-instance-YaqlEvaluationException-e22afff26a193c4f.yaml
releasenotes/notes/workflow-sharing-746255cda20c48d2.yaml
releasenotes/notes/workflow_environment_optimizations-deb8868df3f0dc36.yaml
releasenotes/notes/x-target-insecure-values-4b2bdbfd42526abc.yaml
releasenotes/notes/yaml-json-parse-53217627a647dc1d.yaml
releasenotes/source/conf.py
releasenotes/source/index.rst
releasenotes/source/liberty.rst
releasenotes/source/mitaka.rst
releasenotes/source/newton.rst
releasenotes/source/ocata.rst
releasenotes/source/pike.rst
releasenotes/source/queens.rst
releasenotes/source/rocky.rst
releasenotes/source/stein.rst
releasenotes/source/train.rst
releasenotes/source/unreleased.rst
releasenotes/source/_static/.placeholder
releasenotes/source/_templates/.placeholder
tools/cover.sh
tools/generate_mistralclient_help.sh
tools/install_venv.py
tools/install_venv_common.py
tools/rank_profiled_methods.py
tools/sync_db.py
tools/sync_db.sh
tools/test-setup.sh
tools/update_env_deps
tools/with_venv.sh
tools/config/check_uptodate.sh
tools/config/config-generator.mistral.conf
tools/config/policy-generator.mistral.conf
tools/cookiecutter-mistral-custom/README.rst
tools/cookiecutter-mistral-custom/cookiecutter.json
tools/cookiecutter-mistral-custom/run_cookiecutter.sh
tools/cookiecutter-mistral-custom/update_actions.sh
tools/cookiecutter-mistral-custom/{{cookiecutter.project_name}}/LICENSE
tools/cookiecutter-mistral-custom/{{cookiecutter.project_name}}/README.rst
tools/cookiecutter-mistral-custom/{{cookiecutter.project_name}}/requirements.txt
tools/cookiecutter-mistral-custom/{{cookiecutter.project_name}}/setup.cfg
tools/cookiecutter-mistral-custom/{{cookiecutter.project_name}}/setup.py
tools/cookiecutter-mistral-custom/{{cookiecutter.project_name}}/tox.ini
tools/cookiecutter-mistral-custom/{{cookiecutter.project_name}}/{{cookiecutter.pkg_name}}/__init__.py
tools/cookiecutter-mistral-custom/{{cookiecutter.project_name}}/{{cookiecutter.pkg_name}}/actions.py
tools/cookiecutter-mistral-custom/{{cookiecutter.project_name}}/{{cookiecutter.pkg_name}}/expression_functions.py
tools/cookiecutter-mistral-custom/{{cookiecutter.project_name}}/{{cookiecutter.pkg_name}}/tests/__init__.py
tools/cookiecutter-mistral-custom/{{cookiecutter.project_name}}/{{cookiecutter.pkg_name}}/tests/test_action.py
tools/cookiecutter-mistral-custom/{{cookiecutter.project_name}}/{{cookiecutter.pkg_name}}/tests/test_expressions.py
tools/docker/DOCKER_README.rst
tools/docker/Dockerfile
tools/docker/start.sh
tools/docker/docker-compose/auth.json
tools/docker/docker-compose/infrastructure.yaml
tools/docker/docker-compose/mistral-multi-node.yaml
tools/docker/docker-compose/mistral-single-node.yaml
tools/docker/docker-compose/mistral.env
tools/wf_generators/generate_parallel_wf.py mistral-10.0.0/doc/ 0000775 0001750 0001750 00000000000 13656750041 014041 5 ustar zuul zuul 0000000 0000000 mistral-10.0.0/doc/requirements.txt 0000664 0001750 0001750 00000000354 13656747717 017347 0 ustar zuul zuul 0000000 0000000 sphinx>=1.8.0,!=2.1.0,!=3.0.0;python_version>='3.4' # BSD
sphinxcontrib-httpdomain>=1.3.0 # BSD
sphinxcontrib-pecanwsme>=0.8.0 # Apache-2.0
openstackdocstheme>=1.30.0 # Apache-2.0
os-api-ref>=1.4.0 # Apache-2.0
reno>=2.5.0 # Apache-2.0
mistral-10.0.0/doc/source/ 0000775 0001750 0001750 00000000000 13656750041 015341 5 ustar zuul zuul 0000000 0000000 mistral-10.0.0/doc/source/conf.py 0000664 0001750 0001750 00000007350 13656747717 016665 0 ustar zuul zuul 0000000 0000000 # Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
# Mistral documentation build configuration file
#
# Refer to the Sphinx documentation for advice on configuring this file:
#
# http://www.sphinx-doc.org/en/stable/config.html
import os
import sys
on_rtd = os.environ.get('READTHEDOCS', None) == 'True'
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
sys.path.insert(0, os.path.abspath('../../'))
sys.path.insert(0, os.path.abspath('../'))
sys.path.insert(0, os.path.abspath('./'))
# -- General configuration ----------------------------------------------------
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = [
'sphinx.ext.autodoc',
'sphinxcontrib.pecanwsme.rest',
'sphinxcontrib.httpdomain',
'wsmeext.sphinxext',
'openstackdocstheme',
'oslo_policy.sphinxext',
'oslo_policy.sphinxpolicygen',
]
wsme_protocols = ['restjson']
suppress_warnings = ['app.add_directive']
# The suffix of source file names.
source_suffix = '.rst'
# The master toctree document.
master_doc = 'index'
# General information about the project.
project = 'Mistral'
copyright = u'2020, Mistral Contributors'
policy_generator_config_file = \
'../../tools/config/policy-generator.mistral.conf'
sample_policy_basename = '_static/mistral'
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
show_authors = False
# If true, '()' will be appended to :func: etc. cross-reference text.
add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
add_module_names = True
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# -- Options for HTML output --------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
# html_static_path = ['_static']
html_theme = 'openstackdocs'
# A list of ignored prefixes for module index sorting.
modindex_common_prefix = ['mistral.']
# The name for this set of Sphinx documents. If None, it defaults to
# " v documentation".
html_title = 'Mistral'
# -- Options for manual page output -------------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
('index', 'mistral', u'Mistral',
[u'OpenStack Foundation'], 1)
]
# If true, show URL addresses after external links.
man_show_urls = True
# -- Options for openstackdocstheme -------------------------------------------
repository_name = 'openstack/mistral'
bug_project = 'mistral'
bug_tag = 'doc'
latex_use_xindy = False
html_theme_options = {
"display_global_toc_section": True,
"sidebar_mode": "toctree",
}
# -- Options for LaTeX output ------------------------------------------------
latex_elements = {
'makeindex': '',
'printindex': '',
'preamble': r'\setcounter{tocdepth}{3}',
}
mistral-10.0.0/doc/source/developer/ 0000775 0001750 0001750 00000000000 13656750041 017326 5 ustar zuul zuul 0000000 0000000 mistral-10.0.0/doc/source/developer/extensions/ 0000775 0001750 0001750 00000000000 13656750041 021525 5 ustar zuul zuul 0000000 0000000 mistral-10.0.0/doc/source/developer/extensions/creating_custom_action.rst 0000664 0001750 0001750 00000002166 13656747717 027027 0 ustar zuul zuul 0000000 0000000 ============================
How to write a Custom Action
============================
1. Write a class inherited from mistral.actions.base.Action
.. code-block:: python
from mistral_lib import actions
class RunnerAction(actions.Action):
def __init__(self, param):
# store the incoming params
self.param = param
def run(self):
# return your results here
return {'status': 0}
2. Publish the class in a namespace (in your ``setup.cfg``)
.. code-block:: ini
[entry_points]
mistral.actions =
example.runner = my.mistral_plugins.somefile:RunnerAction
3. Install the Python package containing the action. If this was added to
Mistral itself it will need to be reinstalled.
4. Run the following command so Mistral discovers the new action
.. code-block:: console
$ mistral-db-manage --config-file populate
5. Now you can call the action ``example.runner``
.. code-block:: yaml
my_workflow:
tasks:
my_action_task:
action: example.runner
input:
param: avalue_to_pass_in
mistral-10.0.0/doc/source/developer/extensions/extending_yaql.rst 0000664 0001750 0001750 00000012354 13656747717 025317 0 ustar zuul zuul 0000000 0000000 ===================================
How to write a custom YAQL function
===================================
********
Tutorial
********
1. Create a new Python project, an empty folder, containing a basic
``setup.py`` file.
.. code-block:: bash
$ mkdir my_project
$ cd my_project
$ vim setup.py
.. code-block:: python
try:
from setuptools import setup, find_packages
except ImportError:
from distutils.core import setup, find_packages
setup(
name="project_name",
version="0.1.0",
packages=find_packages(),
install_requires=["mistral", "yaql"],
entry_points={
"mistral.expression.functions": [
"random_uuid = my_package.sub_package.yaql:random_uuid_"
]
}
)
Publish the ``random_uuid_`` function in the ``entry_points`` section, in the
``mistral.expression.functions`` namespace in ``setup.py``. This function will be
defined later.
Note that the package name will be used in Pip and must not overlap with
other packages installed. ``project_name`` may be replaced by something else.
The package name (``my_package`` here) may overlap with other
packages, but module paths (``.py`` files) may not.
For example, it is possible to have a ``mistral`` package (though not
recommended), but there must not be a ``mistral/version.py`` file, which
would overlap with the file existing in the original ``mistral`` package.
``yaql`` and ``mistral`` are the required packages. ``mistral`` is necessary
in this example only because calls to the Mistral Python DB API are made.
For each entry point, the syntax is:
.. code-block:: python
" = :"
``stevedore`` will detect all the entry points and make them available to
all Python applications needing them. Using this feature, there is no need
to modify Mistral's core code.
2. Create a package folder.
A package folder is directory with a ``__init__.py`` file. Create a file
that will contain the custom YAQL functions. There are no restrictions on
the paths or file names used.
.. code-block:: bash
$ mkdir -p my_package/sub_package
$ touch my_package/__init__.py
$ touch my_package/sub_package/__init__.py
3. Write a function in ``yaql.py``.
That function might have ``context`` as first argument to have the current
YAQL context available inside the function.
.. code-block:: bash
$ cd my_package/sub_package
$ vim yaql.py
.. code-block:: python
from uuid import uuid5, UUID
from time import time
def random_uuid_(context):
"""generate a UUID using the execution ID and the clock"""
# fetch the current workflow execution ID found in the context
execution_id = context['__execution']['id']
time_str = str(time())
execution_uuid = UUID(execution_id)
return uuid5(execution_uuid, time_str)
This function returns a random UUID using the current workflow execution ID
as a namespace.
The ``context`` argument will be passed by Mistral YAQL engine to the
function. It is invisible to the user. It contains variables from the current
task execution scope, such as ``__execution`` which is a dictionary with
information about the current workflow execution such as its ``id``.
Note that errors can be raised and will be displayed in the task execution
state information in case they are raised. Any valid Python primitives may
be returned.
The ``context`` argument is optional. There can be as many arguments as wanted,
even list arguments such as ``*args`` or dictionary arguments such as
``**kwargs`` can be used as function arguments.
For more information about YAQL, read the `official YAQL documentation `_.
4. Install ``pip`` and ``setuptools``.
.. code-block:: bash
$ curl https://bootstrap.pypa.io/3.2/get-pip.py | python
$ pip install --upgrade setuptools
$ cd -
5. Install the package (note that there is a dot ``.`` at the end of the line).
.. code-block:: bash
$ pip install .
6. The YAQL function can be called in Mistral using its name ``random_uuid``.
The function name in Python ``random_uuid_`` does not matter, only the entry
point name ``random_uuid`` does.
.. code-block:: yaml
my_workflow:
tasks:
my_action_task:
action: std.echo
publish:
random_id: <% random_uuid() %>
input:
output: "hello world"
****************
Updating changes
****************
After any new created functions or any modification in the code, re-run
``pip install .`` and restart Mistral.
***********
Development
***********
While developing, it is sufficient to add the root source folder (the parent
folder of ``my_package``) to the ``PYTHONPATH`` environment variable and the
line ``random_uuid = my_package.sub_package.yaql:random_uuid_`` in the Mistral
entry points in the ``mistral.expression.functions`` namespace.
If the path to the parent folder of ``my_package`` is ``/path/to/my_project``.
.. code-block:: bash
$ export PYTHONPATH=$PYTHONPATH:/path/to/my_project
$ vim $(find / -name "mistral.*egg-info*")/entry_points.txt
.. code-block:: ini
[entry_points]
mistral.expression.functions =
random_uuid = my_package.sub_package.yaql:random_uuid_
mistral-10.0.0/doc/source/developer/extensions/index.rst 0000664 0001750 0001750 00000000234 13656747717 023405 0 ustar zuul zuul 0000000 0000000 ==========================
Writing Mistral Extensions
==========================
.. toctree::
:maxdepth: 3
creating_custom_action
extending_yaql
mistral-10.0.0/doc/source/developer/index.rst 0000664 0001750 0001750 00000000220 13656747717 021201 0 ustar zuul zuul 0000000 0000000 =======================
Developer Documentation
=======================
.. toctree::
:maxdepth: 2
contributor/index
extensions/index
mistral-10.0.0/doc/source/developer/contributor/ 0000775 0001750 0001750 00000000000 13656750041 021700 5 ustar zuul zuul 0000000 0000000 mistral-10.0.0/doc/source/developer/contributor/troubleshooting.rst 0000664 0001750 0001750 00000004531 13656747717 025704 0 ustar zuul zuul 0000000 0000000 =============================
Troubleshooting And Debugging
=============================
Mistral-Dashboard debug instructions
====================================
**Pycharm**
Debugging OpenStack Mistral-Dashboard is the same as debugging OpenStack
Horizon.
The following instructions should get you sorted to debug both on the same run.
Set PyCharm debug settings:
1. Under File > Settings > Languages and Framework > Django -
Enter the following:
a. Check "Enable Django Support"
b. Django project root: your file system path to Horizon project root
c. Settings: openstack_dashboard/settings.py (under your Horizon folder)
d. Manage script: manage.py (also in your horizon folder)
e. Click OK
.. image:: img/dashboard_django_settings.png
2. Enter debug configurations menu, using the tiny arrow pointing down,
left to the "play" icon, or under the run menu
.. image:: img/Pycharm_run_config_menu.png
3. In the new window, click the green plus icon and then select "Django server"
to create a new Django Server configuration.
4. In the new window appeared:
a. Name that configuration Horizon
b. Enter some port so it won't run on the default (for example - port: 4000)
.. image:: img/dashboard_debug_config.png
5. Click on Environment variables button, then in the new window:
a. Make sure you have PYTHONUNBUFFERED set as 1
b. Create a new pair - DJANGO_SETTINGS_MODULE : openstack_dashboard.settings
c. When finished click OK.
.. image:: img/dashboard_environment_variables.png
You should now be able to debug and run the project using PyCharm.
PyCharm will listen to any changes you make
and restart the Horizon server automatically.
**Note**: When executing the project via PyCharm Run / Debug,
you could get an error page
after trying to login: "Page not found (404)".
To resolve that - remove the port from the browser URL bar,
then login.
You should be able to login without it.
After a successful login bring the port back - it will continue your session.
**Further notes**
- If you need help with PyCharm and general debugging, please refer to:
`JetBrains PyCharm developer guide
`_
- If you would like to manually restart the apache server,
open a terminal and run::
$ sudo service apache2 restart
*(if not under Ubuntu, replace "sudo" with an identical command)*
mistral-10.0.0/doc/source/developer/contributor/img/ 0000775 0001750 0001750 00000000000 13656750041 022454 5 ustar zuul zuul 0000000 0000000 mistral-10.0.0/doc/source/developer/contributor/img/dashboard_environment_variables.png 0000664 0001750 0001750 00000033535 13656747717 031616 0 ustar zuul zuul 0000000 0000000 ‰PNG
IHDR þ ð np‘¶ sBITÛáOà tEXtSoftware mate-screenshotÈ–ðJ IDATxœíÝw\Gû ðg®rô^T)ŠÄ.ö^b×(v‰‰š^MÞ_Þ”WSL7&&±wÁ^’X°*vE)J•~p}ç÷ÇÇq\îù~ü$·³³³3³Ës»³{»$$¤= „²&œÆ® B¡†Æ34#,,´!ëBÈâ¯ëM'Õ|ÂÂÂØ”ÖoBÕBÔugé„þ°°PJa0ê#„PsÀáBtÿ¹îÐЮ÷B¨9¡”€wvvŽ&Qw¬_©T/B*•–——€
ÑœQ „j@æd†>Ÿ«R9à*—+©þòòò¬¬,‰¤\“ „ˆD¶ÞÞ>¶¶¶k
B!£j !O3ìSå¨_¥ÒsÈO)ÍËË-,, ”r8 Ê·ŠT*MKKuqqõððÀ3 „ªWuÈ<=Ÿ bHH'%##C.—r8Æ~P\\(•JZµòÅèBõÄ‚¹JègFgvaa¡R©àpÔƒD„gg'W (,,(**Ö|[(Š‚‚—Z´5[|ŸË–
†3?¯ù;KÑØ•yN˜Ó'6_ýr^ ¤lüä÷;R3Ò‘u°`@6vÔ/—ËÅâR.W½{{û®]»:99j2—ܸqC,³“bq©@ ¨kûP#u|íËùº©)}òÛIÍKSïR”RCW‘ž'ê¶h,¿õäËû9>ûûÛïŽg+Ù4ž÷È÷Þæ^rñç•Ñif~·™Õ'´â:y¥£æÏ²ÙØQqq±æ´ÂÖÖ6<<œÃáH¥•B¡ {÷ð«W¯•••kÖíææZ§ö¡ÆUíÌ (eªŸšAöôøê×µN
EÝB•e](éîÞ)ÄñDæ3 ×1¤“;€äáL™ÙÝcNŸª‰ñ¢fͲÙXè§”a¿a!r¹\o÷îÝcB(Uá.Ù´1ìÑä£õ®¹¥sä+ê´ü«EAšIÙ³‡—ï9|-GNA8ûóe=DÙ¾\}*OÅõüÞ'ã}Ê~^usÌ‹‚ØÒ êâl¢TàÕý…Çô
tå+
ÅÝ{àJ¶œ]—άJªâÇ÷o:p½½[çÚyÄ”":y‰@–ÿðò±Ý‡¯åV_\»duÛü®²†• ͸–"ïèÚÎáTnÀqnê
O¾–!eZY²ªäñå[c®