使用厨师食谱设置硒网格2

时间:2013-11-22 09:54:59

标签: ruby chef

我正在尝试使用厨师烹饪书来安装硒网格。

我有两个食谱 1)hub.rb - 安装集线器 2)node.rb - 用集线器注册节点。

在hub.rb中,我所做的就是下载selenium grid java文件并运行命令来启动集线器。

java –jar selenium-server-standalone-2.30.0.jar –role hub

在特定的vm(或节点)中启动集线器

在node.rb中,我需要使用命令

将节点注册到上面创建的集线器
 java –jar selenium-server-standalone-2.30.0.jar –role node  -hub http://ipofhub:port/grid/register

现在的问题是如何动态获取要在节点配方中提供的集线器的IP。

我可以在hub.rb中将节点[ipaddress]分配给变量说hub_ip并在node.rb中使用它吗?

hub.rb中的

hub_ip = node[ipaddress]

然后在node.rb

    java –jar selenium-server-standalone-2.30.0.jar –role node  -hub http://#{hub_ip}:port/grid/register    

我不确定上述是否会起作用,因为我没有测试过它(等待vms测试它)但是还有其他方法吗?

1 个答案:

答案 0 :(得分:0)

是的,这是理想的做法。您需要修复的唯一语法项是:

hub_ip = node[:ipaddress]

或者你可以完成以下所有事情:

hub_url = "http://" + node[:ipaddress] + ":port/grid/register"
execute "adding node" do
   command "java –jar selenium-server-standalone-2.30.0.jar –role node  -hub #{hub_url}"
end