Sha256: 65b5a5dc6ceeb2f229b3c339af30c5a2a0313568dfbad427a14f027cb3038fba
Contents?: true
Size: 1.73 KB
Versions: 8
Compression:
Stored size: 1.73 KB
Contents
# Handler for OpenNebula pools # # @author Michal Kimle # @abstract # @attr_reader [OpenNebula::Client] client # @attr [OpenNebula::Pool] pool class Nifty::Backends::Utils::Opennebula::Handler attr_reader :client attr_accessor :pool cattr_accessor :api_call_timeout ONEADMIN_ID = 0 LEAVE_AS_IS = -1 ATTRIBUTE_APPLIANCE_ID = 'NIFTY_APPLIANCE_ID' OWNER_OCTET = '600' API_POLLING_WAIT = 10 # Constructor # # @param [OpenNebula::Client] client def initialize(client) @client = client end # Reloads the pool # 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 # Change owner of the element # # @param [OpenNebula::PoolElement] element # @param [Fixnum] owner_id # @param [Fixnum] group_id 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 # Change permissions on the element # # @param [OpenNebula::PoolElement] element # @param [String] octet UNIX-like permission octet 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 end
Version data entries
8 entries across 8 versions & 1 rubygems