foreman_ansible 5.0.0 → 5.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/api/v2/ansible_inventories_controller.rb +9 -4
- data/app/models/foreman_ansible/ansible_provider.rb +8 -0
- data/app/models/setting/ansible.rb +1 -1
- data/app/services/foreman_ansible/ansible_info.rb +1 -1
- data/app/services/foreman_ansible/operating_system_parser.rb +1 -1
- data/app/services/foreman_ansible/variables_importer.rb +8 -9
- data/app/views/ansible_variables/_fields.erb +1 -1
- data/app/views/foreman_ansible/job_templates/ansible_roles_-_ansible_default.erb +7 -4
- data/app/views/foreman_ansible/job_templates/capsule_upgrade_-_ansible_default.erb +74 -0
- data/app/views/foreman_ansible/job_templates/configure_cloud_connector_-_ansible_default.erb +36 -0
- data/app/views/foreman_ansible/job_templates/power_action_-_ansible_default.erb +1 -1
- data/app/views/foreman_ansible/job_templates/puppet_run_once_-_ansible_default.erb +5 -1
- data/app/views/foreman_ansible/job_templates/service_action_-_enable_web_console.erb +16 -0
- data/config/routes.rb +1 -1
- data/db/migrate/20200421201839_update_ansible_inv_template_name.rb +9 -0
- data/db/seeds.d/75_job_templates.rb +1 -1
- data/lib/foreman_ansible/engine.rb +22 -25
- data/lib/foreman_ansible/remote_execution.rb +11 -0
- data/lib/foreman_ansible/version.rb +1 -1
- data/locale/action_names.rb +3 -3
- data/locale/ca/LC_MESSAGES/foreman_ansible.mo +0 -0
- data/locale/ca/foreman_ansible.po +556 -0
- data/locale/cs_CZ/LC_MESSAGES/foreman_ansible.mo +0 -0
- data/locale/cs_CZ/foreman_ansible.po +556 -0
- data/locale/de/LC_MESSAGES/foreman_ansible.mo +0 -0
- data/locale/de/foreman_ansible.po +38 -33
- data/locale/en/LC_MESSAGES/foreman_ansible.mo +0 -0
- data/locale/en/foreman_ansible.po +38 -33
- data/locale/en_GB/LC_MESSAGES/foreman_ansible.mo +0 -0
- data/locale/en_GB/foreman_ansible.po +555 -0
- data/locale/es/LC_MESSAGES/foreman_ansible.mo +0 -0
- data/locale/es/foreman_ansible.po +38 -33
- data/locale/foreman_ansible.pot +96 -88
- data/locale/fr/LC_MESSAGES/foreman_ansible.mo +0 -0
- data/locale/fr/foreman_ansible.po +38 -33
- data/locale/gl/LC_MESSAGES/foreman_ansible.mo +0 -0
- data/locale/gl/foreman_ansible.po +553 -0
- data/locale/it/LC_MESSAGES/foreman_ansible.mo +0 -0
- data/locale/it/foreman_ansible.po +38 -33
- data/locale/ja/LC_MESSAGES/foreman_ansible.mo +0 -0
- data/locale/ja/foreman_ansible.po +38 -33
- data/locale/ko/LC_MESSAGES/foreman_ansible.mo +0 -0
- data/locale/ko/foreman_ansible.po +38 -33
- data/locale/nl_NL/LC_MESSAGES/foreman_ansible.mo +0 -0
- data/locale/nl_NL/foreman_ansible.po +559 -0
- data/locale/pl/LC_MESSAGES/foreman_ansible.mo +0 -0
- data/locale/pl/foreman_ansible.po +556 -0
- data/locale/pt_BR/LC_MESSAGES/foreman_ansible.mo +0 -0
- data/locale/pt_BR/foreman_ansible.po +38 -33
- data/locale/ru/LC_MESSAGES/foreman_ansible.mo +0 -0
- data/locale/ru/foreman_ansible.po +38 -33
- data/locale/sv_SE/LC_MESSAGES/foreman_ansible.mo +0 -0
- data/locale/sv_SE/foreman_ansible.po +556 -0
- data/locale/zh_CN/LC_MESSAGES/foreman_ansible.mo +0 -0
- data/locale/zh_CN/foreman_ansible.po +38 -33
- data/locale/zh_TW/LC_MESSAGES/foreman_ansible.mo +0 -0
- data/locale/zh_TW/foreman_ansible.po +38 -33
- data/test/factories/ansible_variables.rb +5 -0
- data/test/unit/services/ansible_variables_importer_test.rb +68 -43
- data/test/unit/services/inventory_creator_test.rb +0 -2
- metadata +55 -59
- data/locale/de/foreman_ansible.edit.po +0 -825
- data/locale/de/foreman_ansible.po.time_stamp +0 -0
- data/locale/en/foreman_ansible.edit.po +0 -714
- data/locale/en/foreman_ansible.po.time_stamp +0 -0
- data/locale/es/foreman_ansible.edit.po +0 -845
- data/locale/es/foreman_ansible.po.time_stamp +0 -0
- data/locale/fr/foreman_ansible.edit.po +0 -847
- data/locale/fr/foreman_ansible.po.time_stamp +0 -0
- data/locale/it/foreman_ansible.edit.po +0 -818
- data/locale/it/foreman_ansible.po.time_stamp +0 -0
- data/locale/ja/foreman_ansible.edit.po +0 -818
- data/locale/ja/foreman_ansible.po.time_stamp +0 -0
- data/locale/ko/foreman_ansible.edit.po +0 -804
- data/locale/ko/foreman_ansible.po.time_stamp +0 -0
- data/locale/pt_BR/foreman_ansible.edit.po +0 -845
- data/locale/pt_BR/foreman_ansible.po.time_stamp +0 -0
- data/locale/ru/foreman_ansible.edit.po +0 -819
- data/locale/ru/foreman_ansible.po.time_stamp +0 -0
- data/locale/zh_CN/foreman_ansible.edit.po +0 -813
- data/locale/zh_CN/foreman_ansible.po.time_stamp +0 -0
- data/locale/zh_TW/foreman_ansible.edit.po +0 -804
- data/locale/zh_TW/foreman_ansible.po.time_stamp +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fb75d29fae2f8916406b532fe9d95e6b63ce1968da6862f9a2bb0ae9d9b45554
|
4
|
+
data.tar.gz: 4639fbbea9b4aed0dbd4f3be9e7654aff78364e5470bc14d3ee9d5f8c19817b0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f2ec3425352140a16674b3d17d8ffbcd7cd225a77f8c2723bc3b9e4f8a3c91bbf557b50af78580af907668d88f085ebe2605603c8b5af2f45124913c118aa2d1
|
7
|
+
data.tar.gz: 10bca14c92388bae60e128effd5a5e2b5d9aa1fb387845d40a4a7a47d7e3ad602560aaa2971356c36d5015f29a3075eee5668defb77fa935bc65c2ce830efb31
|
@@ -3,6 +3,11 @@ module Api
|
|
3
3
|
class AnsibleInventoriesController < ::Api::V2::BaseController
|
4
4
|
include ::Api::Version2
|
5
5
|
|
6
|
+
resource_description do
|
7
|
+
api_version 'v2'
|
8
|
+
api_base_url '/ansible/api'
|
9
|
+
end
|
10
|
+
|
6
11
|
api :POST, '/ansible_inventories/hosts',
|
7
12
|
N_('Show Ansible inventory for hosts')
|
8
13
|
param :host_ids, Array, N_('IDs of hosts included in inventory'),
|
@@ -13,6 +18,10 @@ module Api
|
|
13
18
|
param :host_ids, Array, N_('IDs of hosts included in inventory'),
|
14
19
|
:required => true
|
15
20
|
|
21
|
+
def hosts
|
22
|
+
show_inventory :host_ids, :id
|
23
|
+
end
|
24
|
+
|
16
25
|
api :POST, '/ansible_inventories/hostgroups',
|
17
26
|
N_('Show Ansible inventory for hostgroups')
|
18
27
|
param :hostgroup_ids, Array, N_('IDs of hostgroups included in inventory'),
|
@@ -23,10 +32,6 @@ module Api
|
|
23
32
|
param :hostgroup_ids, Array, N_('IDs of hostgroups included in inventory'),
|
24
33
|
:required => true
|
25
34
|
|
26
|
-
def hosts
|
27
|
-
show_inventory :host_ids, :id
|
28
|
-
end
|
29
|
-
|
30
35
|
def hostgroups
|
31
36
|
show_inventory :hostgroup_ids, :hostgroup_id
|
32
37
|
end
|
@@ -62,6 +62,14 @@ if defined? ForemanRemoteExecution
|
|
62
62
|
'ansible-runner'
|
63
63
|
end
|
64
64
|
|
65
|
+
def required_proxy_selector_for(template)
|
66
|
+
if template.remote_execution_features.where(:label => 'ansible_run_capsule_upgrade').any?
|
67
|
+
::DefaultProxyProxySelector.new
|
68
|
+
else
|
69
|
+
super
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
65
73
|
private
|
66
74
|
|
67
75
|
def ansible_command?(template)
|
@@ -62,7 +62,7 @@ module ForemanAnsible
|
|
62
62
|
end
|
63
63
|
|
64
64
|
def os_minor
|
65
|
-
_, minor =
|
65
|
+
_, minor = os_release&.split('.', 2) ||
|
66
66
|
(facts[:version].split('R') if os_name == 'junos')
|
67
67
|
# Until Foreman supports os.minor as something that's not a number,
|
68
68
|
# we should remove the extra dots in the version. E.g:
|
@@ -48,22 +48,21 @@ module ForemanAnsible
|
|
48
48
|
def initialize_variables(variables, role)
|
49
49
|
variables.map do |variable_name, variable_default|
|
50
50
|
variable = AnsibleVariable.find_or_initialize_by(
|
51
|
-
:key => variable_name
|
51
|
+
:key => variable_name,
|
52
|
+
:ansible_role_id => role.id
|
52
53
|
)
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
:imported => true)
|
57
|
-
end
|
58
|
-
variable.ansible_role = role
|
54
|
+
variable.assign_attributes(:default_value => variable_default,
|
55
|
+
:key_type => infer_key_type(variable_default))
|
56
|
+
variable.imported = true if variable.new_record?
|
59
57
|
variable.valid? ? variable : nil
|
60
58
|
end
|
61
59
|
end
|
62
60
|
|
63
61
|
def detect_changes(imported)
|
64
62
|
changes = {}.with_indifferent_access
|
65
|
-
persisted, changes[:new] = imported.partition { |
|
66
|
-
|
63
|
+
persisted, changes[:new] = imported.partition { |var| var.id.present? }
|
64
|
+
changed, _old = persisted.partition(&:changed?)
|
65
|
+
_overriden, changes[:update] = changed.partition(&:override?)
|
67
66
|
changes[:obsolete] = AnsibleVariable.where.not(:id => persisted.pluck(:id), :imported => false)
|
68
67
|
changes
|
69
68
|
end
|
@@ -15,7 +15,7 @@
|
|
15
15
|
) %>
|
16
16
|
|
17
17
|
<% version = Foreman::Version.new %>
|
18
|
-
<% if version.major.to_i
|
18
|
+
<% if version.major.to_i > 1 || version.minor.to_i >= 22 %>
|
19
19
|
<%= param_type_selector(f, false, :onchange => 'keyTypeChange(this)', :disabled => !f.object.override) %>
|
20
20
|
<% else %>
|
21
21
|
<%= param_type_selector(f, :onchange => 'keyTypeChange(this)', :disabled => !f.object.override) %>
|
@@ -15,7 +15,10 @@ model: JobTemplate
|
|
15
15
|
- name: Display all parameters known for the Foreman host
|
16
16
|
debug:
|
17
17
|
var: foreman
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
18
|
+
tasks:
|
19
|
+
- name: Apply roles
|
20
|
+
include_role:
|
21
|
+
name: "{{ role }}"
|
22
|
+
loop: "{{ foreman_ansible_roles }}"
|
23
|
+
loop_control:
|
24
|
+
loop_var: role
|
@@ -0,0 +1,74 @@
|
|
1
|
+
<%#
|
2
|
+
name: Capsule Upgrade Playbook
|
3
|
+
snippet: false
|
4
|
+
template_inputs:
|
5
|
+
- name: target_version
|
6
|
+
required: true
|
7
|
+
input_type: user
|
8
|
+
advanced: false
|
9
|
+
value_type: plain
|
10
|
+
hidden_value: false
|
11
|
+
- name: whitelist_options
|
12
|
+
required: false
|
13
|
+
input_type: user
|
14
|
+
advanced: false
|
15
|
+
value_type: plain
|
16
|
+
hidden_value: false
|
17
|
+
model: JobTemplate
|
18
|
+
job_category: Ansible Playbook
|
19
|
+
description_format: "%{template_name}"
|
20
|
+
provider_type: Ansible
|
21
|
+
kind: job_template
|
22
|
+
feature: ansible_run_capsule_upgrade
|
23
|
+
%>
|
24
|
+
|
25
|
+
---
|
26
|
+
- hosts: all
|
27
|
+
tasks:
|
28
|
+
- name: Gather the rpm package facts
|
29
|
+
package_facts:
|
30
|
+
manager: auto
|
31
|
+
|
32
|
+
- name: Fail if the target server is a Satellite server
|
33
|
+
fail:
|
34
|
+
msg: "This playbook cannot be executed on a Satellite server. Use only on a Capsule server."
|
35
|
+
when: "'satellite' in ansible_facts.packages"
|
36
|
+
|
37
|
+
- name: Install satellite-maintain if not present
|
38
|
+
package:
|
39
|
+
name: rubygem-foreman_maintain
|
40
|
+
state: present
|
41
|
+
when: "'rubygem-foreman_maintain' not in ansible_facts.packages"
|
42
|
+
|
43
|
+
- block:
|
44
|
+
<%- whitelist_option = if input('whitelist_options').present?
|
45
|
+
"--whitelist=#{input('whitelist_options')}"
|
46
|
+
end -%>
|
47
|
+
- name: Upgrade Capsule server using satellite-maintain
|
48
|
+
shell: satellite-maintain upgrade run --assumeyes --target-version=<%= input('target_version') %> <%= whitelist_option %>
|
49
|
+
register: result
|
50
|
+
|
51
|
+
- name: Re-Gather the rpm package facts after the upgrade
|
52
|
+
package_facts:
|
53
|
+
manager: auto
|
54
|
+
|
55
|
+
- name: satellite-maintain upgrade return code is zero
|
56
|
+
debug:
|
57
|
+
msg: "Success! Capsule server upgrade completed. Current version of Capsule server server is {{ ansible_facts.packages['satellite-capsule'][0]['version'] }}."
|
58
|
+
|
59
|
+
rescue:
|
60
|
+
- name: Print satellite-maintain output
|
61
|
+
debug:
|
62
|
+
var: result
|
63
|
+
|
64
|
+
- name: Grep top 10 Error messages from /var/log/foreman-installer/capsule.log
|
65
|
+
shell: grep '^\[ERROR' /var/log/foreman-installer/capsule.log | head -n10
|
66
|
+
register: output_grep
|
67
|
+
|
68
|
+
- name: Print grepped Error messages
|
69
|
+
debug:
|
70
|
+
var: output_grep.stdout_lines
|
71
|
+
|
72
|
+
- name: satellite-maintain upgrade return code is non-zero
|
73
|
+
fail:
|
74
|
+
msg: "Failed! Capsule server upgrade failed. See /var/log/foreman-installer/capsule.log in the Capsule server for more information"
|
@@ -0,0 +1,36 @@
|
|
1
|
+
<%#
|
2
|
+
name: Configure Cloud Connector
|
3
|
+
snippet: false
|
4
|
+
template_inputs:
|
5
|
+
- name: satellite_user
|
6
|
+
required: true
|
7
|
+
input_type: user
|
8
|
+
advanced: false
|
9
|
+
value_type: plain
|
10
|
+
hidden_value: false
|
11
|
+
- name: satellite_password
|
12
|
+
required: true
|
13
|
+
input_type: user
|
14
|
+
advanced: false
|
15
|
+
value_type: plain
|
16
|
+
hidden_value: true
|
17
|
+
- name: http_proxy
|
18
|
+
required: false
|
19
|
+
input_type: user
|
20
|
+
advanced: true
|
21
|
+
value_type: plain
|
22
|
+
hidden_value: false
|
23
|
+
description: You can specify a HTTP proxy address that should be used for Cloud Connector connection to the cloud.redhat.com. Note that it must be HTTP proxy, not HTTPS. The tunelling of SSL (secured web socket connection) in SSL (HTTPS proxy) is currently unsupported.
|
24
|
+
model: JobTemplate
|
25
|
+
job_category: Ansible Playbook
|
26
|
+
description_format: "%{template_name}"
|
27
|
+
provider_type: Ansible
|
28
|
+
kind: job_template
|
29
|
+
%>
|
30
|
+
|
31
|
+
---
|
32
|
+
- hosts: all
|
33
|
+
vars:
|
34
|
+
satellite_url: "<%= foreman_server_url %>"
|
35
|
+
roles:
|
36
|
+
- project-receptor.satellite_receptor_installer
|
@@ -18,4 +18,8 @@ model: JobTemplate
|
|
18
18
|
- hosts: all
|
19
19
|
tasks:
|
20
20
|
- command: |
|
21
|
-
puppet agent --onetime --no-usecacheonfailure --no-daemonize <%= input("puppet_options")
|
21
|
+
puppet agent --onetime --no-usecacheonfailure --no-daemonize <%= input("puppet_options") -%>
|
22
|
+
<% if @host.operatingsystem.family == 'Debian' -%>
|
23
|
+
environment:
|
24
|
+
PATH: "/opt/puppetlabs/bin:{{ (ansible_env|default({})).PATH|default('') }}"
|
25
|
+
<% end -%>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<%#
|
2
|
+
name: Service Action - Enable Web Console
|
3
|
+
job_category: Ansible Services
|
4
|
+
snippet: false
|
5
|
+
provider_type: Ansible
|
6
|
+
kind: job_template
|
7
|
+
model: JobTemplate
|
8
|
+
feature: ansible_enable_web_console
|
9
|
+
%>
|
10
|
+
---
|
11
|
+
- hosts: all
|
12
|
+
tasks:
|
13
|
+
- name: ensure cockpit is installed
|
14
|
+
package:
|
15
|
+
name: "cockpit-system"
|
16
|
+
state: present
|
data/config/routes.rb
CHANGED
@@ -72,7 +72,7 @@ Rails.application.routes.draw do
|
|
72
72
|
:module => :v2,
|
73
73
|
:defaults => { :apiv => 'v2' },
|
74
74
|
:apiv => /v1|v2/,
|
75
|
-
:constraints => ApiConstraints.new(:version => 2) do
|
75
|
+
:constraints => ApiConstraints.new(:version => 2, :default => true) do
|
76
76
|
resources :ansible_roles, :only => [:show, :index, :destroy] do
|
77
77
|
collection do
|
78
78
|
put :import
|
@@ -0,0 +1,9 @@
|
|
1
|
+
class UpdateAnsibleInvTemplateName < ActiveRecord::Migration[5.2]
|
2
|
+
def up
|
3
|
+
Setting.where(:name => 'ansible_inventory_template').update_all(:default => 'Ansible - Ansible Inventory')
|
4
|
+
end
|
5
|
+
|
6
|
+
def down
|
7
|
+
Setting.where(:name => 'ansible_inventory_template').update_all(:default => 'Ansible Inventory')
|
8
|
+
end
|
9
|
+
end
|
@@ -18,7 +18,7 @@ User.as_anonymous_admin do
|
|
18
18
|
sync = !Rails.env.test? && Setting[:remote_execution_sync_templates]
|
19
19
|
template = JobTemplate.import_raw!(File.read(template),
|
20
20
|
:default => true,
|
21
|
-
:
|
21
|
+
:lock => true,
|
22
22
|
:update => sync)
|
23
23
|
template.organizations = organizations if template.present?
|
24
24
|
template.locations = locations if template.present?
|
@@ -71,32 +71,29 @@ module ForemanAnsible
|
|
71
71
|
end
|
72
72
|
|
73
73
|
config.to_prepare do
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
::
|
82
|
-
|
83
|
-
ForemanAnsible::StructuredFactImporter
|
84
|
-
)
|
85
|
-
end
|
86
|
-
::FactParser.register_fact_parser(:ansible, ForemanAnsible::FactParser)
|
87
|
-
::Host::Managed.prepend ForemanAnsible::HostManagedExtensions
|
88
|
-
::Hostgroup.include ForemanAnsible::HostgroupExtensions
|
89
|
-
::HostsHelper.include ForemanAnsible::HostsHelperExtensions
|
90
|
-
::HostsController.include ForemanAnsible::Concerns::HostsControllerExtensions
|
91
|
-
::Api::V2::HostsController.include ForemanAnsible::Api::V2::HostsControllerExtensions
|
92
|
-
::Api::V2::HostsController.include ForemanAnsible::Api::V2::HostsParamGroupExtensions
|
93
|
-
::HostgroupsController.include ForemanAnsible::Concerns::HostgroupsControllerExtensions
|
94
|
-
::Api::V2::HostgroupsController.include ForemanAnsible::Api::V2::HostgroupsControllerExtensions
|
95
|
-
::Api::V2::HostgroupsController.include ForemanAnsible::Api::V2::HostgroupsParamGroupExtensions
|
96
|
-
::ConfigReportImporter.include ForemanAnsible::AnsibleReportImporter
|
97
|
-
rescue StandardError => e
|
98
|
-
Rails.logger.warn "Foreman Ansible: skipping engine hook (#{e})"
|
74
|
+
foreman_version = ::Foreman::Version.new
|
75
|
+
if Rails.env.test? ||
|
76
|
+
foreman_version.major.to_i == 1 && foreman_version.minor.to_i < 13
|
77
|
+
::Foreman::Plugin.fact_importer_registry.register(:ansible, ForemanAnsible::FactImporter)
|
78
|
+
else
|
79
|
+
::Foreman::Plugin.fact_importer_registry.register(
|
80
|
+
:ansible,
|
81
|
+
ForemanAnsible::StructuredFactImporter
|
82
|
+
)
|
99
83
|
end
|
84
|
+
::FactParser.register_fact_parser(:ansible, ForemanAnsible::FactParser)
|
85
|
+
::Host::Managed.prepend ForemanAnsible::HostManagedExtensions
|
86
|
+
::Hostgroup.include ForemanAnsible::HostgroupExtensions
|
87
|
+
::HostsHelper.include ForemanAnsible::HostsHelperExtensions
|
88
|
+
::HostsController.include ForemanAnsible::Concerns::HostsControllerExtensions
|
89
|
+
::Api::V2::HostsController.include ForemanAnsible::Api::V2::HostsControllerExtensions
|
90
|
+
::Api::V2::HostsController.include ForemanAnsible::Api::V2::HostsParamGroupExtensions
|
91
|
+
::HostgroupsController.include ForemanAnsible::Concerns::HostgroupsControllerExtensions
|
92
|
+
::Api::V2::HostgroupsController.include ForemanAnsible::Api::V2::HostgroupsControllerExtensions
|
93
|
+
::Api::V2::HostgroupsController.include ForemanAnsible::Api::V2::HostgroupsParamGroupExtensions
|
94
|
+
::ConfigReportImporter.include ForemanAnsible::AnsibleReportImporter
|
95
|
+
rescue StandardError => e
|
96
|
+
Rails.logger.warn "Foreman Ansible: skipping engine hook (#{e})"
|
100
97
|
end
|
101
98
|
|
102
99
|
rake_tasks do
|
@@ -36,6 +36,17 @@ module ForemanAnsible
|
|
36
36
|
:description => N_('Run an Ansible playbook against given hosts'),
|
37
37
|
:provided_inputs => %w[playbook]
|
38
38
|
)
|
39
|
+
RemoteExecutionFeature.register(
|
40
|
+
:ansible_enable_web_console,
|
41
|
+
N_('Enable web console'),
|
42
|
+
:description => N_('Run an Ansible playbook to enable web console on given hosts'),
|
43
|
+
:host_action_button => true
|
44
|
+
)
|
45
|
+
RemoteExecutionFeature.register(
|
46
|
+
:ansible_run_capsule_upgrade,
|
47
|
+
N_('Upgrade Capsules on given hosts'),
|
48
|
+
:description => N_('Upgrade Capsules on given Capsule server hosts')
|
49
|
+
)
|
39
50
|
end
|
40
51
|
end
|
41
52
|
end
|
data/locale/action_names.rb
CHANGED
Binary file
|
@@ -0,0 +1,556 @@
|
|
1
|
+
# SOME DESCRIPTIVE TITLE.
|
2
|
+
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
3
|
+
# This file is distributed under the same license as the foreman_ansible package.
|
4
|
+
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
5
|
+
#
|
6
|
+
# Translators:
|
7
|
+
# Robert Antoni Buj Gelonch <rbuj@fedoraproject.org>, 2019
|
8
|
+
#
|
9
|
+
msgid ""
|
10
|
+
msgstr ""
|
11
|
+
"Project-Id-Version: foreman_ansible 5.0.1\n"
|
12
|
+
"Report-Msgid-Bugs-To: \n"
|
13
|
+
"PO-Revision-Date: 2018-11-14 21:36+0000\n"
|
14
|
+
"Last-Translator: Robert Antoni Buj Gelonch <rbuj@fedoraproject.org>, 2019\n"
|
15
|
+
"Language-Team: Catalan (https://www.transifex.com/foreman/teams/114/ca/)\n"
|
16
|
+
"MIME-Version: 1.0\n"
|
17
|
+
"Content-Type: text/plain; charset=UTF-8\n"
|
18
|
+
"Content-Transfer-Encoding: 8bit\n"
|
19
|
+
"Language: ca\n"
|
20
|
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
21
|
+
|
22
|
+
msgid "%s ago"
|
23
|
+
msgstr "fa %s"
|
24
|
+
|
25
|
+
msgid "%{cfgmgmt} out of sync disabled"
|
26
|
+
msgstr ""
|
27
|
+
|
28
|
+
msgid "Action with sub plans"
|
29
|
+
msgstr ""
|
30
|
+
|
31
|
+
msgid "Actions"
|
32
|
+
msgstr "Accions"
|
33
|
+
|
34
|
+
msgid "Add"
|
35
|
+
msgstr "Afegeix"
|
36
|
+
|
37
|
+
msgid "Ansible"
|
38
|
+
msgstr ""
|
39
|
+
|
40
|
+
msgid "Ansible Role"
|
41
|
+
msgstr ""
|
42
|
+
|
43
|
+
msgid "Ansible Roles"
|
44
|
+
msgstr ""
|
45
|
+
|
46
|
+
msgid "Ansible Variable Details"
|
47
|
+
msgstr ""
|
48
|
+
|
49
|
+
msgid "Ansible Variable Details (Imported)"
|
50
|
+
msgstr ""
|
51
|
+
|
52
|
+
msgid "Ansible Variables"
|
53
|
+
msgstr ""
|
54
|
+
|
55
|
+
msgid "Ansible report timeout"
|
56
|
+
msgstr ""
|
57
|
+
|
58
|
+
msgid "Ansible role"
|
59
|
+
msgstr ""
|
60
|
+
|
61
|
+
msgid "Ansible role names to import"
|
62
|
+
msgstr ""
|
63
|
+
|
64
|
+
msgid "Ansible roles to assign to a host"
|
65
|
+
msgstr ""
|
66
|
+
|
67
|
+
msgid "Ansible roles to assign to a hostgroup"
|
68
|
+
msgstr ""
|
69
|
+
|
70
|
+
msgid "Ansible support in Foreman"
|
71
|
+
msgstr ""
|
72
|
+
|
73
|
+
msgid "Ansible: Run Insights maintenance plan"
|
74
|
+
msgstr ""
|
75
|
+
|
76
|
+
msgid "Arguments"
|
77
|
+
msgstr ""
|
78
|
+
|
79
|
+
msgid "Assigns Ansible roles to a host"
|
80
|
+
msgstr ""
|
81
|
+
|
82
|
+
msgid "Assigns Ansible roles to a hostgroup"
|
83
|
+
msgstr ""
|
84
|
+
|
85
|
+
msgid "Avoid duplicate values when merging them (only array type)?"
|
86
|
+
msgstr ""
|
87
|
+
|
88
|
+
msgid "Before including these variables on your playbooks, Foreman will validate that your variables comply with the validation."
|
89
|
+
msgstr ""
|
90
|
+
|
91
|
+
msgid "Cancel"
|
92
|
+
msgstr "Cancel·la"
|
93
|
+
|
94
|
+
msgid "Changed Ansible roles"
|
95
|
+
msgstr ""
|
96
|
+
|
97
|
+
msgid "Changed Ansible variables"
|
98
|
+
msgstr ""
|
99
|
+
|
100
|
+
msgid "Check/Uncheck all"
|
101
|
+
msgstr ""
|
102
|
+
|
103
|
+
msgid "Check/Uncheck all %s changes"
|
104
|
+
msgstr ""
|
105
|
+
|
106
|
+
msgid "Check/Uncheck new"
|
107
|
+
msgstr ""
|
108
|
+
|
109
|
+
msgid "Check/Uncheck obsolete"
|
110
|
+
msgstr ""
|
111
|
+
|
112
|
+
msgid "Check/Uncheck update"
|
113
|
+
msgstr ""
|
114
|
+
|
115
|
+
msgid "Clone"
|
116
|
+
msgstr "Clona"
|
117
|
+
|
118
|
+
msgid "Connection type"
|
119
|
+
msgstr ""
|
120
|
+
|
121
|
+
msgid "Continue to look for matches after first find (only array/hash type)? Note: merging overrides ignores all matchers that are omitted."
|
122
|
+
msgstr ""
|
123
|
+
|
124
|
+
msgid "Could not run Ansible roles for %{host}"
|
125
|
+
msgstr ""
|
126
|
+
|
127
|
+
msgid "Create Ansible Variable"
|
128
|
+
msgstr ""
|
129
|
+
|
130
|
+
msgid "Create Ansible variable"
|
131
|
+
msgstr ""
|
132
|
+
|
133
|
+
msgid "Create an override value for a specific ansible variable"
|
134
|
+
msgstr ""
|
135
|
+
|
136
|
+
msgid "Default Ansible inventory report template"
|
137
|
+
msgstr ""
|
138
|
+
|
139
|
+
msgid "Default Behavior"
|
140
|
+
msgstr ""
|
141
|
+
|
142
|
+
msgid "Default value of variable"
|
143
|
+
msgstr "Valor per defecte de la variable"
|
144
|
+
|
145
|
+
msgid "Default verbosity level"
|
146
|
+
msgstr ""
|
147
|
+
|
148
|
+
msgid "Delete %s?"
|
149
|
+
msgstr "Voleu suprimir %s?"
|
150
|
+
|
151
|
+
msgid "Deletes Ansible role"
|
152
|
+
msgstr ""
|
153
|
+
|
154
|
+
msgid "Deletes Ansible variable"
|
155
|
+
msgstr ""
|
156
|
+
|
157
|
+
msgid "Description of variable"
|
158
|
+
msgstr "Descripció de la variable"
|
159
|
+
|
160
|
+
msgid "Destroy an override value"
|
161
|
+
msgstr ""
|
162
|
+
|
163
|
+
msgid "Disable host configuration status turning to out of sync for %{cfgmgmt} after report does not arrive within configured interval"
|
164
|
+
msgstr ""
|
165
|
+
|
166
|
+
msgid "Disabled"
|
167
|
+
msgstr "Inhabilitada"
|
168
|
+
|
169
|
+
msgid "Edit %s"
|
170
|
+
msgstr "Edita %s"
|
171
|
+
|
172
|
+
msgid "Edit Ansible Variable"
|
173
|
+
msgstr ""
|
174
|
+
|
175
|
+
msgid "Enable/disable WinRM server certificate validation when running Ansible playbooks. You can override this on hosts by adding a parameter \"ansible_winrm_server_cert_validation\""
|
176
|
+
msgstr ""
|
177
|
+
|
178
|
+
msgid "Error loading data from proxy"
|
179
|
+
msgstr ""
|
180
|
+
|
181
|
+
msgid "Fetch Ansible roles available to be imported"
|
182
|
+
msgstr ""
|
183
|
+
|
184
|
+
msgid "Foreman"
|
185
|
+
msgstr ""
|
186
|
+
|
187
|
+
msgid "Foreman will add this level of verbosity for additional debugging output when running Ansible playbooks."
|
188
|
+
msgstr ""
|
189
|
+
|
190
|
+
msgid "Foreman will use this template to schedule the report with Ansible inventory"
|
191
|
+
msgstr ""
|
192
|
+
|
193
|
+
msgid "Hash of input values of type input=>value"
|
194
|
+
msgstr ""
|
195
|
+
|
196
|
+
msgid "Hidden Value"
|
197
|
+
msgstr ""
|
198
|
+
|
199
|
+
msgid "Hide all values for this parameter."
|
200
|
+
msgstr ""
|
201
|
+
|
202
|
+
msgid "Host group has no associated hosts"
|
203
|
+
msgstr ""
|
204
|
+
|
205
|
+
msgid "Hostgroups"
|
206
|
+
msgstr "Grups d'amfitrions"
|
207
|
+
|
208
|
+
msgid "Hostgroups count"
|
209
|
+
msgstr ""
|
210
|
+
|
211
|
+
msgid "Hosts"
|
212
|
+
msgstr "Amfitrions"
|
213
|
+
|
214
|
+
msgid "Hosts count"
|
215
|
+
msgstr ""
|
216
|
+
|
217
|
+
msgid "IDs of associated ansible roles"
|
218
|
+
msgstr ""
|
219
|
+
|
220
|
+
msgid "IDs of hostgroups included in inventory"
|
221
|
+
msgstr ""
|
222
|
+
|
223
|
+
msgid "IDs of hostgroups to play roles on"
|
224
|
+
msgstr ""
|
225
|
+
|
226
|
+
msgid "IDs of hosts included in inventory"
|
227
|
+
msgstr ""
|
228
|
+
|
229
|
+
msgid "IDs of hosts to play roles on"
|
230
|
+
msgstr ""
|
231
|
+
|
232
|
+
msgid "If checked, will raise an error if there is no default value and no matcher provide a value."
|
233
|
+
msgstr "En cas que estigui marcat, es produirà un error si no hi ha cap valor per defecte i no hi ha cap classificador que proporcioni un valor."
|
234
|
+
|
235
|
+
msgid "Import"
|
236
|
+
msgstr "Importa"
|
237
|
+
|
238
|
+
msgid "Import Ansible roles"
|
239
|
+
msgstr ""
|
240
|
+
|
241
|
+
msgid "Import Ansible variables. This will only import variables for already existing roles, it will not import any new roles"
|
242
|
+
msgstr ""
|
243
|
+
|
244
|
+
msgid "Import Puppet classes"
|
245
|
+
msgstr ""
|
246
|
+
|
247
|
+
msgid "Import facts"
|
248
|
+
msgstr ""
|
249
|
+
|
250
|
+
msgid "Import from %s"
|
251
|
+
msgstr "Importa de %s"
|
252
|
+
|
253
|
+
msgid "Import of roles successfully finished."
|
254
|
+
msgstr ""
|
255
|
+
|
256
|
+
msgid "Imported at"
|
257
|
+
msgstr ""
|
258
|
+
|
259
|
+
msgid "Imported?"
|
260
|
+
msgstr ""
|
261
|
+
|
262
|
+
msgid "Include default value when merging all matching values"
|
263
|
+
msgstr ""
|
264
|
+
|
265
|
+
msgid "Include default value when merging all matching values."
|
266
|
+
msgstr ""
|
267
|
+
|
268
|
+
msgid "Insights remediation on %{hosts_count} host(s) has finished successfully"
|
269
|
+
msgstr ""
|
270
|
+
|
271
|
+
msgid "Job Details"
|
272
|
+
msgstr ""
|
273
|
+
|
274
|
+
msgid "Jobs"
|
275
|
+
msgstr "Treballs"
|
276
|
+
|
277
|
+
msgid "Learn more about this in the documentation."
|
278
|
+
msgstr "Obteniu més informació sobre això a la documentació."
|
279
|
+
|
280
|
+
msgid "Level"
|
281
|
+
msgstr "Nivell"
|
282
|
+
|
283
|
+
msgid "Level 1 (-v)"
|
284
|
+
msgstr ""
|
285
|
+
|
286
|
+
msgid "Level 2 (-vv)"
|
287
|
+
msgstr ""
|
288
|
+
|
289
|
+
msgid "Level 3 (-vvv)"
|
290
|
+
msgstr ""
|
291
|
+
|
292
|
+
msgid "Level 4 (-vvvv)"
|
293
|
+
msgstr ""
|
294
|
+
|
295
|
+
msgid "List Ansible roles"
|
296
|
+
msgstr ""
|
297
|
+
|
298
|
+
msgid "List Ansible variables"
|
299
|
+
msgstr ""
|
300
|
+
|
301
|
+
msgid "List all Ansible roles for a host"
|
302
|
+
msgstr ""
|
303
|
+
|
304
|
+
msgid "List all Ansible roles for a hostgroup"
|
305
|
+
msgstr ""
|
306
|
+
|
307
|
+
msgid "Mark the variable to be managed by Foreman. When the Ansible role of this variable is assigned to a host, the default value will be added to Ansible inventory as a host variable. Specify matchers to set a different value for such variable."
|
308
|
+
msgstr ""
|
309
|
+
|
310
|
+
msgid "Merge all matching values (only array/hash type)"
|
311
|
+
msgstr ""
|
312
|
+
|
313
|
+
msgid "Message"
|
314
|
+
msgstr "Missatge"
|
315
|
+
|
316
|
+
msgid "Module"
|
317
|
+
msgstr ""
|
318
|
+
|
319
|
+
msgid "Name"
|
320
|
+
msgstr "Nom"
|
321
|
+
|
322
|
+
msgid "Name of variable"
|
323
|
+
msgstr "Nom de la variable"
|
324
|
+
|
325
|
+
msgid "Nest"
|
326
|
+
msgstr ""
|
327
|
+
|
328
|
+
msgid "New"
|
329
|
+
msgstr "Nou"
|
330
|
+
|
331
|
+
msgid "New Ansible Variable"
|
332
|
+
msgstr ""
|
333
|
+
|
334
|
+
msgid ""
|
335
|
+
"No ansible roles were found in Foreman. If you want to assign roles to your hosts,\n"
|
336
|
+
" you have to import them first."
|
337
|
+
msgstr ""
|
338
|
+
|
339
|
+
msgid "No changes in roles detected on %s."
|
340
|
+
msgstr ""
|
341
|
+
|
342
|
+
msgid "No changes in roles detected."
|
343
|
+
msgstr ""
|
344
|
+
|
345
|
+
msgid "No changes in variables detected on %s."
|
346
|
+
msgstr ""
|
347
|
+
|
348
|
+
msgid "No proxy found to import variables from, ensure that the smart proxy has the Ansible feature enabled."
|
349
|
+
msgstr ""
|
350
|
+
|
351
|
+
msgid "Nothing to show"
|
352
|
+
msgstr "Res a mostrar"
|
353
|
+
|
354
|
+
msgid "Obsolete"
|
355
|
+
msgstr "En desús"
|
356
|
+
|
357
|
+
msgid "Obsolete Ansible roles"
|
358
|
+
msgstr ""
|
359
|
+
|
360
|
+
msgid "Obsolete Ansible variables. This will only obsolete variables for already existing roles, it will not delete any old roles"
|
361
|
+
msgstr ""
|
362
|
+
|
363
|
+
msgid "Operation"
|
364
|
+
msgstr "Operació"
|
365
|
+
|
366
|
+
msgid "Optional Input Validator"
|
367
|
+
msgstr ""
|
368
|
+
|
369
|
+
msgid "Order"
|
370
|
+
msgstr "Ordre"
|
371
|
+
|
372
|
+
msgid "Override match"
|
373
|
+
msgstr "Redefineix la coincidència"
|
374
|
+
|
375
|
+
msgid "Override the default value of the Ansible variable."
|
376
|
+
msgstr ""
|
377
|
+
|
378
|
+
msgid "Override value, required if omit is false"
|
379
|
+
msgstr ""
|
380
|
+
|
381
|
+
msgid "Overriden"
|
382
|
+
msgstr ""
|
383
|
+
|
384
|
+
msgid "Post-provision timeout"
|
385
|
+
msgstr ""
|
386
|
+
|
387
|
+
msgid "Prioritize Attribute Order"
|
388
|
+
msgstr ""
|
389
|
+
|
390
|
+
msgid "Private Key Path"
|
391
|
+
msgstr ""
|
392
|
+
|
393
|
+
msgid "Proxy not found"
|
394
|
+
msgstr ""
|
395
|
+
|
396
|
+
msgid "Remediation Plan"
|
397
|
+
msgstr ""
|
398
|
+
|
399
|
+
msgid "Remote action:"
|
400
|
+
msgstr ""
|
401
|
+
|
402
|
+
msgid "Remove"
|
403
|
+
msgstr "Suprimeix"
|
404
|
+
|
405
|
+
msgid "Remove duplicate values (only array type)"
|
406
|
+
msgstr ""
|
407
|
+
|
408
|
+
msgid "Report format, defaults to '%s'"
|
409
|
+
msgstr ""
|
410
|
+
|
411
|
+
msgid "Role ID"
|
412
|
+
msgstr ""
|
413
|
+
|
414
|
+
msgid "Roles"
|
415
|
+
msgstr "Rols"
|
416
|
+
|
417
|
+
msgid "Role|Name"
|
418
|
+
msgstr "Nom"
|
419
|
+
|
420
|
+
msgid "Run Ansible roles"
|
421
|
+
msgstr ""
|
422
|
+
|
423
|
+
msgid "Run all Ansible roles"
|
424
|
+
msgstr ""
|
425
|
+
|
426
|
+
msgid "Run all Ansible roles on hosts belonging to this host group"
|
427
|
+
msgstr ""
|
428
|
+
|
429
|
+
msgid "Run an Ansible playbook against given hosts"
|
430
|
+
msgstr ""
|
431
|
+
|
432
|
+
msgid "Run playbook"
|
433
|
+
msgstr ""
|
434
|
+
|
435
|
+
msgid "Runs a given maintenance plan from Red Hat Access Insights given an ID."
|
436
|
+
msgstr ""
|
437
|
+
|
438
|
+
msgid "Runs all Ansible roles on a host"
|
439
|
+
msgstr ""
|
440
|
+
|
441
|
+
msgid "Runs all Ansible roles on a hostgroup"
|
442
|
+
msgstr ""
|
443
|
+
|
444
|
+
msgid "Runs all Ansible roles on hostgroups"
|
445
|
+
msgstr ""
|
446
|
+
|
447
|
+
msgid "Runs all Ansible roles on hosts"
|
448
|
+
msgstr ""
|
449
|
+
|
450
|
+
msgid "Runs an Ansible playbook which contains all the roles defined for a host"
|
451
|
+
msgstr ""
|
452
|
+
|
453
|
+
msgid "Schedule generating of Ansible Inventory report"
|
454
|
+
msgstr ""
|
455
|
+
|
456
|
+
msgid "Select the changes you want to realize in Foreman"
|
457
|
+
msgstr ""
|
458
|
+
|
459
|
+
msgid "Set the order in which values are resolved."
|
460
|
+
msgstr ""
|
461
|
+
|
462
|
+
msgid "Show Ansible inventory for hostgroups"
|
463
|
+
msgstr ""
|
464
|
+
|
465
|
+
msgid "Show Ansible inventory for hosts"
|
466
|
+
msgstr ""
|
467
|
+
|
468
|
+
msgid "Show role"
|
469
|
+
msgstr ""
|
470
|
+
|
471
|
+
msgid "Show variable"
|
472
|
+
msgstr ""
|
473
|
+
|
474
|
+
msgid "Smart Proxy to fetch from"
|
475
|
+
msgstr ""
|
476
|
+
|
477
|
+
msgid "Smart Proxy to import from"
|
478
|
+
msgstr ""
|
479
|
+
|
480
|
+
msgid "Smart proxy id is required"
|
481
|
+
msgstr ""
|
482
|
+
|
483
|
+
msgid "Specify Matchers"
|
484
|
+
msgstr ""
|
485
|
+
|
486
|
+
msgid "The order in which matchers keys are processed, first match wins.<br> You may use multiple attributes as a matcher key, for example, an order of <code>host group, environment</code> would expect a matcher such as <code>hostgroup = \"web servers\", environment = production</code>"
|
487
|
+
msgstr ""
|
488
|
+
"L'ordre en el qual es processen les claus del classificador, la primera coincidència guanya.<br> Podeu utilitzar diversos atributs com a part d'una clau del classificador, per exemple, amb un ordre de\n"
|
489
|
+
" <code>grup d'amfitrions, entorn</code> esperaria\n"
|
490
|
+
" un classificador similar a <code>hostgroup = \"web servers\", environment = production</code>"
|
491
|
+
|
492
|
+
msgid "The order in which values are resolved"
|
493
|
+
msgstr "L'ordre en què es resolen els valors"
|
494
|
+
|
495
|
+
msgid "There are no Ansible roles to play"
|
496
|
+
msgstr ""
|
497
|
+
|
498
|
+
msgid "Timeout (in minutes) when hosts should have reported."
|
499
|
+
msgstr ""
|
500
|
+
|
501
|
+
msgid "Timeout (in seconds) to set when Foreman will trigger a play Ansible roles task after a host is fully provisioned. Set this to the maximum time you expect a host to take until it is ready after a reboot."
|
502
|
+
msgstr ""
|
503
|
+
|
504
|
+
msgid "Toggle"
|
505
|
+
msgstr ""
|
506
|
+
|
507
|
+
msgid "Type"
|
508
|
+
msgstr "Tipus"
|
509
|
+
|
510
|
+
msgid "Types of validation values"
|
511
|
+
msgstr "Tipus de valors de validació"
|
512
|
+
|
513
|
+
msgid "Types of variable values"
|
514
|
+
msgstr "Tipus de valors de la variable"
|
515
|
+
|
516
|
+
msgid "Unable to get roles from Ansible"
|
517
|
+
msgstr ""
|
518
|
+
|
519
|
+
msgid "Unable to get roles/variables from Ansible"
|
520
|
+
msgstr ""
|
521
|
+
|
522
|
+
msgid "Update"
|
523
|
+
msgstr "Actualitza"
|
524
|
+
|
525
|
+
msgid "Updates Ansible variable"
|
526
|
+
msgstr ""
|
527
|
+
|
528
|
+
msgid "Use this connection type by default when running Ansible playbooks. You can override this on hosts by adding a parameter \"ansible_connection\""
|
529
|
+
msgstr ""
|
530
|
+
|
531
|
+
msgid "Use this to supply a path to an SSH Private Key that Ansible will use in lieu of a password Override with \"ansible_ssh_private_key_file\" host parameter"
|
532
|
+
msgstr ""
|
533
|
+
|
534
|
+
msgid "Used to enforce certain values for the parameter values"
|
535
|
+
msgstr ""
|
536
|
+
|
537
|
+
msgid "Value to use when there is no match."
|
538
|
+
msgstr ""
|
539
|
+
|
540
|
+
msgid "Variables"
|
541
|
+
msgstr "Variables"
|
542
|
+
|
543
|
+
msgid "Variable|Name"
|
544
|
+
msgstr ""
|
545
|
+
|
546
|
+
msgid "Variable|Role"
|
547
|
+
msgstr ""
|
548
|
+
|
549
|
+
msgid "When enabled the parameter is hidden in the UI"
|
550
|
+
msgstr ""
|
551
|
+
|
552
|
+
msgid "Whether to override variable or not"
|
553
|
+
msgstr ""
|
554
|
+
|
555
|
+
msgid "WinRM cert Validation"
|
556
|
+
msgstr ""
|