![使用 exec 和 puppet 设备管理吗?](https://linux22.com/image/673454/%E4%BD%BF%E7%94%A8%20exec%20%E5%92%8C%20puppet%20%E8%AE%BE%E5%A4%87%E7%AE%A1%E7%90%86%E5%90%97%EF%BC%9F.png)
我正在尝试使用木偶网络设备管理配置思科路由器的功能。
我知道它只是运行 ios 命令,那么如何通过让它运行我自己的 ios 命令来扩展它?我想用它来创建我自己的事实并做其他事情。
在 Windows 端点上,我可以使用 exec 运行 shell 命令:
exec { 'test':
command => 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -executionpolicy remotesigned -file C:\test.ps1',
}
我怎样才能用傀儡设备做这样的事情?
当我尝试运行 ios 命令时,它出现了一个错误:
exec { 'test':
command => 'show ip int bri'
}
Info: Caching catalog for 123.123.123.123
Error: Failed to apply catalog: Validation of Exec[test] failed: 'show ip int bri' is not qualified and no path was specified. Please qualify the command or specify a path. at /etc/puppet/environments/production/modules/ciscorouterconfig/manifests/init.pp:82
shell returned 1
答案1
答案2
您可以尝试运行不缩写的命令,例如:show ip interface ...
,如果仍然出现相同的错误,那么我怀疑它不是由实现的puppet-device
。虽然它与 Linux 或 Windows 框的实现类似,但功能非常有限。
您收到的错误听起来也像是命令不可用。
如果你读过手册页它明确指出:
从 Puppet Master 检索所有配置并将其应用到 /etc/puppetlabs/puppet/device.conf 中配置的远程设备。
在 OPTIONS 下你可以看到:
请注意,配置文件中有效的任何设置也是有效的长参数。例如,“server”是有效的配置参数,因此您可以指定“--server servername”作为参数。
sh ip ...
不是您可以应用的配置命令或选项,我猜您将无法像这样执行它。