确认keystone版本是v3,必须是v3:
. admin-openrc.sh
openstack endpoint list |grep keystone
确认git客户端是否安装,如果没有先安装:
yum install git-core
安装pip工具:
yum -y install epel-release
yum -y install python-pip
下载mistral源码:https://github.com/openstack/mistral.git
git clone https://github.com/openstack/mistral.git
进入下载目录:
cd mistral
安装mistral环境依赖包(在执行的过程中,由于环境问题,会有部分包升级失败,需要在后续的安装过程中一步一步修正):
pip install -r requirements.txt
安装mistral:
python setup.py install
生成配置文件:
oslo-config-generator –config-file tools/config/config-generator.mistral.conf –output-file etc/mistral.conf
如果执行上面的命令报错,说明我们的oslo.config包不满足要求。
可通过以下命令查看当前版本:
pip list|grep oslo.config
然后查看requirements.txt文件
cat requirements.txt
发现oslo.config必须大于5.1。为了生成配置文件我们必须先进行包的升级。
升级包命令:
pip install -U oslo.config
重新执行生成配置文件的命令:
oslo-config-generator –config-file tools/config/config-generator.mistral.conf –output-file etc/mistral.conf
升级keystonemiddleware包:
创建mistral的日志文件和配置文件夹:
mkdir -p /etc/mistral /var/log/mistral
将配置信息复制:
cp etc/* /etc/mistral/
修改配置文件:
vi /etc/mistral/mistral.conf
[keystone_authtoken]
auth_uri = http://controller:5000
auth_version = 3
identity_uri = http://controller:35357/
admin_user = admin
admin_password = 24a6f1c569aff33b0210
admin_tenant_name = admin
[database]
connection = mysql+pymysql://root:e560468d9114991a33f1@controller/mistral
[DEFAULT]
transport_url = rabbit://openstack:8a0270cdc76f6a47efaf@controller
创建数据库:
创建服务和endpoint:
openstack service create –name mistral –description “OpenStack Mistral” workflow
openstack endpoint create –region RegionOne workflow public http://controller:8989/v2
openstack endpoint create –region RegionOne workflow internal http://controller:8989/v2
openstack endpoint create –region RegionOne workflow admin http://controller:8989/v2
初始化数据库信息:
mistral-db-manage –config-file /etc/mistral/mistral.conf upgrade head
依然按照前面的方法进行库的排查,注意这里是安装不是升级,因为根据错误信息,这里是没有这个库:
pip install mistral_lib
pip install tenacity
pip install -U oslo.policy
出现上图的信息表示依赖库已经建好。
添加自带的action
添加系统服务:
vi /usr/lib/systemd/system/openstack-mistral-server.service
[Unit]
Description=OpenStack Nova API Server
After=syslog.target network.target
[Service]
Type=notify
NotifyAccess=all
TimeoutStartSec=0
Restart=always
User=root
ExecStart=/usr/bin/mistral-server –config-file /etc/mistral/mistral.conf –log-file /var/log/mistral/mistral.log
[Install]
WantedBy=multi-user.target
启动服务:
systemctl start openstack-mistral-server
发现报错,跟踪错误信息:
需要升级oslo.messaging包。
pip install -U oslo.messaging
重启服务,启动成功:
systemctl restart openstack-mistral-server
添加到开机启动:
由于更新了很多中间件,所以别的服务可能有的会死掉,需要进行排查。
需要修改的东西:
重启服务器。
测试功能:
添加内容:
version: “2.0”
my_workflow:
type: direct
input:
- names
tasks:
task1:
with-items: name in <%
on-success: task2
task2:
action: std.echo output="Done"
这里有例子https://docs.openstack.org/mistral/newton/quickstart.html
———文章写自:HyHarden———