foreman_ansible 5.0.1 → 5.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. checksums.yaml +4 -4
  2. data/app/models/foreman_ansible/ansible_provider.rb +8 -0
  3. data/app/models/setting/ansible.rb +1 -1
  4. data/app/services/foreman_ansible/operating_system_parser.rb +1 -1
  5. data/app/services/foreman_ansible/variables_importer.rb +8 -9
  6. data/app/views/foreman_ansible/job_templates/capsule_upgrade_-_ansible_default.erb +71 -0
  7. data/app/views/foreman_ansible/job_templates/{connect_red_hat_receptor_controller_-_ansible_default.erb → configure_cloud_connector_-_ansible_default.erb} +5 -2
  8. data/db/migrate/20200421201839_update_ansible_inv_template_name.rb +9 -0
  9. data/db/seeds.d/75_job_templates.rb +1 -1
  10. data/lib/foreman_ansible/engine.rb +22 -25
  11. data/lib/foreman_ansible/remote_execution.rb +11 -0
  12. data/lib/foreman_ansible/version.rb +1 -1
  13. data/locale/action_names.rb +3 -3
  14. data/locale/ca/LC_MESSAGES/foreman_ansible.mo +0 -0
  15. data/locale/ca/foreman_ansible.po +556 -0
  16. data/locale/cs_CZ/LC_MESSAGES/foreman_ansible.mo +0 -0
  17. data/locale/cs_CZ/foreman_ansible.po +556 -0
  18. data/locale/de/LC_MESSAGES/foreman_ansible.mo +0 -0
  19. data/locale/de/foreman_ansible.po +38 -33
  20. data/locale/en/LC_MESSAGES/foreman_ansible.mo +0 -0
  21. data/locale/en/foreman_ansible.po +38 -33
  22. data/locale/en_GB/LC_MESSAGES/foreman_ansible.mo +0 -0
  23. data/locale/en_GB/foreman_ansible.po +555 -0
  24. data/locale/es/LC_MESSAGES/foreman_ansible.mo +0 -0
  25. data/locale/es/foreman_ansible.po +38 -33
  26. data/locale/foreman_ansible.pot +96 -88
  27. data/locale/fr/LC_MESSAGES/foreman_ansible.mo +0 -0
  28. data/locale/fr/foreman_ansible.po +38 -33
  29. data/locale/gl/LC_MESSAGES/foreman_ansible.mo +0 -0
  30. data/locale/gl/foreman_ansible.po +553 -0
  31. data/locale/it/LC_MESSAGES/foreman_ansible.mo +0 -0
  32. data/locale/it/foreman_ansible.po +38 -33
  33. data/locale/ja/LC_MESSAGES/foreman_ansible.mo +0 -0
  34. data/locale/ja/foreman_ansible.po +38 -33
  35. data/locale/ko/LC_MESSAGES/foreman_ansible.mo +0 -0
  36. data/locale/ko/foreman_ansible.po +38 -33
  37. data/locale/nl_NL/LC_MESSAGES/foreman_ansible.mo +0 -0
  38. data/locale/nl_NL/foreman_ansible.po +559 -0
  39. data/locale/pl/LC_MESSAGES/foreman_ansible.mo +0 -0
  40. data/locale/pl/foreman_ansible.po +556 -0
  41. data/locale/pt_BR/LC_MESSAGES/foreman_ansible.mo +0 -0
  42. data/locale/pt_BR/foreman_ansible.po +38 -33
  43. data/locale/ru/LC_MESSAGES/foreman_ansible.mo +0 -0
  44. data/locale/ru/foreman_ansible.po +38 -33
  45. data/locale/sv_SE/LC_MESSAGES/foreman_ansible.mo +0 -0
  46. data/locale/sv_SE/foreman_ansible.po +556 -0
  47. data/locale/zh_CN/LC_MESSAGES/foreman_ansible.mo +0 -0
  48. data/locale/zh_CN/foreman_ansible.po +38 -33
  49. data/locale/zh_TW/LC_MESSAGES/foreman_ansible.mo +0 -0
  50. data/locale/zh_TW/foreman_ansible.po +38 -33
  51. data/test/factories/ansible_variables.rb +5 -0
  52. data/test/unit/services/ansible_variables_importer_test.rb +68 -43
  53. metadata +55 -61
  54. data/locale/de/foreman_ansible.edit.po +0 -825
  55. data/locale/de/foreman_ansible.po.time_stamp +0 -0
  56. data/locale/en/foreman_ansible.edit.po +0 -714
  57. data/locale/en/foreman_ansible.po.time_stamp +0 -0
  58. data/locale/es/foreman_ansible.edit.po +0 -845
  59. data/locale/es/foreman_ansible.po.time_stamp +0 -0
  60. data/locale/fr/foreman_ansible.edit.po +0 -847
  61. data/locale/fr/foreman_ansible.po.time_stamp +0 -0
  62. data/locale/it/foreman_ansible.edit.po +0 -818
  63. data/locale/it/foreman_ansible.po.time_stamp +0 -0
  64. data/locale/ja/foreman_ansible.edit.po +0 -818
  65. data/locale/ja/foreman_ansible.po.time_stamp +0 -0
  66. data/locale/ko/foreman_ansible.edit.po +0 -804
  67. data/locale/ko/foreman_ansible.po.time_stamp +0 -0
  68. data/locale/pt_BR/foreman_ansible.edit.po +0 -845
  69. data/locale/pt_BR/foreman_ansible.po.time_stamp +0 -0
  70. data/locale/ru/foreman_ansible.edit.po +0 -819
  71. data/locale/ru/foreman_ansible.po.time_stamp +0 -0
  72. data/locale/zh_CN/foreman_ansible.edit.po +0 -813
  73. data/locale/zh_CN/foreman_ansible.po.time_stamp +0 -0
  74. data/locale/zh_TW/foreman_ansible.edit.po +0 -804
  75. 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: a373c417d10ac003b1ef65a607ecbef52965a0342c71b93b5cb5280556375ca4
4
- data.tar.gz: ccf7c205d0c30ec2fe8125d527045a94617f44d625cb5be41d64cb836c8cb5f3
3
+ metadata.gz: f38e865029b1349a0f9a61bf6cc5a57fc5421d4ea41ef57ed9d45d0d04fe4fd9
4
+ data.tar.gz: a63c7fc0d6e359ecd27283c9815c78ec3f6ff05e774e33c5bcaff5fdfde48ae7
5
5
  SHA512:
6
- metadata.gz: '09fdb9dd6193c49a4934242867611b3ae2b72abca9c5cd24053d19d64ee8ff6785f44b672171e239660366e595211008461f5da7e9cf0859a20d7ab7a85eff3c'
7
- data.tar.gz: 57fc874d5005e7949f2d264a506f0217a962b3b374eba0ecb6228fe8e041db277b114fda4f262b2bbfd43637eb66ef89d711de11b4fb6886bdb9a60e70dd12ac
6
+ metadata.gz: 94ca7682492e8648fd8b23f55cbe2fe1e13da17ff8853d1b196fd778282bf46f9a93f335175490c40be2a20198fdd3a3f6f3abccbb62b615fa9c5464279b0fd9
7
+ data.tar.gz: 9d976f8e4dccd761d9e4568e98a337704321658613aa01dd6d94335db668885c1c8d1c456aa53e56dd88865e2714d90185fc094647e63c28c5d84bac07410a9a
@@ -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)
@@ -78,7 +78,7 @@ class Setting
78
78
  'ansible_inventory_template',
79
79
  N_('Foreman will use this template to schedule the report '\
80
80
  'with Ansible inventory'),
81
- 'Ansible Inventory',
81
+ 'Ansible - Ansible Inventory',
82
82
  N_('Default Ansible inventory report template')
83
83
  )
84
84
  ]
@@ -62,7 +62,7 @@ module ForemanAnsible
62
62
  end
63
63
 
64
64
  def os_minor
65
- _, minor = (os_release&.split('.', 2)) ||
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
- if variable.new_record?
54
- variable.assign_attributes(:default_value => variable_default,
55
- :key_type => infer_key_type(variable_default),
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 { |role| role.id.present? }
66
- changes[:update], _old = persisted.partition(&:changed?)
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
@@ -0,0 +1,71 @@
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
+ - name: Upgrade Capsule server using satellite-maintain
45
+ shell: satellite-maintain upgrade run --assumeyes --target-version=<%= input('target_version') %> --whitelist="<%= input('whitelist_options') %>"
46
+ register: result
47
+
48
+ - name: Re-Gather the rpm package facts after the upgrade
49
+ package_facts:
50
+ manager: auto
51
+
52
+ - name: satellite-maintain upgrade return code is zero
53
+ debug:
54
+ msg: "Success! Capsule server upgrade completed. Current version of Capsule server server is {{ ansible_facts.packages['satellite-capsule'][0]['version'] }}."
55
+
56
+ rescue:
57
+ - name: Print satellite-maintain output
58
+ debug:
59
+ var: result
60
+
61
+ - name: Grep top 10 Error messages from /var/log/foreman-installer/capsule.log
62
+ shell: grep '^\[ERROR' /var/log/foreman-installer/capsule.log | head -n10
63
+ register: output_grep
64
+
65
+ - name: Print grepped Error messages
66
+ debug:
67
+ var: output_grep.stdout_lines
68
+
69
+ - name: satellite-maintain upgrade return code is non-zero
70
+ fail:
71
+ msg: "Failed! Capsule server upgrade failed. See /var/log/foreman-installer/capsule.log in the Capsule server for more information"
@@ -1,5 +1,5 @@
1
1
  <%#
2
- name: Connect Red Hat receptor controller
2
+ name: Configure Cloud Connector
3
3
  snippet: false
4
4
  template_inputs:
5
5
  - name: satellite_user
@@ -7,13 +7,16 @@ template_inputs:
7
7
  input_type: user
8
8
  advanced: false
9
9
  value_type: plain
10
+ hidden_value: false
10
11
  - name: satellite_password
11
12
  required: true
12
13
  input_type: user
13
14
  advanced: false
14
15
  value_type: plain
16
+ hidden_value: true
15
17
  model: JobTemplate
16
18
  job_category: Ansible Playbook
19
+ description_format: "%{template_name}"
17
20
  provider_type: Ansible
18
21
  kind: job_template
19
22
  %>
@@ -23,4 +26,4 @@ kind: job_template
23
26
  vars:
24
27
  satellite_url: "<%= foreman_server_url %>"
25
28
  roles:
26
- - satellite-receptor
29
+ - project-receptor.satellite_receptor_installer
@@ -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
- :locked => true,
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
- begin
75
- foreman_version = ::Foreman::Version.new
76
- if Rails.env.test? ||
77
- foreman_version.major.to_i == 1 && foreman_version.minor.to_i < 13
78
- ::FactImporter.register_fact_importer(:ansible,
79
- ForemanAnsible::FactImporter)
80
- else
81
- ::FactImporter.register_fact_importer(
82
- :ansible,
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
@@ -4,5 +4,5 @@
4
4
  # This way other parts of Foreman can just call ForemanAnsible::VERSION
5
5
  # and detect what version the plugin is running.
6
6
  module ForemanAnsible
7
- VERSION = '5.0.1'
7
+ VERSION = '5.1.0'
8
8
  end
@@ -1,5 +1,5 @@
1
1
  # Autogenerated!
2
- _("Remote action:")
3
- _("Import Puppet classes")
2
+ _("Action with sub plans")
4
3
  _("Import facts")
5
- _("Action with sub plans")
4
+ _("Import Puppet classes")
5
+ _("Remote action:")
@@ -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 ""