Module: ForemanAcd
- Defined in:
- lib/foreman_acd.rb,
lib/foreman_acd/engine.rb,
lib/foreman_acd/version.rb,
app/models/foreman_acd/acd_provider.rb,
app/models/foreman_acd/app_instance.rb,
app/models/foreman_acd/foreman_host.rb,
app/models/foreman_acd/app_definition.rb,
app/services/foreman_acd/app_deployer.rb,
app/models/foreman_acd/ansible_playbook.rb,
app/services/foreman_acd/app_configurator.rb,
app/models/foreman_acd/taxonomy_extensions.rb,
app/services/foreman_acd/inventory_creator.rb,
app/services/foreman_acd/acd_proxy_proxy_selector.rb,
app/controllers/foreman_acd/api/v2/base_controller.rb,
app/controllers/foreman_acd/application_controller.rb,
app/controllers/foreman_acd/app_instances_controller.rb,
app/controllers/foreman_acd/app_definitions_controller.rb,
app/controllers/foreman_acd/remote_execution_controller.rb,
app/models/concerns/foreman_acd/host_managed_extensions.rb,
app/controllers/foreman_acd/ansible_playbooks_controller.rb,
app/controllers/foreman_acd/concerns/app_instance_mixins.rb,
app/controllers/foreman_acd/api/v2/app_instances_controller.rb,
app/controllers/foreman_acd/concerns/app_instance_parameters.rb,
app/controllers/foreman_acd/api/v2/app_definitions_controller.rb,
app/controllers/foreman_acd/concerns/app_definition_parameters.rb,
app/controllers/foreman_acd/api/v2/ansible_playbooks_controller.rb,
app/controllers/foreman_acd/concerns/ansible_playbook_parameters.rb
Overview
Defined Under Namespace
Modules: Api, Concerns, HostManagedExtensions, TaxonomyExtensions
Classes: AcdProvider, AcdProxyProxySelector, AnsiblePlaybook, AnsiblePlaybooksController, AppConfigurator, AppDefinition, AppDefinitionsController, AppDeployer, AppInstance, AppInstancesController, ApplicationController, Engine, ForemanHost, InventoryCreator, RemoteExecutionController
Constant Summary
collapse
- RUN_CONFIGURATOR_DELAY =
240
- VERSION =
'0.13.0'
Class Method Summary
collapse
Class Method Details
.acd_base_path ⇒ Object
10
11
12
|
# File 'lib/foreman_acd.rb', line 10
def acd_base_path
'/var/lib/foreman/foreman_acd/'
end
|
.ansible_playbook_path ⇒ Object
14
15
16
|
# File 'lib/foreman_acd.rb', line 14
def ansible_playbook_path
File.join(acd_base_path, 'ansible-playbooks')
end
|
.initiate_acd_app_configurator(app_instance) ⇒ Object
23
24
25
26
27
28
|
# File 'lib/foreman_acd.rb', line 23
def initiate_acd_app_configurator(app_instance)
return unless app_instance.hosts_deployment_finished?
::Foreman::Logging.logger('foreman_acd').info("All hosts of app (#{app_instance.name}) were built. Schedule app configurator...")
start_acd_app_configurator(app_instance)
end
|
.proxy_setting ⇒ Object
18
19
20
21
|
# File 'lib/foreman_acd.rb', line 18
def proxy_setting
HttpProxy.default_global_content_proxy&.full_url ||
Setting[:http_proxy]
end
|
.register_rex_feature ⇒ Object
66
67
68
69
70
71
72
73
74
75
76
|
# File 'lib/foreman_acd/engine.rb', line 66
def self.register_rex_feature
return unless ForemanAcd.with_remote_execution?
RemoteExecutionFeature.register(
:run_acd_ansible_playbook,
N_('Run playbook for ACD'),
{
:description => N_('Run an Ansible playbook to configure ACD application'),
:provided_inputs => %w[application_name playbook_name playbook_path inventory_path],
}
)
end
|
.start_acd_app_configurator(app_instance) ⇒ Object
30
31
32
33
34
35
|
# File 'lib/foreman_acd.rb', line 30
def start_acd_app_configurator(app_instance)
task = ForemanTasks.delay(::Actions::ForemanAcd::RunConfigurator,
{ :start_at => Time.zone.now + RUN_CONFIGURATOR_DELAY },
app_instance)
app_instance.update(:initial_configure_task_id => task.id)
end
|
.with_katello? ⇒ Boolean
56
57
58
|
# File 'lib/foreman_acd/engine.rb', line 56
def self.with_katello?
defined?(::Katello)
end
|
.with_remote_execution? ⇒ Boolean
60
61
62
63
64
|
# File 'lib/foreman_acd/engine.rb', line 60
def self.with_remote_execution?
RemoteExecutionFeature
rescue StandardError
false
end
|