这是我在 PuppetLabs 论坛上发布的 Puppet 问题,但没有得到回复。我在这里发帖也是因为我希望能够有更广泛的受众,我可能会找到熟悉 f5 设备 Puppet 配置的人。
这是我的设置:单个服务器(Ubuntu 12.04.2 LTS)上的 puppet (v3.2.2) master + 代理,代理充当 f5_proxy
http://forge.puppetlabs.com/puppetlabs/f5
提供有关使用的说明木偶实验室-f5模块来安装/配置f5-icontrol代理上的 gemf5_代理负责f5硬件节点的远程配置。注意:就我而言f5_代理位于 puppet 服务器上。
我已经找到了木偶实验室-f5模块在/etc/puppet/modules/f5
和在puppet.conf
我设置modulepath=/etc/puppet/modules/
在我的节点清单中,site.pp
我包含了安装的部分f5-icontrol我的宝石f5_代理代理人 :
node.pp
node my_f5_proxy {
include f5
f5::config { "f5.test.mydomain.com":
username => 'admin',
password => 'admin',
url => 'f5.test.mydomain.com',
target => '/etc/puppet/device/f5.test.mydomain.com.conf'
}
}
我已将我的 device.conf 指向 f5 :
device.conf
[f5.test.mydomain.com]
type f5
url https://admin:[email protected]/
我修改了 RUBYLIB 系统环境变量:
export RUBYLIB=/etc/puppet/modules/f5/lib:$RUBYLIB
但是当我尝试时puppet device
,它会抛出异常:
Error: Can't load f5 for http://f5.test.mydomain.com : Exception caught in Management::urn:iControl:Management/Partition::set_active_partition()
Exception: Common::OperationFailed
primary_error_code : 16908289 (0x01020001)
secondary_error_code : 0
error_string : Partition '' doesn't exist
/usr/lib/ruby/vendor_ruby/puppet/util/network_device.rb:10:in `init'
/usr/lib/ruby/vendor_ruby/puppet/application/device.rb:190:in `main'
/usr/lib/ruby/vendor_ruby/puppet/application/device.rb:176:in `each_value'
/usr/lib/ruby/vendor_ruby/puppet/application/device.rb:176:in `main'
/usr/lib/ruby/vendor_ruby/puppet/application.rb:372:in `run_command'
/usr/lib/ruby/vendor_ruby/puppet/application.rb:364:in `run'
/usr/lib/ruby/vendor_ruby/puppet/application.rb:456:in `plugin_hook'
/usr/lib/ruby/vendor_ruby/puppet/application.rb:364:in `run'
/usr/lib/ruby/vendor_ruby/puppet/util.rb:504:in `exit_on_fail'
/usr/lib/ruby/vendor_ruby/puppet/application.rb:364:in `run'
/usr/lib/ruby/vendor_ruby/puppet/util/command_line.rb:132:in `run'
/usr/lib/ruby/vendor_ruby/puppet/util/command_line.rb:86:in `execute'
/usr/bin/puppet:4
这是一个奇怪的错误,因为我的 f5 仅配置了默认的 Common 分区,并且 f5 文档指出,除非明确指定命名分区,否则默认情况下假定为 Common。