Sha256: db7707949b7ef630397a13d5c7c88c81b1ef682ddc8fcb90490e9af22b2e14b9

Contents?: true

Size: 1.04 KB

Versions: 53

Compression:

Stored size: 1.04 KB

Contents

module Nic::ManagedExtensions
  extend ActiveSupport::Concern

  included do
    after_validation :discovery_queue_rebuild_dns
  end

  def discovery_queue_rebuild_dns
    return unless (dns? || dns6? || reverse_dns? || reverse_dns6?) && errors.empty? && Setting[:discovery_always_rebuild_dns]
    return if self.host.new_record? || old.nil? # Discovered Hosts already exist, and new_records will break `find`
    return unless self.host.will_save_change_to_attribute?(:type, from: 'Host::Discovered')
    return if self.pending_dns_record_changes?
    logger.debug "Queuing DNS rebuild for #{self}"
    queue.create(:name => _("Rebuild DNS for %s") % self, :priority => 10, :action => [self, :set_discovery_rebuild_dns])
  end

  def set_discovery_rebuild_dns
    logger.debug "Executing DNS rebuild for #{self}"
    rebuild_dns
  end

  def del_discovery_rebuild_dns
    # Just a place holder, so if rollback is needed, we won't get an exception about not knowing how to rollback.
    # This is a no-op, since we cannot really rollback rebuild_dns
  end
end

Version data entries

53 entries across 53 versions & 1 rubygems

Version Path
foreman_discovery-25.1.0 app/models/nic/managed_extensions.rb
foreman_discovery-25.0.1 app/models/nic/managed_extensions.rb
foreman_discovery-25.0.0 app/models/nic/managed_extensions.rb
foreman_discovery-24.0.2 app/models/nic/managed_extensions.rb
foreman_discovery-23.0.2 app/models/nic/managed_extensions.rb
foreman_discovery-24.0.1 app/models/nic/managed_extensions.rb
foreman_discovery-24.0.0 app/models/nic/managed_extensions.rb
foreman_discovery-23.0.1 app/models/nic/managed_extensions.rb
foreman_discovery-23.0.0 app/models/nic/managed_extensions.rb
foreman_discovery-22.0.4 app/models/nic/managed_extensions.rb
foreman_discovery-21.0.5 app/models/nic/managed_extensions.rb
foreman_discovery-22.0.2 app/models/nic/managed_extensions.rb
foreman_discovery-21.0.4 app/models/nic/managed_extensions.rb
foreman_discovery-21.0.3 app/models/nic/managed_extensions.rb
foreman_discovery-21.0.2 app/models/nic/managed_extensions.rb
foreman_discovery-19.0.5 app/models/nic/managed_extensions.rb
foreman_discovery-19.0.4 app/models/nic/managed_extensions.rb
foreman_discovery-21.0.1 app/models/nic/managed_extensions.rb
foreman_discovery-19.0.3 app/models/nic/managed_extensions.rb
foreman_discovery-21.0.0 app/models/nic/managed_extensions.rb