class Nifty::Backends::Utils::Opennebula::Handler

Handler for OpenNebula pools

@author Michal Kimle @abstract @attr_reader [OpenNebula::Client] client @attr [OpenNebula::Pool] pool

Constants

API_POLLING_WAIT
ATTRIBUTE_APPLIANCE_ID
LEAVE_AS_IS
ONEADMIN_ID
OWNER_OCTET

Attributes

client[R]
pool[RW]

Public Class Methods

chmod(element, octet) click to toggle source

Change permissions on the element

@param [OpenNebula::PoolElement] element @param [String] octet UNIX-like permission octet

# File lib/nifty/backends/utils/opennebula/handler.rb, line 58
def self.chmod(element, octet)
  Nifty::Backends::Utils::Opennebula::Helper.handle_opennebula_error { element.info! }
  Nifty::Backends::Utils::Opennebula::Helper.handle_opennebula_error { element.chmod_octet(octet) }
end
chown(element, owner_id, group_id) click to toggle source

Change owner of the element

@param [OpenNebula::PoolElement] element @param [Fixnum] owner_id @param [Fixnum] group_id

# File lib/nifty/backends/utils/opennebula/handler.rb, line 43
def self.chown(element, owner_id, group_id)
  Nifty::Backends::Utils::Opennebula::Helper.handle_opennebula_error { element.info! }

  old_owner_id = element['UID'].to_i
  old_group_id = element.gid
  owner_id = LEAVE_AS_IS if owner_id == old_owner_id
  group_id = LEAVE_AS_IS if group_id == old_group_id

  Nifty::Backends::Utils::Opennebula::Helper.handle_opennebula_error { element.chown(owner_id, group_id) }
end
new(client) click to toggle source

Constructor

@param [OpenNebula::Client] client

# File lib/nifty/backends/utils/opennebula/handler.rb, line 21
def initialize(client)
  @client = client
end

Public Instance Methods

reload!() click to toggle source

Reloads the pool

# File lib/nifty/backends/utils/opennebula/handler.rb, line 27
def reload!
  return unless pool

  if pool.respond_to?('info_all!')
    Nifty::Backends::Utils::Opennebula::Helper.handle_opennebula_error { pool.info_all! }
    return
  end

  Nifty::Backends::Utils::Opennebula::Helper.handle_opennebula_error { pool.info! }
end