1

我已经安装了一个 ARA 门户来查看 Ansible playbook 的执行状态。但是,我总是从 ARA 门户收到如下错误:

sqlalchemy.exc.OperationalError OperationalError: (pymysql.err.OperationalError) (2006, "MySQL server has gone away (error(32, 'Broken pipe'))") [SQL: u'SELECT files.id AS files_id, files. playbook_id AS files_playbook_id, files.path AS files_path, files.content_id AS files_content_id, files.is_playbook AS files_is_playbook \nFROM files \nWHERE files.id = %(param_1)s'] [参数:{u'param_1': u'9e533f28- 1780-49ac-99d8-306040567d9b'}](此错误的背景:http ://sqlalche.me/e/e3q8 )

我确保我的 ARA 安装遵循以下链接:

https://ara.readthedocs.io/en/latest/installation.html

我的设置如下所示:

操作系统:Ubuntu 16.04

Python:3.5,也尝试使用 Python 2.7,但都出错。

MySQL:5.7.23(所有数据库和表都使用 utf8mb4)

pymysql: 0.9.2,也试过用0.7.1版本,但都报错。

sqlalchemy:1.2.11

我使用以下命令启动 ARA 门户:

export ARA_DATABASE="mysql+pymysql://ara:password@localhost/ara?charset=utf8mb4"

ara-manage runserver -h <server_ip> -p 9191 -d

我已经确认了我的 ARA 和与 MySQL 的连接,并且 MySQL 'ara' 数据库保留了 Ansible playbook 执行的日志。

有人可以帮我吗?

4

2 回答 2

0

我是 ARA 的作者,刚刚遇到了这个问题。

在 ARA 1.0 版本的重写中,对 MySQL 的支持得到了极大的改进,现在它实际上已经过集成测试

目前没有将数据库从 0.x 升级到 1.x 的 sql 迁移,这在很大程度上是由于后端的重写,因此您需要从一个新的数据库开始。

如果您能对其进行测试并让我知道它现在是否更好,我将非常感激。如果您发现任何问题或改进机会,请随时在 GitHub 上打开问题:https ://github.com/ansible-community/ara/issues

谢谢 !

于 2019-09-12T16:05:48.763 回答
0

我发现 ara (~0.16.1) 的较新版本与 MySQL 不完全兼容。除了max_allowed_packet_size按照评论中的建议进行修改之外,安装 ara 版本 0.14.6 对我有用。

pip install ara==0.14.6

这是有关 ara 和 MySQL 兼容性的更多上下文

于 2018-10-22T00:24:32.230 回答