【问题标题】:SaltStack - Use salt:// to define working directory in cmd.run stateSaltStack - 使用 salt:// 在 cmd.run 状态下定义工作目录
【发布时间】:2018-03-21 12:38:39
【问题描述】:

我是 SaltStack 的新手,我想知道是否有办法在本机不支持的情况下使用 salt:// URI。

在这种情况下,我将在特定目录中执行命令,并且我想使用 salt:// 指定目录,如下所示:

test_cmd:
  cmd.run:
    - name: echo a > test
    - cwd: salt://my-state/files/

这实际上不起作用给出错误

Desired working directory "salt://my-state/files/" is not available

有办法吗?

【问题讨论】:

  • salt://my-state/files/ 的绝对路径是什么。恐怕我无法理解真正的问题。
  • @sel-fish 实际上salt:// 表示安装 SaltStack 状态的路径,所以它就像一个变量。当然,我也可以对路径进行硬编码(例如 /srv/salt/...),但如果它在未来发生变化,它就不会是动态的..

标签: salt-stack


【解决方案1】:

我认为没有办法按照您想要的方式进行操作,但是您可以通过将 file.recurse 与 cmd.run 或 cmd.wait 组合来获得所需的内容:

test_cmd:
  file.recurse:
    - name: /tmp/testcmd
    - source: salt://mystate/files
  cmd.wait:
    - name: echo a > test
    - cwd: /tmp/testcmd
    - watch:
      - file: test_cmd

将 salt 文件夹复制到 minion,然后将副本用作工作目录。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-31
    • 1970-01-01
    • 1970-01-01
    • 2015-03-11
    • 1970-01-01
    • 2018-04-27
    • 1970-01-01
    相关资源
    最近更新 更多