From dcbea32b062e987b91e0e29a16ecc67999e28ff5 Mon Sep 17 00:00:00 2001 From: Dima Date: Mon, 14 Oct 2013 18:20:58 +0300 Subject: [PATCH] Net probe fails with timeout on check_dhcp request with a lot of iface and vlans Change-Id: I49610410eb414bea43e3cb3dc62b043bee9d5427 Solution: Provide interface to limit time waiting for response and times request is repeated --- mcagents/net_probe.ddl | 2 +- mcagents/net_probe.rb | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/mcagents/net_probe.ddl b/mcagents/net_probe.ddl index abce77a0..37114e2f 100644 --- a/mcagents/net_probe.ddl +++ b/mcagents/net_probe.ddl @@ -4,7 +4,7 @@ metadata :name => "Network Probe Agent", :license => "MIT", :version => "0.1", :url => "http://mirantis.com", - :timeout => 40 + :timeout => 120 action "start_frame_listeners", :description => "Starts catching packets on interfaces" do display :always diff --git a/mcagents/net_probe.rb b/mcagents/net_probe.rb index 893223aa..cc7dacf1 100644 --- a/mcagents/net_probe.rb +++ b/mcagents/net_probe.rb @@ -44,8 +44,9 @@ module MCollective action "dhcp_discover" do interfaces = request[:interfaces][get_uid] format = request.data[:format] || "json" - timeout = request.data[:timeout] || 7 - cmd = "dhcpcheck vlans '#{interfaces}' --timeout=#{timeout} --format=#{format} " + timeout = request.data[:timeout] || 2 + repeat = request.data[:repeat] || 1 + cmd = "dhcpcheck vlans '#{interfaces}' --timeout=#{timeout} --format=#{format} --repeat=#{repeat} " reply[:status] = run(cmd, :stdout => :out, :stderr => :err) end