Add some additional information to the mistral-to-ansible spec
These extra details are attempting to establish a pattern that can be replicated by any other contributors. Change-Id: I4505a37385cbf15d7fe41314fbf223b46d691f53
This commit is contained in:
parent
9b35c4ba1c
commit
2c34ac880c
@ -22,7 +22,7 @@ Problem Description
|
|||||||
Mistral was originally added to take the place of an “API” and provide common
|
Mistral was originally added to take the place of an “API” and provide common
|
||||||
logic for tripleoclient and TripleO UI. After the TripleO UI was removed, the
|
logic for tripleoclient and TripleO UI. After the TripleO UI was removed, the
|
||||||
only consumer of Mistral is tripleoclient. This means that Mistral now adds
|
only consumer of Mistral is tripleoclient. This means that Mistral now adds
|
||||||
unnecessary complexity.
|
unnecessary overhead and complexity.
|
||||||
|
|
||||||
|
|
||||||
Proposed Change
|
Proposed Change
|
||||||
@ -56,6 +56,7 @@ Security Impact
|
|||||||
therefore they shouldn't create a new attack vector.
|
therefore they shouldn't create a new attack vector.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Upgrade Impact
|
Upgrade Impact
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
@ -65,7 +66,7 @@ Upgrade Impact
|
|||||||
* Older versions of tripleoclient will no longer work with the undercloud as
|
* Older versions of tripleoclient will no longer work with the undercloud as
|
||||||
they will expect Mistral to be present.
|
they will expect Mistral to be present.
|
||||||
|
|
||||||
* Most of the data in Mistral in ephemeral, but some longer term data is stored
|
* Most of the data in Mistral is ephemeral, but some longer term data is stored
|
||||||
in Mistral environments. This data will likely be moved to Swift.
|
in Mistral environments. This data will likely be moved to Swift.
|
||||||
|
|
||||||
|
|
||||||
@ -73,13 +74,13 @@ Other End User Impact
|
|||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
The output of CLI commands will change format. For example, the Mistral
|
The output of CLI commands will change format. For example, the Mistral
|
||||||
workflow ID will no longer be included and other Ansible specific output may be
|
workflow ID will no longer be included and other Ansible specific output will
|
||||||
included. Where possible we will favour streaming Ansible output to the user,
|
be included. Where possible we will favour streaming Ansible output to the
|
||||||
making tripleoclient very light and transparent
|
user, making tripleoclient very light and transparent.
|
||||||
|
|
||||||
Some CLI commands, such as introspection will need to fundamentally change their
|
Some CLI commands, such as introspection will need to fundamentally change
|
||||||
output. Currently they send real time updates and progress to the client with
|
their output. Currently they send real time updates and progress to the client
|
||||||
Zaqar. Despite moving the execution locally, we are unable to easily get
|
with Zaqar. Despite moving the execution locally, we are unable to easily get
|
||||||
messages from a Ansible playbook while it is running. This means the user may
|
messages from a Ansible playbook while it is running. This means the user may
|
||||||
need to wait a long time before they get any feedback.
|
need to wait a long time before they get any feedback.
|
||||||
|
|
||||||
@ -87,9 +88,9 @@ need to wait a long time before they get any feedback.
|
|||||||
Performance Impact
|
Performance Impact
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
There is no expected performance impact as the workflow should be largely the
|
There is no expected performance impact as the internal logic should be largely
|
||||||
same. However, the Ansible playbooks will be executed where the user runs the
|
the same. However, the Ansible playbooks will be executed where the user runs
|
||||||
CLI rather than by the Mistral server. This could then be slower or faster
|
the CLI rather than by the Mistral server. This could then be slower or faster
|
||||||
depending on the resources available to the machine and the network connection
|
depending on the resources available to the machine and the network connection
|
||||||
to the undercloud.
|
to the undercloud.
|
||||||
|
|
||||||
@ -124,15 +125,19 @@ Primary assignee:
|
|||||||
d0ugal
|
d0ugal
|
||||||
|
|
||||||
Other contributors:
|
Other contributors:
|
||||||
apetrich
|
|
||||||
ekultails
|
- apetrich
|
||||||
sshnaidm
|
- ekultails
|
||||||
cloudnull
|
- sshnaidm
|
||||||
|
- cloudnull
|
||||||
|
|
||||||
Work Items
|
Work Items
|
||||||
----------
|
----------
|
||||||
|
|
||||||
- Migrate each Mistral workflows to Ansible playbooks.
|
Storyboard is being used to track this work:
|
||||||
|
https://storyboard.openstack.org/#!/board/208
|
||||||
|
|
||||||
|
- Migrate the Mistral workflows to Ansible playbooks.
|
||||||
|
|
||||||
- Migrate or replace custom Mistral actions to Ansible native components.
|
- Migrate or replace custom Mistral actions to Ansible native components.
|
||||||
|
|
||||||
@ -145,6 +150,27 @@ Work Items
|
|||||||
playbooks committed to tripleo-ansible, which will include our new `cli`
|
playbooks committed to tripleo-ansible, which will include our new `cli`
|
||||||
prefixed playbooks.
|
prefixed playbooks.
|
||||||
|
|
||||||
|
Converting Mistral Workflows to Ansible
|
||||||
|
***************************************
|
||||||
|
|
||||||
|
For each Mistral workflow the following steps need to be taken to port them
|
||||||
|
to Ansible.
|
||||||
|
|
||||||
|
- Re-write the Mistral workflow logic in Ansible, reusing the Mistral Python
|
||||||
|
actions where appropriate.
|
||||||
|
|
||||||
|
- Update python-tripleoclient to use the new Ansible playbooks. It should
|
||||||
|
prefer showing the native Ansible output rather than attempting to replicate
|
||||||
|
the previous output.
|
||||||
|
|
||||||
|
- The Workflows and related code should be deleted from tripleo-common.
|
||||||
|
|
||||||
|
A complete example can be seen for the `openstack undercloud backup` command.
|
||||||
|
|
||||||
|
- `Ansible Playbook <https://opendev.org/openstack/tripleo-ansible/src/branch/master/tripleo_ansible/playbooks/cli-undercloud-backup.yaml>`_
|
||||||
|
- `Updated tripleoclient <https://review.opendev.org/#/c/665690/>`_
|
||||||
|
- `Removal of all workflow code <https://review.opendev.org/#/c/703966/>`_
|
||||||
|
|
||||||
|
|
||||||
Dependencies
|
Dependencies
|
||||||
============
|
============
|
||||||
@ -175,3 +201,5 @@ References
|
|||||||
* https://bugs.launchpad.net/tripleo/+bugs?field.tag=mistral-removal
|
* https://bugs.launchpad.net/tripleo/+bugs?field.tag=mistral-removal
|
||||||
|
|
||||||
* http://lists.openstack.org/pipermail/openstack-discuss/2019-October/010384.html
|
* http://lists.openstack.org/pipermail/openstack-discuss/2019-October/010384.html
|
||||||
|
|
||||||
|
* https://storyboard.openstack.org/#!/board/208
|
||||||
|
Loading…
Reference in New Issue
Block a user