0

我有一个像

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因为这就是我想要调用的。

底线:如果我有办法将状态转换为正在执行的确切命令,我会很快弄清楚。

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

4

1 回答 1

1

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

于 2014-05-22T18:37:32.100 回答