【发布时间】:2020-10-27 13:53:14
【问题描述】:
我正在尝试使用 ansible runner 在 Flask Python 项目中执行 ansible playbook,但在执行时,我收到以下错误:The command was not found or was not executable: ansible-playbook.
应用程序在目录 /app 内的 docker 容器中运行。
代码:
r = ansible_runner.run(private_data_dir='/app/flask/ansible', playbook='project/playbook.yml')
app.logger.info("{}: {}".format(r.status, r.rc))
# successful: 0
for each_host_event in r.events:
app.logger.info(each_host_event['event'])
app.logger.info("Final status:")
app.logger.info(r.stats)
这是项目树:
.
├── README.md
├── ansible.cfg
├── docker-compose.yml
├── flask
│ ├── Dockerfile
│ ├── ansible
│ │ ├── env
│ │ │ ├── cmdline
│ │ │ ├── envvars
│ │ │ ├── extravars
│ │ │ ├── passwords
│ │ │ ├── settings
│ │ │ └── ssh-key
│ │ ├── inventory
│ │ │ └── hosts
│ │ └── project
│ │ └── playbook.yml
│ ├── app.ini
│ ├── main.py
│ ├── run.py
│ ├── static
│ │ ├── app.js
│ │ ├── bulma.min.css
│ │ ├── highlight.min.css
│ │ ├── highlight.min.js
│ │ └── styles.css
│ └── templates
│ ├── 404.html
│ ├── base.html
│ ├── create_user.html
│ └── login.html
├── nginx
│ ├── Dockerfile
│ └── nginx.conf
Flask Docker 文件:
FROM python:3.7.2-stretch
WORKDIR /app
ADD . /app
RUN pip install --upgrade pip && pip install flask uwsgi requests ansible_runner
CMD ["uwsgi","app.ini"]
【问题讨论】:
-
不知道是不是问题,但
private_data_dir不应该是/app/flask/ansible吗?我看不到目录/app/ansible。 -
true,但它仍然显示错误:ValueError('private_data_dir 路径无效或不存在')
标签: python docker docker-compose ansible ansible-runner