Refactor mistral documentation

* renaming developer doc to contributor doc
* flattening contributor doc to ease reading the whole content in a shot
* rewrite devstack documentation
* adding Axel and myself as maintainers

Signed-off-by: Arnaud Morin <arnaud.morin@ovhcloud.com>
Change-Id: If25d342c7cc2568b2d86c88bf6a049522559bf50
This commit is contained in:
Arnaud Morin 2023-01-17 11:36:25 +01:00
parent b6a47992e7
commit e75b6b356f
23 changed files with 205 additions and 230 deletions

View File

@ -62,4 +62,4 @@ The following should get you started:
Debug instructions Debug instructions
------------------ ------------------
Please refer to :doc:`Mistral Troubleshooting Please refer to :doc:`Mistral Troubleshooting
<../../developer/contributor/troubleshooting>` <../../contributor/debugging_and_testing>`

View File

@ -23,7 +23,7 @@ Installation
------------ ------------
**NOTE**: For instructions on how to install Mistral using devstack, refer to **NOTE**: For instructions on how to install Mistral using devstack, refer to
:doc:`Mistral Devstack Installation </developer/contributor/devstack>` :doc:`Mistral Devstack Installation <../../contributor/devstack>`
Clone the repo and go to the repo directory: Clone the repo and go to the repo directory:

View File

@ -33,7 +33,7 @@ Installation
------------ ------------
**NOTE**: If it is needed to install Mistral using devstack, please refer to **NOTE**: If it is needed to install Mistral using devstack, please refer to
:doc:`Mistral Devstack Installation </developer/contributor/devstack>` :doc:`Mistral Devstack Installation <../../contributor/devstack>`
First of all, clone the repo and go to the repo directory:: First of all, clone the repo and go to the repo directory::

View File

@ -56,7 +56,7 @@ master_doc = 'index'
# General information about the project. # General information about the project.
project = 'Mistral' project = 'Mistral'
copyright = '2020, Mistral Contributors' copyright = '2023, Mistral Contributors'
policy_generator_config_file = \ policy_generator_config_file = \
'../../tools/config/policy-generator.mistral.conf' '../../tools/config/policy-generator.mistral.conf'

View File

@ -1,9 +1,105 @@
.. This file exist only because there's a requirement to have the file ============================
'contributing.rst' under the folder 'doc/source/contributor' according So You Want to Contribute...
to https://governance.openstack.org/tc/goals/selected/ussuri/project-ptl-and-contrib-docs.html#completion-criteria ============================
It generally conflicts with the approach taken in Mistral to divide
all the docs into the three main categories: admin, developer, and user. For general information on contributing to OpenStack, please check out the
So to avoid duplicating the content of the file we just use a directive `contributor guide <https://docs.openstack.org/contributors/>`_ to get started.
for inclusion. It covers all the basics that are common to all OpenStack projects: the accounts
you need, the basics of interacting with our Gerrit review system, how we
communicate as a community, etc.
Below will cover the more project specific information you need to get started
with Mistral.
Communication
~~~~~~~~~~~~~
* IRC channel #openstack-mistral at `OFTC`_
* Mailing list (prefix subjects with ``[mistral]`` for faster responses)
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-discuss
.. _`OFTC`: https://www.oftc.net
Contacting the Core Team
~~~~~~~~~~~~~~~~~~~~~~~~
* Renat Akhmerov (#rakhmerov)
* Eyal Bar-Ilan (#eyalb)
* Oleg Ovcharuk (#vgvoleg)
* Andras Kovi (#akovi)
* Adriano Petrich (#apetrich)
* Axel Vanzaghi (#avanzaghi)
* Arnaud Morin (#amorin)
New Feature Planning
~~~~~~~~~~~~~~~~~~~~
If you want to add new functionality to Mistral please file a blueprint
by following https://blueprints.launchpad.net/mistral/+addspec
We don't have a strict requirement to write a detailed specification for
all new features and rather encourage more agile approach: just file a
brief description of a feature in the form of blueprint and then send a
patch to review (linking it to the blueprint). However, in some rare cases,
like proposing new API or workflow language additions, we need a spec so
that the team could fully understand what's going to be done and provide
a feedback.
To file a specification for a new feature, send a patch to
https://opendev.org/openstack/mistral-specs that adds a new spec file
for the needed release cycle (e.g. 'specs/victoria')
The full list of the specs can be seen at
https://specs.openstack.org/openstack/mistral-specs/
Task Tracking
~~~~~~~~~~~~~
We track our tasks in Launchpad: https://bugs.launchpad.net/mistral
If you're looking for some smaller, easier work item to pick up and get started
on, search for the 'low-hanging-fruit' tag.
Reporting a Bug
~~~~~~~~~~~~~~~
You found an issue and want to make sure we are aware of it? You can do so on
`Launchpad <https://bugs.launchpad.net/mistral>`_.
Where to Make Code Changes
~~~~~~~~~~~~~~~~~~~~~~~~~~
Mistral has a number of repositories where you can make code changes:
* https://github.com/openstack/mistral
* https://github.com/openstack/python-mistralclient
* https://github.com/openstack/mistral-dashboard
* https://github.com/openstack/mistral-extra
* https://github.com/openstack/mistral-lib
* https://github.com/openstack/mistral-specs
Where to Review Code Changes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* https://review.opendev.org/#/q/mistral
* https://review.opendev.org/#/q/python-mistralclient
* https://review.opendev.org/#/q/mistral-dashboard
* https://review.opendev.org/#/q/mistral-extra
* https://review.opendev.org/#/q/mistral-lib
* https://review.opendev.org/#/q/mistral-specs
Getting Your Patch Merged
~~~~~~~~~~~~~~~~~~~~~~~~~
Typically a patch can be merged when it has two +2 votes (at least two core
members voted +2). In some rare emergency cases we allow one +2 vote before
approving it.
A patch cannot be merged if it has at least one negative vote!
Project Team Lead Duties
~~~~~~~~~~~~~~~~~~~~~~~~
All common PTL duties are enumerated in the `PTL guide
<https://docs.openstack.org/project-team-guide/ptl.html>`_.
.. include:: ../developer/contributor/contributing.rst

View File

@ -101,13 +101,13 @@ To run unit tests against a specific python version:
.. code-block:: bash .. code-block:: bash
$ tox -e py35 $ tox -e py3
To run tests from a specific test class (using a specific python version): To run tests from a specific test class (using a specific python version):
.. code-block:: bash .. code-block:: bash
tox -e py35 -- 'DataFlowEngineTest' tox -e py3 -- 'DataFlowEngineTest'
Integration tests Integration tests
----------------- -----------------
@ -142,3 +142,75 @@ To run integration tests:
* set 'auth_enable=false' in the mistral.conf under [pecan] group * set 'auth_enable=false' in the mistral.conf under [pecan] group
* restart Mistral server * restart Mistral server
* execute: ./run_functional_tests * execute: ./run_functional_tests
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
<https://www.jetbrains.com/pycharm/help/debugging.html>`_
- 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)*

View File

@ -0,0 +1,17 @@
=============================
Mistral Devstack Installation
=============================
First, install devstack, see the following link for this:
`Devstack Installation <https://docs.openstack.org/devstack/latest/>`_
Before running ``stack.sh``, enable mistral plugin by editing your
``local.conf`` file to add:
enable_plugin mistral https://github.com/openstack/mistral
Finally, run ``stack.sh``
The mistral code will land in /opt/stack/mistral

View File

@ -3,7 +3,7 @@ Writing Mistral Extensions
========================== ==========================
.. toctree:: .. toctree::
:maxdepth: 3 :maxdepth: 2
creating_custom_action creating_custom_action
extending_yaql extending_yaql

View File

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

View File

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 47 KiB

View File

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 46 KiB

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -6,8 +6,8 @@ Contributor Documentation
:maxdepth: 3 :maxdepth: 3
contributing contributing
devstack
coding_guidelines coding_guidelines
debugging_and_testing debugging_and_testing
profiling profiling
troubleshooting extensions/index
devstack

View File

@ -1,103 +0,0 @@
============================
So You Want to Contribute...
============================
For general information on contributing to OpenStack, please check out the
`contributor guide <https://docs.openstack.org/contributors/>`_ to get started.
It covers all the basics that are common to all OpenStack projects: the accounts
you need, the basics of interacting with our Gerrit review system, how we
communicate as a community, etc.
Below will cover the more project specific information you need to get started
with Mistral.
Communication
~~~~~~~~~~~~~
* IRC channel #openstack-mistral at `OFTC`_
* Mailing list (prefix subjects with ``[mistral]`` for faster responses)
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-discuss
.. _`OFTC`: https://www.oftc.net
Contacting the Core Team
~~~~~~~~~~~~~~~~~~~~~~~~
* Renat Akhmerov, PTL (#rakhmerov)
* Eyal Bar-Ilan (#eyalb)
* Oleg Ovcharuk (#vgvoleg)
* Andras Kovi (#akovi)
* Adriano Petrich (#apetrich)
New Feature Planning
~~~~~~~~~~~~~~~~~~~~
If you want to add new functionality to Mistral please file a blueprint
by following https://blueprints.launchpad.net/mistral/+addspec
We don't have a strict requirement to write a detailed specification for
all new features and rather encourage more agile approach: just file a
brief description of a feature in the form of blueprint and then send a
patch to review (linking it to the blueprint). However, in some rare cases,
like proposing new API or workflow language additions, we need a spec so
that the team could fully understand what's going to be done and provide
a feedback.
To file a specification for a new feature, send a patch to
https://opendev.org/openstack/mistral-specs that adds a new spec file
for the needed release cycle (e.g. 'specs/victoria')
The full list of the specs can be seen at
https://specs.openstack.org/openstack/mistral-specs/
Task Tracking
~~~~~~~~~~~~~
We track our tasks in Launchpad: https://bugs.launchpad.net/mistral
If you're looking for some smaller, easier work item to pick up and get started
on, search for the 'low-hanging-fruit' tag.
Reporting a Bug
~~~~~~~~~~~~~~~
You found an issue and want to make sure we are aware of it? You can do so on
`Launchpad <https://bugs.launchpad.net/mistral>`_.
Where to Make Code Changes
~~~~~~~~~~~~~~~~~~~~~~~~~~
Mistral has a number of repositories where you can make code changes:
* https://github.com/openstack/mistral
* https://github.com/openstack/python-mistralclient
* https://github.com/openstack/mistral-dashboard
* https://github.com/openstack/mistral-extra
* https://github.com/openstack/mistral-lib
* https://github.com/openstack/mistral-specs
Where to Review Code Changes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* https://review.opendev.org/#/q/mistral
* https://review.opendev.org/#/q/python-mistralclient
* https://review.opendev.org/#/q/mistral-dashboard
* https://review.opendev.org/#/q/mistral-extra
* https://review.opendev.org/#/q/mistral-lib
* https://review.opendev.org/#/q/mistral-specs
Getting Your Patch Merged
~~~~~~~~~~~~~~~~~~~~~~~~~
Typically a patch can be merged when it has two +2 votes (at least two core
members voted +2). In some rare emergency cases we allow one +2 vote before
approving it.
A patch cannot be merged if it has at least one negative vote!
Project Team Lead Duties
~~~~~~~~~~~~~~~~~~~~~~~~
All common PTL duties are enumerated in the `PTL guide
<https://docs.openstack.org/project-team-guide/ptl.html>`_.

View File

@ -1,13 +0,0 @@
Mistral Devstack Installation
=============================
1. Download DevStack::
$ git clone https://github.com/openstack-dev/devstack.git
$ cd devstack
2. Add this repo as an external repository, edit ``localrc`` file::
enable_plugin mistral https://github.com/openstack/mistral
3. Run ``stack.sh``

View File

@ -1,75 +0,0 @@
=============================
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
<https://www.jetbrains.com/pycharm/help/debugging.html>`_
- 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)*

View File

@ -1,9 +0,0 @@
=======================
Developer Documentation
=======================
.. toctree::
:maxdepth: 2
contributor/index
extensions/index

View File

@ -57,13 +57,8 @@ For Administrators and Operators
For Developers For Developers
============== ==============
* :doc:`developer/contributor/coding_guidelines`: No matter what you're * :doc:`contributor/index`: If you want to contribute to the project or
going to develop regarding Mistral, please read the coding guidelines
we accept in our project.
* :doc:`developer/index`: If you want to contribute to the project or
write Mistral extensions, please start here. write Mistral extensions, please start here.
* :doc:`developer/extensions/index`: Read this section if you want to write
custom Mistral actions and other extensions.
Workflow Visualization (CloudFlow) Workflow Visualization (CloudFlow)
================================== ==================================
@ -81,12 +76,7 @@ Main Chapters
user/index user/index
admin/index admin/index
developer/index contributor/index
.. toctree::
:hidden:
contributor/contributing
.. only:: html .. only:: html

View File

@ -28,7 +28,7 @@ System actions are provided by Mistral out of the box and are available to all
users. Additional actions can be added via the custom action plugin mechanism. users. Additional actions can be added via the custom action plugin mechanism.
:doc:`How to create a custom action :doc:`How to create a custom action
</developer/extensions/creating_custom_action>` <../../contributor/extensions/creating_custom_action>`
Ad-hoc actions Ad-hoc actions