Module: Cloudkeeper::One::ApplianceActions::Registration
- Includes:
- Discard, Update, Utils::ImageDownload, Utils::TemplatePreparation
- Included in:
- CoreConnector
- Defined in:
- lib/cloudkeeper/one/appliance_actions/registration.rb
Instance Method Summary collapse
Methods included from Discard
#discard_appliance, #discard_expired, #discard_image_list, #discard_images, #discard_templates
Methods included from Update
#update_appliance_metadata, #update_image, #update_template
Methods included from Utils::TemplatePreparation
#prepare_template, #render_templates
Methods included from Utils::ImageDownload
Instance Method Details
#register_or_update_appliance(proto_appliance) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/cloudkeeper/one/appliance_actions/registration.rb', line 10 def register_or_update_appliance(proto_appliance) raise Cloudkeeper::One::Errors::ArgumentError, 'appliance cannot be nil' unless proto_appliance group = group_handler.find_by_name proto_appliance.vo raise Cloudkeeper::One::Errors::Actions::RegistrationError, "Missing group with name #{proto_appliance.vo}" unless group discard_images :find_by_appliance_id, proto_appliance.identifier datastores = datastore_handler.find_by_names Cloudkeeper::One::Settings[:'opennebula-datastores'] datastores.each do |datastore| image = register_image proto_appliance, datastore, group register_or_update_template proto_appliance, image, group end end |