Class: Moxprox::Node

Inherits:
Struct
  • Object
show all
Defined in:
lib/moxprox/node.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#clusterObject

Returns the value of attribute cluster



2
3
4
# File 'lib/moxprox/node.rb', line 2

def cluster
  @cluster
end

#nameObject

Returns the value of attribute name



2
3
4
# File 'lib/moxprox/node.rb', line 2

def name
  @name
end

Instance Method Details

#machine(id) ⇒ Object



3
4
5
# File 'lib/moxprox/node.rb', line 3

def machine(id)
  Machine.new(self, id)
end

#request(path, method = "get", query = {}) ⇒ Object



7
8
9
# File 'lib/moxprox/node.rb', line 7

def request(path, method = "get", query = {})
  cluster.request("nodes/#{name}/#{path}", method, query)
end

#task_status(upid) ⇒ Object



11
12
13
14
15
# File 'lib/moxprox/node.rb', line 11

def task_status(upid)
  res = request("tasks/#{upid}/status")
  status = (res["exitstatus"] || res["status"] || "error").downcase.to_sym
  logger.debug "status of task #{upid}: #{status}"
end

#wait_for_task(upid) {|status| ... } ⇒ Object

Yields:

  • (status)


17
18
19
20
21
22
# File 'lib/moxprox/node.rb', line 17

def wait_for_task(upid, &block)
  while (status = task_status(upid)) == :running
    sleep 1
  end
  yield status
end