有没有办法看到盐状态转换为正在运行的实际命令?

时间:2014-05-14 14:23:28

标签: django vagrant salt-stack

我有像

这样的州
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行,因为那是我试图调用的内容。

结论:如果我有办法将状态转换为正在执行的确切命令,我会很快想出来的。

有没有办法真正快速地做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以将minion作为salt-minion --log-level=debug运行,然后执行该状态。它将根据您的状态文件向您显示salt在系统上执行的命令。