https://github.com/openstack/puppet-mistral
OpenStack Mistral Puppet Module. Mirror of code maintained at opendev.org.
https://github.com/openstack/puppet-mistral
Last synced: 9 months ago
JSON representation
OpenStack Mistral Puppet Module. Mirror of code maintained at opendev.org.
- Host: GitHub
- URL: https://github.com/openstack/puppet-mistral
- Owner: openstack
- License: apache-2.0
- Created: 2015-07-24T11:08:15.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2025-09-29T15:26:48.000Z (9 months ago)
- Last Synced: 2025-09-29T17:28:42.072Z (9 months ago)
- Language: Ruby
- Homepage: https://opendev.org/openstack/puppet-mistral
- Size: 765 KB
- Stars: 19
- Watchers: 7
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.rst
- License: LICENSE
Awesome Lists containing this project
README
Team and repository tags
========================
[](https://governance.openstack.org/tc/reference/tags/index.html)
mistral
======
#### Table of Contents
1. [Overview - What is the mistral module?](#overview)
2. [Module Description - What does the module do?](#module-description)
3. [Setup - The basics of getting started with mistral](#setup)
4. [Implementation - An under-the-hood peek at what the module is doing](#implementation)
5. [Limitations - OS compatibility, etc.](#limitations)
6. [Development - Guide for contributing to the module](#development)
7. [Contributors - Those with commits](#contributors)
8. [Release Notes - Release notes for the project](#release-notes)
9. [Repository - The project source code repository](#repository)
Overview
--------
The Mistral module itself is a workflow service for OpenStack cloud.
Module Description
------------------
The mistral module is an attempt to make Puppet capable of managing the
entirety of mistral.
Setup
-----
**What the mistral module affects**
* [Mistral](https://docs.openstack.org/mistral/latest/), the workflow service for OpenStack.
### Beginning with mistral
To use the mistral module's functionality you will need to declare multiple
resources. This is not an exhaustive list of all the components needed; we
recommend you consult and understand the
[core openstack](https://docs.openstack.org) documentation.
Implementation
--------------
### Mistral
puppet-mistral is a combination of Puppet manifests and ruby code to deliver
configuration and extra functionality through types and providers.
### Types
#### mistral_config
The `mistral_config` provider is a children of the ini_setting provider. It allows one to write an entry in the `/etc/mistral/mistral.conf` file.
```puppet
mistral_config { 'DEFAULT/use_syslog' :
value => false,
}
```
This will write `use_syslog=false` in the `[DEFAULT]` section.
##### name
Section/setting name to manage from `mistral.conf`
##### value
The value of the setting to be defined.
##### secret
Whether to hide the value from Puppet logs. Defaults to `false`.
##### ensure_absent_val
If value is equal to ensure_absent_val then the resource will behave as if `ensure => absent` was specified. Defaults to ``
### mistral_workflow
The `mistral_workflow` provider allows the creation/update/deletion of workflow definitions using a source file (in YAML).
```puppet
mistral_workflow { 'my_workflow':
ensure => present,
definition_file => '/home/user/my_workflow.yaml',
is_public => true,
}
```
Or:
```puppet
mistral_workflow { 'my_workflow':
ensure => absent,
}
```
If you need to force the update of the workflow or change it's public attribute, use `latest`:
```puppet
mistral_workflow { 'my_workflow':
ensure => latest,
definition_file => '/home/user/my_workflow.yaml',
is_public => false,
}
```
Although the mistral client allows multiple workflow definitions per source file, it not recommended to do so with this provider as the `mistral_workflow` is supposed to represent a single workflow.
#### name
The name of the workflow; this is only used when deleting the workflow since the definition file specifies the name of the workflow to create/update.
#### definition_file
The path to the file containing the definition of the workflow. This parameter is not mandatory but the creation or update will fail if it is not supplied.
#### is_public
Specifies whether the workflow must be public or not. Defaults to `true`.
Limitations
------------
* All the mistral types use the CLI tools and so need to be ran on the mistral node.
Development
-----------
Developer documentation for the entire puppet-openstack project.
* https://docs.openstack.org/puppet-openstack-guide/latest/
Contributors
------------
* https://github.com/openstack/puppet-mistral/graphs/contributors
Release Notes
-------------
* https://docs.openstack.org/releasenotes/puppet-mistral
Repository
----------
* https://opendev.org/openstack/puppet-mistral