salt-master-2014.1.10-4.el6.noarch
我有一个 salt master 和一个 salt minion,ID 为 saltMinion2。我在 master 和minion 上安装了 rpm,salt-minion-2014.1.10-4.el6.noarch
两台机器都是 CentOS6.5。Master 能够test.ping
minion,所以设置可能有效。我在 master 上运行以下命令:
salt saltMinion2 cp.get_file salt://etc/hosts /minion
我期望 master 上的文件 /etc/hosts 出现在 minion 上的目录 /minion 中。该文件存在于 master 中,目录存在于 minion 中。在调试模式下运行,我在 master 和 minion 中都收到调试和信息消息,但没有错误,并且似乎命令在 master 上成功执行。在命令完成 minion 日志记录后,minion 目录 /minion 仍为空
Returning information for job:<some number>
我在这里做错了什么?
答案1
正如您在评论中指出的那样,该文件必须存在于 salt 主文件服务器中(使用协议指定salt://
)。您不能将源文件指定为文件系统路径:
$ sudo salt minion-id cp.get_file /etc/hosts /tmp
minion-id:
Traceback (most recent call last):
File "/usr/lib/pymodules/python2.7/salt/minion.py", line 722, in _thread_return
return_data = func(*args, **kwargs)
File "/usr/lib/pymodules/python2.7/salt/modules/cp.py", line 150, in get_file
gzip)
File "/usr/lib/pymodules/python2.7/salt/fileclient.py", line 692, in get_file
path = self._check_proto(path)
File "/usr/lib/pymodules/python2.7/salt/fileclient.py", line 58, in _check_proto
raise MinionError('Unsupported path: {0}'.format(path))
MinionError: Unsupported path: /etc/hosts
就你的情况来说,/srv/salt/etc/hosts
不存在。