Class: ForemanAnsibleDirector::ExecutionEnvironment

Inherits:
AnsibleDirectorModel show all
Defined in:
app/models/foreman_ansible_director/execution_environment.rb

Instance Method Summary collapse

Methods inherited from AnsibleDirectorModel

#flatten_errors, table_name

Instance Method Details

#add_content_unit(content_unit, version) ⇒ Object



44
45
46
47
48
49
# File 'app/models/foreman_ansible_director/execution_environment.rb', line 44

def add_content_unit(content_unit, version)
  execution_environment_content_units.find_or_create_by(
    content_unit: content_unit,
    content_unit_version: version
  )
end

#generate_content_hashObject



35
36
37
38
# File 'app/models/foreman_ansible_director/execution_environment.rb', line 35

def generate_content_hash
  content_string = content_unit_versions.pluck(:versionable_id, :version)
  Digest::SHA2.new(256).hexdigest("#{content_string}:#{ansible_version}:#{base_image_url}")[0, 8]
end

#rebuild_necessary?Boolean

Returns:

  • (Boolean)


31
32
33
# File 'app/models/foreman_ansible_director/execution_environment.rb', line 31

def rebuild_necessary?
  saved_change_to_attribute?(:content_hash)
end

#registry_urlObject

COMPAT 3.16 - 3 Registry authorization has not been finalized. Therefore, execution images are not pulled, but rather sourced from Podman storage.



25
26
27
28
29
# File 'app/models/foreman_ansible_director/execution_environment.rb', line 25

def registry_url
  # registry_port = 4321
  # "#{SETTINGS[:fqdn]}:#{registry_port}/ansible_director/#{id}:latest"
  "localhost/ansible_director/#{id}:latest"
end

#trigger_rebuildObject



40
41
42
# File 'app/models/foreman_ansible_director/execution_environment.rb', line 40

def trigger_rebuild
  ::ForemanAnsibleDirector::ExecutionEnvironmentService.build_execution_environment self
end