Puppet
將 exec 與 puppet 設備管理一起使用?
我正在嘗試使用 puppet 的網路設備管理功能來配置 Cisco 路由器。
我知道它只是在執行 ios 命令,那麼如何通過讓它執行我自己的 ios 命令來擴展它?我想用它來創建我自己的事實並做其他事情。
在 Windows 端點上,我可以使用 exec 執行 shell 命令:
exec { 'test': command => 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -executionpolicy remotesigned -file C:\test.ps1', }
我怎樣才能用 puppet 設備做這樣的事情?
當我嘗試執行 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
設備資源類型的內部工作在清單級別是不可訪問的。
interface
and類型將vlan
其全部抽象掉。要添加功能,您實際上需要添加自己的類型和提供程序。這需要大量的 Ruby 黑客攻擊。如果你覺得可以,你會想看看
可能很難將對此的任何擴展塞進一個模組中,因此實際維護您自己的 Puppet 分支然後嘗試將其合併到上游可能更直接。