Class: Katello::ContentViewManager
- Inherits:
-
Object
- Object
- Katello::ContentViewManager
- Defined in:
- app/services/katello/content_view_manager.rb
Class Method Summary collapse
- .add_version_to_environment(content_view_version:, environment:) ⇒ Object
- .auto_publish_log(request, message) ⇒ Object
- .content_view_locks(content_view:) ⇒ Object
- .create_candlepin_environment(content_view_environment:) ⇒ Object
- .request_auto_publish(content_view:, content_view_version:) ⇒ Object
- .trigger_auto_publish!(request:) ⇒ Object
Class Method Details
.add_version_to_environment(content_view_version:, environment:) ⇒ Object
3 4 5 6 7 8 9 10 11 |
# File 'app/services/katello/content_view_manager.rb', line 3 def self.add_version_to_environment(content_view_version:, environment:) content_view = content_view_version.content_view if (cve = content_view.content_view_environment(environment)) content_view_version.content_view_environments << cve else cve = content_view.add_environment(environment, content_view_version) end cve end |
.auto_publish_log(request, message) ⇒ Object
36 37 38 39 |
# File 'app/services/katello/content_view_manager.rb', line 36 def self.auto_publish_log(request, ) logged_request = Katello::Logging.join_parts(request.try(:slice, :id, :content_view_id, :content_view_version_id, :created_at)) Rails.logger.info "[auto publish] #{message} #{logged_request}" end |
.content_view_locks(content_view:) ⇒ Object
41 42 43 44 45 |
# File 'app/services/katello/content_view_manager.rb', line 41 def self.content_view_locks(content_view:) ForemanTasks::Lock.where( resource_id: content_view.id, resource_type: ::Katello::ContentView.to_s) end |
.create_candlepin_environment(content_view_environment:) ⇒ Object
13 14 15 16 17 18 19 20 21 22 |
# File 'app/services/katello/content_view_manager.rb', line 13 def self.create_candlepin_environment(content_view_environment:) unless content_view_environment.exists_in_candlepin? ::Katello::Resources::Candlepin::Environment.create( content_view_environment.content_view.organization.label, content_view_environment.cp_id, content_view_environment.label, content_view_environment.content_view.description.try(:truncate, 255) ) end end |
.request_auto_publish(content_view:, content_view_version:) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 |
# File 'app/services/katello/content_view_manager.rb', line 24 def self.request_auto_publish(content_view:, content_view_version:) request = content_view.create_auto_publish_request!( content_view_version: content_view_version ) auto_publish_log(request, "request created") request rescue ActiveRecord::RecordNotUnique auto_publish_log(content_view.auto_publish_request, "request exists") content_view.auto_publish_request end |
.trigger_auto_publish!(request:) ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'app/services/katello/content_view_manager.rb', line 47 def self.trigger_auto_publish!(request:) request.with_lock do if content_view_locks(content_view: request.content_view).any? auto_publish_log(request, "locks found") return end description = _("Auto Publish - Triggered by '%s'") % request.content_view_version.name ForemanTasks.async_task(Actions::Katello::ContentView::Publish, request.content_view, description, auto_published: true, triggered_by_id: request.content_view_version_id) auto_publish_log(request, "task triggered") request.destroy! rescue ForemanTasks::Lock::LockConflict => e auto_publish_log(request, e) auto_publish_log(request, "lock conflict") end rescue ActiveRecord::RecordNotFound auto_publish_log(request, "request gone") end |