Skip to content

Commit

Permalink
Merge pull request #2 from dinosaurx/master
Browse files Browse the repository at this point in the history
disable_nodes and enable_nodes.
  • Loading branch information
peterson committed Apr 12, 2012
2 parents d9362a4 + 09580d5 commit f41696b
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 2 deletions.
27 changes: 27 additions & 0 deletions lib/api/pool/PoolDriver.rb
Expand Up @@ -607,6 +607,33 @@ class PoolPort < ::SOAP::RPC::Driver
{ :request_style => :rpc, :request_use => :encoded,
:response_style => :rpc, :response_use => :encoded,
:faults => {} }
],
[ XSD::QName.new(NsPool, "getDisabledNodes"),
"http://soap.zeus.com/zxtm/1.0/Pool/getDisabledNodes",
"getDisabledNodes",
[ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
["retval", "values", ["StringArrayArray", "http://soap.zeus.com/zxtm/1.0/", "StringArrayArray"]] ],
{ :request_style => :rpc, :request_use => :encoded,
:response_style => :rpc, :response_use => :encoded,
:faults => {} }
],
[ XSD::QName.new(NsPool, "disableNodes"),
"http://soap.zeus.com/zxtm/1.0/Pool/disableNodes",
"disableNodes",
[ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
["in", "values", ["StringArrayArray", "http://soap.zeus.com/zxtm/1.0/", "StringArrayArray"]] ],
{ :request_style => :rpc, :request_use => :encoded,
:response_style => :rpc, :response_use => :encoded,
:faults => {} }
],
[ XSD::QName.new(NsPool, "enableNodes"),
"http://soap.zeus.com/zxtm/1.0/Pool/enableNodes",
"enableNodes",
[ ["in", "names", ["StringArray", "http://soap.zeus.com/zxtm/1.0/", "StringArray"]],
["in", "values", ["StringArrayArray", "http://soap.zeus.com/zxtm/1.0/", "StringArrayArray"]] ],
{ :request_style => :rpc, :request_use => :encoded,
:response_style => :rpc, :response_use => :encoded,
:faults => {} }
]
]

Expand Down
32 changes: 30 additions & 2 deletions lib/api/pool/PoolService.rb
Expand Up @@ -111,14 +111,16 @@ def failure_pool(name, failure_name=nil)
#
def list_nodes(name, status=nil)
result = []
valid_status = [:all, :draining]
valid_status = [:all, :draining, :disabled]
status = :all if status.nil? or !valid_status.include?(status)

case status
when :all
result = @driver.getNodes([name])
when :draining
result = @driver.getDrainingNodes([name])
when :disabled
result = @driver.getDisabledNodes([name])
end

return result
Expand Down Expand Up @@ -242,4 +244,30 @@ def connection_count(node)
@driver.getNodesConnectionCounts([node])
end

end
# Disable nodes
#
# Args
# name (String) - Pool name
# nodes (Array) - Nodes (["host1:port", "host2:port"])
#
# Examples
# disable_nodes("pool",["host1:80", "host2:80"])
#
def disable_nodes(name, nodes)
@driver.disableNodes([name], [nodes])
end

# Enable nodes
#
# Args
# name (String) - Pool name
# nodes (Array) - Nodes (["host1:port", "host2:port"])
#
# Examples
# enable_nodes("pool",["host1:80", "host2:80"])
#
def enable_nodes(name, nodes)
@driver.enableNodes([name], [nodes])
end

end

0 comments on commit f41696b

Please sign in to comment.