Class: Nifty::Backends::Utils::Opennebula::Handler Abstract
- Inherits:
-
Object
- Object
- Nifty::Backends::Utils::Opennebula::Handler
- Defined in:
- lib/nifty/backends/utils/opennebula/handler.rb
Overview
This class is abstract.
Handler for OpenNebula pools
Direct Known Subclasses
DatastoreHandler, GroupHandler, ImageHandler, TemplateHandler
Constant Summary collapse
- ONEADMIN_ID =
0
- LEAVE_AS_IS =
-1
- ATTRIBUTE_APPLIANCE_ID =
'NIFTY_APPLIANCE_ID'
- OWNER_OCTET =
'600'
- API_POLLING_WAIT =
10
Instance Attribute Summary collapse
-
#client ⇒ OpenNebula::Client
readonly
The current value of client.
-
#pool ⇒ OpenNebula::Pool
The current value of pool.
Class Method Summary collapse
-
.chmod(element, octet) ⇒ Object
Change permissions on the element.
-
.chown(element, owner_id, group_id) ⇒ Object
Change owner of the element.
Instance Method Summary collapse
-
#initialize(client) ⇒ Handler
constructor
Constructor.
-
#reload! ⇒ Object
Reloads the pool.
Constructor Details
#initialize(client) ⇒ Handler
Constructor
21 22 23 |
# File 'lib/nifty/backends/utils/opennebula/handler.rb', line 21 def initialize(client) @client = client end |
Instance Attribute Details
#client ⇒ OpenNebula::Client (readonly)
Returns the current value of client.
7 8 9 |
# File 'lib/nifty/backends/utils/opennebula/handler.rb', line 7 def client @client end |
#pool ⇒ OpenNebula::Pool
Returns the current value of pool.
7 8 9 |
# File 'lib/nifty/backends/utils/opennebula/handler.rb', line 7 def pool @pool end |
Class Method Details
.chmod(element, octet) ⇒ Object
Change permissions on the element
58 59 60 61 |
# 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) ⇒ Object
Change owner of the element
43 44 45 46 47 48 49 50 51 52 |
# 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 |
Instance Method Details
#reload! ⇒ Object
Reloads the pool
27 28 29 30 31 32 33 34 35 36 |
# 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 |