我有像
这样的州django.syncdb:
module.run:
- settings_module: mvod.dev_settings
- bin_env: /home/vagrant/virtualenv/
- migrate: True
- require:
- pip: mvod
- mysql_grants: mvod_user_grants
- file: /tmp/mvod.log
文档并不是非常具体,但它确实似乎做了我期望的事情,这意味着从目录django-admin.py syncdb --settings=mvod.dev_settings --migrate
内部运行命令/home/vagrant/virtualenv
。
它实际上无法执行此操作,因为/home/vagrant/virtualenv/
路径实际上需要设置为/home/vagrant/virtualenv/bin/django-admin.py
。
但是,我在没有安装django的环境中运行它,所以我希望这会失败。然而,状态返回Result: True
,但输出是Is a directory
我最终想出我必须用bin_env: /home/vagrant/virtualenv/
替换bin_env: /home/vagrant/virtualenv/bin/django-admin.py
行,因为那是我试图调用的内容。
结论:如果我有办法将状态转换为正在执行的确切命令,我会很快想出来的。
有没有办法真正快速地做到这一点?
答案 0 :(得分:1)
您可以将minion作为salt-minion --log-level=debug
运行,然后执行该状态。它将根据您的状态文件向您显示salt在系统上执行的命令。