1

puppet のネットワーク デバイス管理機能を使用して Cisco ルーターを構成していますが、それを使用して独自のコマンドを送信し、それを使用して独自のファクトを作成する方法がわかりません。

通常の Windows または Linux クライアントの場合、exec があります。

exec { 'test':
      command => 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -executionpolicy remotesigned -file C:\test.ps1',
    }

そしてそれを因子で使用するには:

Facter.add('hardware_platform') do
  setcode do
    Facter::Core::Execution.exec('/bin/uname --hardware-platform')
  end
end

しかし、デバイス管理に相当するものは何ですか?

github のコードを見ると、これらが関連するクラスのように見えます: puppet/lib/puppet/util/network_device/transport/ ssh.rb および telnet.rb

しかし、モジュールでそれらを呼び出して使用する方法がわかりません。

4

1 に答える 1

2

puppet-usersについても回答しましたが、コア データ型の Puppet DSL ビューやpuppet deviceエンドポイントには、ノードとネットワーク デバイス間の基本的な通信にフックして任意の IOS コマンドを挿入できるメカニズムはありません。その層にたどり着くには、カスタム タイプとプロバイダーを作成するか、場合によってはコア タイプの 1 つを変更する必要があります。

于 2015-12-23T16:36:15.583 に答える