foreman_discovery 17.0.1 → 18.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/discovered_hosts_controller.rb +10 -3
  3. data/app/models/discovery_fact_name.rb +9 -0
  4. data/app/models/host/discovered.rb +26 -9
  5. data/app/models/host/managed_extensions.rb +2 -2
  6. data/app/models/setting/discovered.rb +1 -0
  7. data/app/services/discovery_fact_importer.rb +5 -0
  8. data/app/services/foreman_discovery/host_converter.rb +3 -3
  9. data/app/views/discovered_hosts/welcome.html.erb +0 -1
  10. data/app/views/discovery_rules/welcome.html.erb +0 -1
  11. data/lib/foreman_discovery/engine.rb +3 -1
  12. data/lib/foreman_discovery/version.rb +1 -1
  13. data/locale/ca/LC_MESSAGES/foreman_discovery.mo +0 -0
  14. data/locale/ca/foreman_discovery.edit.po +44 -40
  15. data/locale/ca/foreman_discovery.po +13 -7
  16. data/locale/de/LC_MESSAGES/foreman_discovery.mo +0 -0
  17. data/locale/de/foreman_discovery.edit.po +42 -38
  18. data/locale/de/foreman_discovery.po +11 -5
  19. data/locale/en/LC_MESSAGES/foreman_discovery.mo +0 -0
  20. data/locale/en/foreman_discovery.edit.po +37 -29
  21. data/locale/en/foreman_discovery.po +7 -1
  22. data/locale/en_GB/LC_MESSAGES/foreman_discovery.mo +0 -0
  23. data/locale/en_GB/foreman_discovery.edit.po +39 -35
  24. data/locale/en_GB/foreman_discovery.po +8 -2
  25. data/locale/es/LC_MESSAGES/foreman_discovery.mo +0 -0
  26. data/locale/es/foreman_discovery.edit.po +42 -38
  27. data/locale/es/foreman_discovery.po +11 -5
  28. data/locale/foreman_discovery.pot +38 -30
  29. data/locale/fr/LC_MESSAGES/foreman_discovery.mo +0 -0
  30. data/locale/fr/foreman_discovery.edit.po +88 -84
  31. data/locale/fr/foreman_discovery.po +57 -51
  32. data/locale/gl/LC_MESSAGES/foreman_discovery.mo +0 -0
  33. data/locale/gl/foreman_discovery.edit.po +42 -38
  34. data/locale/gl/foreman_discovery.po +11 -5
  35. data/locale/it/LC_MESSAGES/foreman_discovery.mo +0 -0
  36. data/locale/it/foreman_discovery.edit.po +42 -38
  37. data/locale/it/foreman_discovery.po +11 -5
  38. data/locale/ja/LC_MESSAGES/foreman_discovery.mo +0 -0
  39. data/locale/ja/foreman_discovery.edit.po +74 -70
  40. data/locale/ja/foreman_discovery.po +43 -37
  41. data/locale/ko/LC_MESSAGES/foreman_discovery.mo +0 -0
  42. data/locale/ko/foreman_discovery.edit.po +42 -38
  43. data/locale/ko/foreman_discovery.po +11 -5
  44. data/locale/pt_BR/LC_MESSAGES/foreman_discovery.mo +0 -0
  45. data/locale/pt_BR/foreman_discovery.edit.po +42 -38
  46. data/locale/pt_BR/foreman_discovery.po +11 -5
  47. data/locale/ru/LC_MESSAGES/foreman_discovery.mo +0 -0
  48. data/locale/ru/foreman_discovery.edit.po +46 -42
  49. data/locale/ru/foreman_discovery.po +15 -9
  50. data/locale/sv_SE/LC_MESSAGES/foreman_discovery.mo +0 -0
  51. data/locale/sv_SE/foreman_discovery.edit.po +42 -38
  52. data/locale/sv_SE/foreman_discovery.po +11 -5
  53. data/locale/zh_CN/LC_MESSAGES/foreman_discovery.mo +0 -0
  54. data/locale/zh_CN/foreman_discovery.edit.po +90 -86
  55. data/locale/zh_CN/foreman_discovery.po +59 -53
  56. data/locale/zh_TW/LC_MESSAGES/foreman_discovery.mo +0 -0
  57. data/locale/zh_TW/foreman_discovery.edit.po +42 -38
  58. data/locale/zh_TW/foreman_discovery.po +11 -5
  59. data/package.json +1 -1
  60. data/test/functional/api/v2/fact_value_extensions_test.rb +1 -4
  61. data/test/functional/discovered_hosts_controller_test.rb +6 -5
  62. data/test/integration/discovered_hosts_test.rb +10 -4
  63. data/test/test_helper_discovery.rb +35 -27
  64. data/test/test_plugin_helper.rb +7 -0
  65. data/test/unit/discovered_extensions_test.rb +36 -16
  66. data/test/unit/discovery_attribute_set_test.rb +2 -8
  67. data/test/unit/fact_parser_test.rb +1 -4
  68. data/test/unit/managed_extensions_test.rb +1 -0
  69. metadata +12 -15
  70. data/test/functional/api/v2/settings_controller_test.rb +0 -22
  71. data/test/models/setting_test.rb +0 -11
  72. data/test/unit/setting_discovered_test.rb +0 -9
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c10e2168999d13dfeaaa1f57007249da014b4fab8ec7159e98b87aeb19c77cc9
4
- data.tar.gz: 84f8506b80d84fddfbf29e34a97d7cc1a007d2e7596528ed950c7f7963cc64a9
3
+ metadata.gz: 5e5ed6f9be99d08e38902acdbfff3e02aa7b086415cc6c8208a446ad8195fe18
4
+ data.tar.gz: cebfddeec98ce1ce01778dbe3c94fa1581132462a01e5ee04c2f78a6812a8c02
5
5
  SHA512:
6
- metadata.gz: f7a35666497e0c0a3545dcc689c546a0d8ae46f2abf2482a1ddb93658d24574c4f6defc11efb9da83db7fed28dc3317c0317a10286b8e09cbc4aa82526703d29
7
- data.tar.gz: 1eea37925391c28bb2ec93d4423f5d1178795fe390c71a6e94df9c481935188bb94059a42f6a60007cc7100b2ecc4581f9f764ddaa2bc6d82bf543523098c175
6
+ metadata.gz: 42a2c9cfe529fbf8e22c11ce4b7260ae6bd61d0005688b5b50199c6c7e2a432cbe8a99b1a4fd1f94757246892fa60426181382dd6de874bfe0d495d1e98b140c
7
+ data.tar.gz: 5a151a76f41f68258a90154209c81e2fa3a16dc6049191269d8b261dca51d9c5ed536ad7c18180079d9186c58a80ed145640541bbd2534f6c666a78aea407cc8
@@ -14,6 +14,9 @@ class DiscoveredHostsController < ::ApplicationController
14
14
  around_action :skip_bullet, :only => [:edit]
15
15
 
16
16
  helper :hosts
17
+ if defined?(ForemanPuppet)
18
+ helper ForemanPuppet::HostsAndHostgroupsHelper
19
+ end
17
20
 
18
21
  layout 'layouts/application'
19
22
 
@@ -200,14 +203,16 @@ class DiscoveredHostsController < ::ApplicationController
200
203
  subnet6 = @host.hostgroup.subnet6 || @host.subnet6
201
204
  @architecture = @host.hostgroup.architecture
202
205
  @operatingsystem = @host.hostgroup.operatingsystem
203
- @environment = @host.hostgroup.environment
206
+ if defined?(ForemanPuppet)
207
+ @environment = @host.hostgroup.environment
208
+ @host.environment = @environment
209
+ end
204
210
  @domain = @host.hostgroup.domain
205
211
  @subnet = subnet
206
212
  @subnet6 = subnet6
207
213
  @compute_profile = @host.hostgroup.compute_profile
208
214
  @realm = @host.hostgroup.realm
209
215
  @host.interfaces.first.assign_attributes(subnet: subnet, subnet6: subnet6, domain: @domain)
210
- @host.environment = @environment
211
216
  end
212
217
  end
213
218
 
@@ -217,7 +222,9 @@ class DiscoveredHostsController < ::ApplicationController
217
222
 
218
223
  def load_vars_for_ajax
219
224
  return unless @host
220
- @environment = @host.environment
225
+ if defined?(ForemanPuppet)
226
+ @environment = @host.environment
227
+ end
221
228
  @architecture = @host.architecture
222
229
  @domain = @host.domain
223
230
  @operatingsystem = @host.operatingsystem
@@ -0,0 +1,9 @@
1
+ class DiscoveryFactName < FactName
2
+ def origin
3
+ 'Discovery'
4
+ end
5
+
6
+ def icon_path
7
+ "icons16x16/stub/darkred-d"
8
+ end
9
+ end
@@ -133,26 +133,39 @@ class Host::Discovered < ::Host::Base
133
133
  subnet.present? && subnet.discovery.present?
134
134
  end
135
135
 
136
+ def ip4or6
137
+ if Setting[:discovery_prefer_ipv6]
138
+ IPAddr.new(self.ip6 || self.ip)
139
+ else
140
+ IPAddr.new(self.ip || self.ip6)
141
+ end
142
+ end
143
+
136
144
  def proxy_url(node_ip)
137
- proxied? ? subnet.discovery.url + "/discovery/#{node_ip}" : "https://#{node_ip}:8443"
145
+ wrapped_ip = node_ip.ipv6? ? "[#{node_ip}]" : node_ip
146
+ proxied? ? subnet.discovery.url + "/discovery/#{node_ip}" : "https://#{wrapped_ip}:8443"
138
147
  end
139
148
 
140
149
  def refresh_facts
141
- facts = ::ForemanDiscovery::NodeAPI::Inventory.new(:url => proxy_url(self.ip)).facter
150
+ facts = ::ForemanDiscovery::NodeAPI::Inventory.new(:url => proxy_url(ip4or6)).facter
142
151
  self.class.import_host facts
143
152
  ::ForemanDiscovery::HostFactImporter.new(self).import_facts facts
144
153
  rescue => e
145
154
  ::Foreman::Logging.exception("Unable to get facts from proxy", e)
146
- raise ::Foreman::WrappedException.new(e, N_("Could not get facts from proxy %{url}: %{error}"), :url => proxy_url(self.ip), :error => e)
155
+ raise ::Foreman::WrappedException.new(e, N_("Could not get facts from proxy %{url}: %{error}"), :url => proxy_url(ip4or6), :error => e)
147
156
  end
148
157
 
149
- def reboot(old_ip = nil, new_ip = nil)
158
+ def reboot(old_ip = nil, new_ip = nil, old_ip6 = nil, new_ip6 = nil)
150
159
  # perform the action against the original lease as well as the new reservation
151
- ips = [old_ip, new_ip, self.ip].compact.uniq
160
+ if Setting[:discovery_prefer_ipv6]
161
+ ips = [old_ip6, new_ip6, self.ip6, old_ip, new_ip, self.ip].compact.uniq
162
+ else
163
+ ips = [old_ip, new_ip, self.ip, old_ip6, new_ip6, self.ip6].compact.uniq
164
+ end
152
165
  logger.debug "Performing reboot calls against #{ips.to_sentence}, facts left #{facts.count}"
153
166
  ips.each do |next_ip|
154
167
  begin
155
- node_url = proxy_url(next_ip)
168
+ node_url = proxy_url(IPAddr.new(next_ip))
156
169
  logger.debug "Performing reboot call against #{node_url}"
157
170
  resource = ::ForemanDiscovery::NodeAPI::Power.service(:url => node_url)
158
171
  return true if resource.reboot
@@ -165,13 +178,17 @@ class Host::Discovered < ::Host::Base
165
178
  raise ::Foreman::Exception.new(msg, action: "reboot", ips: ips.to_sentence)
166
179
  end
167
180
 
168
- def kexec(json, old_ip = nil, new_ip = nil)
181
+ def kexec(json, old_ip = nil, new_ip = nil, old_ip6 = nil, new_ip6 = nil)
169
182
  # perform the action against the original lease as well as the new reservation
170
- ips = [old_ip, new_ip, self.ip].compact.uniq
183
+ if Setting[:discovery_prefer_ipv6]
184
+ ips = [old_ip6, new_ip6, self.ip6, old_ip, new_ip, self.ip].compact.uniq
185
+ else
186
+ ips = [old_ip, new_ip, self.ip, old_ip6, new_ip6, self.ip6].compact.uniq
187
+ end
171
188
  logger.debug "Performing kexec calls against #{ips.to_sentence}, #{facts.count} facts left"
172
189
  ips.each do |next_ip|
173
190
  begin
174
- node_url = proxy_url(next_ip)
191
+ node_url = proxy_url(IPAddr.new(next_ip))
175
192
  logger.debug "Performing kexec call against #{node_url}"
176
193
  resource = ::ForemanDiscovery::NodeAPI::Power.service(:url => node_url)
177
194
  return true if resource.kexec(json)
@@ -27,7 +27,7 @@ module Host::ManagedExtensions
27
27
  end
28
28
 
29
29
  def setReboot
30
- old.becomes(Host::Discovered).reboot(old.ip, ip)
30
+ old.becomes(Host::Discovered).reboot(old.ip, ip, old.ip6, ip6)
31
31
  # It is too late to report error in the post_queue, we catch them and
32
32
  # continue. If flash is implemented for new hosts (http://projects.theforeman.org/issues/10559)
33
33
  # we can report the error to the user perhaps.
@@ -55,7 +55,7 @@ module Host::ManagedExtensions
55
55
  end
56
56
 
57
57
  def setKexec
58
- old.becomes(Host::Discovered).kexec(render_kexec_template.to_json, old.ip, ip)
58
+ old.becomes(Host::Discovered).kexec(render_kexec_template.to_json, old.ip, ip, old.ip6, ip6)
59
59
  true
60
60
  rescue ::Foreman::Exception => e
61
61
  Foreman::Logging.exception("Unable to kexec", e)
@@ -37,6 +37,7 @@ class Setting::Discovered < ::Setting
37
37
  self.set('discovery_always_rebuild_dns', N_("Force DNS entries creation when provisioning discovered host"), true, N_("Force DNS")),
38
38
  self.set('discovery_error_on_existing', N_("Do not allow to discover existing managed host matching MAC of a provisioning NIC (errors out early)"), false, N_("Error on existing NIC")),
39
39
  self.set('discovery_naming', N_("Discovery hostname naming pattern"), 'Fact', N_("Type of name generator"), nil, {:collection => Proc.new {::Host::Discovered::NAMING_PATTERNS} }),
40
+ self.set('discovery_prefer_ipv6', N_("Prefer IPv6 to IPv4 when calling discovered nodes"), false, N_("Prefer IPv6")),
40
41
  ]
41
42
  end
42
43
 
@@ -0,0 +1,5 @@
1
+ class DiscoveryFactImporter < StructuredFactImporter
2
+ def fact_name_class
3
+ DiscoveryFactName
4
+ end
5
+ end
@@ -21,10 +21,10 @@ class ForemanDiscovery::HostConverter
21
21
  def self.set_build_clean_facts(host)
22
22
  # fact cleaning
23
23
  if Setting['discovery_clean_facts']
24
- # clean all facts except those starting with "discovery_"
24
+ # clean all facts except those from Discovery
25
25
  host.define_singleton_method(:clear_facts) do
26
- keep_ids = FactValue.where("host_id = #{host.id}").joins(:fact_name).where("fact_names.name like 'discovery_%'").pluck("fact_values.id")
27
- FactValue.where("host_id = #{host.id} and id not in (?)", keep_ids).delete_all
26
+ keep_ids = FactValue.where(host_id: host.id, fact_names: { type: 'DiscoveryFactName' }).where("fact_names.name like 'discovery_%'").joins(:fact_name).pluck("fact_values.id")
27
+ FactValue.where.not(id: keep_ids).delete_all
28
28
  end
29
29
  else
30
30
  # clean no facts (default behavior)
@@ -8,7 +8,6 @@
8
8
  <% content_for(:title, _("Discovered Hosts")) %>
9
9
 
10
10
  <% content_for(:content) do %>
11
- <%= notifications %>
12
11
  <div id="organization-id" data-id="<%= Organization.current.id if Organization.current %>" ></div>
13
12
  <div id="user-id" data-id="<%= User.current.id if User.current %>" ></div>
14
13
  <%= react_component('DiscoveredHosts', docUrl: discovery_doc_url ) %>
@@ -8,7 +8,6 @@
8
8
  <% content_for(:title, _("Discovered Rules")) %>
9
9
 
10
10
  <% content_for(:content) do %>
11
- <%= notifications %>
12
11
  <div id="organization-id" data-id="<%= Organization.current.id if Organization.current %>" ></div>
13
12
  <div id="user-id" data-id="<%= User.current.id if User.current %>" ></div>
14
13
  <%= react_component('DiscoveryRules', docUrl: discovery_doc_url + '/#4.3Automaticprovisioning' ) %>
@@ -43,7 +43,7 @@ module ForemanDiscovery
43
43
 
44
44
  initializer 'foreman_discovery.register_plugin', :before => :finisher_hook do |app|
45
45
  Foreman::Plugin.register :foreman_discovery do
46
- requires_foreman '>= 2.4'
46
+ requires_foreman '>= 3.0'
47
47
 
48
48
  # discovered hosts permissions
49
49
  security_block :discovery do
@@ -212,6 +212,8 @@ module ForemanDiscovery
212
212
  # Controller extensions
213
213
  ::HostsController.send :include, ForemanDiscovery::Concerns::HostsControllerExtensions
214
214
  ::Api::V2::FactValuesController.send :include, Api::V2::FactValuesControllerExtensions
215
+
216
+ Foreman::Plugin.fact_importer_registry.register(:foreman_discovery, DiscoveryFactImporter)
215
217
  end
216
218
 
217
219
  rake_tasks do
@@ -1,3 +1,3 @@
1
1
  module ForemanDiscovery
2
- VERSION = "17.0.1"
2
+ VERSION = "18.0.0"
3
3
  end
@@ -3,15 +3,15 @@
3
3
  # This file is distributed under the same license as the foreman_discovery package.
4
4
  #
5
5
  # Translators:
6
- # Robert Antoni Buj Gelonch <rbuj@fedoraproject.org>, 2017
7
- # Robert Antoni Buj Gelonch <rbuj@fedoraproject.org>, 2015-2016
6
+ # Robert Antoni Buj i Gelonch <rbuj@fedoraproject.org>, 2017
7
+ # Robert Antoni Buj i Gelonch <rbuj@fedoraproject.org>, 2015-2016
8
8
  msgid ""
9
9
  msgstr ""
10
- "Project-Id-Version: foreman_discovery 16.3.4\n"
10
+ "Project-Id-Version: foreman_discovery 17.1.0\n"
11
11
  "Report-Msgid-Bugs-To: \n"
12
- "POT-Creation-Date: 2021-05-03 08:46+0200\n"
13
- "PO-Revision-Date: 2021-01-25 08:35+0000\n"
14
- "Last-Translator: Transifex Bot <>\n"
12
+ "POT-Creation-Date: 2021-09-20 17:25+0200\n"
13
+ "PO-Revision-Date: 2021-05-03 08:29+0000\n"
14
+ "Last-Translator: Robert Antoni Buj i Gelonch <rbuj@fedoraproject.org>\n"
15
15
  "Language-Team: Catalan (http://www.transifex.com/foreman/foreman/language/ca/)"
16
16
  "\n"
17
17
  "MIME-Version: 1.0\n"
@@ -120,7 +120,7 @@ msgstr ""
120
120
  msgid "Execute rules against a discovered host"
121
121
  msgstr ""
122
122
 
123
- #: ../app/controllers/api/v2/discovered_hosts_controller.rb:136 ../app/controllers/discovered_hosts_controller.rb:157
123
+ #: ../app/controllers/api/v2/discovered_hosts_controller.rb:136 ../app/controllers/discovered_hosts_controller.rb:160
124
124
  msgid "Host %{host} was provisioned with rule %{rule}"
125
125
  msgstr "L'amfitrió %{host} va ser aprovisionat amb la regla %{rule}"
126
126
 
@@ -128,7 +128,7 @@ msgstr "L'amfitrió %{host} va ser aprovisionat amb la regla %{rule}"
128
128
  msgid "Unable to provision %{host}: %{errors}"
129
129
  msgstr "No es pot aprovisionar a %{host}: %{errors}"
130
130
 
131
- #: ../app/controllers/api/v2/discovered_hosts_controller.rb:145 ../app/controllers/discovered_hosts_controller.rb:164
131
+ #: ../app/controllers/api/v2/discovered_hosts_controller.rb:145 ../app/controllers/discovered_hosts_controller.rb:167
132
132
  msgid "No rule found for host %s"
133
133
  msgstr "No s'ha trobat cap regla per a l'amfitrió %s"
134
134
 
@@ -136,11 +136,11 @@ msgstr "No s'ha trobat cap regla per a l'amfitrió %s"
136
136
  msgid "Execute rules against all currently discovered hosts"
137
137
  msgstr "Executa les regles contra tots els amfitrions detectats actualment"
138
138
 
139
- #: ../app/controllers/api/v2/discovered_hosts_controller.rb:156 ../app/controllers/discovered_hosts_controller.rb:170
139
+ #: ../app/controllers/api/v2/discovered_hosts_controller.rb:156 ../app/controllers/discovered_hosts_controller.rb:173
140
140
  msgid "Errors during auto provisioning: %s"
141
141
  msgstr "Erros durant l'auto aprovisionament: %s"
142
142
 
143
- #: ../app/controllers/api/v2/discovered_hosts_controller.rb:159 ../app/controllers/discovered_hosts_controller.rb:173
143
+ #: ../app/controllers/api/v2/discovered_hosts_controller.rb:159 ../app/controllers/discovered_hosts_controller.rb:176
144
144
  msgid "No discovered hosts to provision"
145
145
  msgstr "Sense amfitrions descoberts per aprovisionar"
146
146
 
@@ -160,7 +160,7 @@ msgstr "S'està reiniciant un amfitrió descobert"
160
160
  msgid "Rebooting all discovered hosts"
161
161
  msgstr "S'estan reiniciant tots els amfitrions descoberts"
162
162
 
163
- #: ../app/controllers/api/v2/discovered_hosts_controller.rb:221 ../app/controllers/discovered_hosts_controller.rb:126
163
+ #: ../app/controllers/api/v2/discovered_hosts_controller.rb:221 ../app/controllers/discovered_hosts_controller.rb:129
164
164
  msgid "Discovered hosts are rebooting now"
165
165
  msgstr "Ara s'estan reiniciant els amfitrions descoberts"
166
166
 
@@ -240,75 +240,75 @@ msgstr "Errors durant el reinici: %s"
240
240
  msgid "No discovered hosts to reboot"
241
241
  msgstr ""
242
242
 
243
- #: ../app/controllers/discovered_hosts_controller.rb:60
243
+ #: ../app/controllers/discovered_hosts_controller.rb:63
244
244
  msgid "Successfully provisioned %s"
245
245
  msgstr ""
246
246
 
247
- #: ../app/controllers/discovered_hosts_controller.rb:94
247
+ #: ../app/controllers/discovered_hosts_controller.rb:97
248
248
  msgid "Facts refreshed for %s"
249
249
  msgstr "Els objectes d'interès que s'han refrescat per a %s"
250
250
 
251
- #: ../app/controllers/discovered_hosts_controller.rb:96
251
+ #: ../app/controllers/discovered_hosts_controller.rb:99
252
252
  msgid "Failed to refresh facts for %s"
253
253
  msgstr "No s'ha pogut refrescar els objectes d'interès per a %s"
254
254
 
255
- #: ../app/controllers/discovered_hosts_controller.rb:99
255
+ #: ../app/controllers/discovered_hosts_controller.rb:102
256
256
  msgid "Failed to refresh facts for %{hostname} with error %{error_message}"
257
257
  msgstr ""
258
258
 
259
- #: ../app/controllers/discovered_hosts_controller.rb:106
259
+ #: ../app/controllers/discovered_hosts_controller.rb:109
260
260
  msgid "Host of type %s can not be rebooted"
261
261
  msgstr ""
262
262
 
263
- #: ../app/controllers/discovered_hosts_controller.rb:110
263
+ #: ../app/controllers/discovered_hosts_controller.rb:113
264
264
  msgid "Rebooting host %s"
265
265
  msgstr "S'està reiniciant l'amfitrió %s"
266
266
 
267
- #: ../app/controllers/discovered_hosts_controller.rb:112
267
+ #: ../app/controllers/discovered_hosts_controller.rb:115
268
268
  msgid "Failed to reboot host %s"
269
269
  msgstr "No s'ha pogut reiniciar l'amfitrió %s."
270
270
 
271
- #: ../app/controllers/discovered_hosts_controller.rb:115
271
+ #: ../app/controllers/discovered_hosts_controller.rb:118
272
272
  msgid "Failed to reboot host %{hostname} with error %{error_message}"
273
273
  msgstr ""
274
274
 
275
- #: ../app/controllers/discovered_hosts_controller.rb:129
275
+ #: ../app/controllers/discovered_hosts_controller.rb:132
276
276
  msgid "Failed to reboot hosts with error %s"
277
277
  msgstr ""
278
278
 
279
- #: ../app/controllers/discovered_hosts_controller.rb:147
279
+ #: ../app/controllers/discovered_hosts_controller.rb:150
280
280
  msgid "Destroyed selected hosts"
281
281
  msgstr "S'han destruït els amfitrions seleccionats"
282
282
 
283
- #: ../app/controllers/discovered_hosts_controller.rb:149
283
+ #: ../app/controllers/discovered_hosts_controller.rb:152
284
284
  msgid "The following hosts were not deleted: %s"
285
285
  msgstr ""
286
286
 
287
- #: ../app/controllers/discovered_hosts_controller.rb:161
287
+ #: ../app/controllers/discovered_hosts_controller.rb:164
288
288
  msgid "Failed to auto provision host %s: %s"
289
289
  msgstr "No s'ha pogut auto aprovisionar l'amfitrió %s: %s"
290
290
 
291
- #: ../app/controllers/discovered_hosts_controller.rb:189
291
+ #: ../app/controllers/discovered_hosts_controller.rb:192
292
292
  msgid "Discovered hosts are provisioning now"
293
293
  msgstr "Els amfitrions descoberts ara tenen aprovisionament"
294
294
 
295
- #: ../app/controllers/discovered_hosts_controller.rb:270
295
+ #: ../app/controllers/discovered_hosts_controller.rb:277
296
296
  msgid "Discovered host reported from unknown subnet, communication will not be proxied."
297
297
  msgstr ""
298
298
 
299
- #: ../app/controllers/discovered_hosts_controller.rb:275
299
+ #: ../app/controllers/discovered_hosts_controller.rb:282
300
300
  msgid "Discovered hosts reported from unknown subnet are %s, communication will not be proxied."
301
301
  msgstr ""
302
302
 
303
- #: ../app/controllers/discovered_hosts_controller.rb:289
303
+ #: ../app/controllers/discovered_hosts_controller.rb:296
304
304
  msgid "No hosts were found with that id or name"
305
305
  msgstr "No s'ha trobat cap amfitrió amb aquest ID o nom"
306
306
 
307
- #: ../app/controllers/discovered_hosts_controller.rb:293
307
+ #: ../app/controllers/discovered_hosts_controller.rb:300
308
308
  msgid "No hosts selected"
309
309
  msgstr "Cap amfitrió seleccionat"
310
310
 
311
- #: ../app/controllers/discovered_hosts_controller.rb:299
311
+ #: ../app/controllers/discovered_hosts_controller.rb:306
312
312
  msgid "Something went wrong while selecting hosts - %s"
313
313
  msgstr "Alguna cosa va anar malament mentre se seleccionaven els amfitrions - %s"
314
314
 
@@ -406,7 +406,7 @@ msgstr ""
406
406
 
407
407
  #: ../app/helpers/discovery_rules_helper.rb:33
408
408
  msgid "Clone"
409
- msgstr ""
409
+ msgstr "Clona"
410
410
 
411
411
  #: ../app/helpers/discovery_rules_helper.rb:34
412
412
  msgid "Delete rule '%s'?"
@@ -472,23 +472,23 @@ msgstr ""
472
472
  msgid "Facts could not be imported"
473
473
  msgstr ""
474
474
 
475
- #: ../app/models/host/discovered.rb:146
475
+ #: ../app/models/host/discovered.rb:155
476
476
  msgid "Could not get facts from proxy %{url}: %{error}"
477
477
  msgstr "No s'han pogut obtenir els objectes d'interès del servidor intermediari %{url}: %{error}"
478
478
 
479
- #: ../app/models/host/discovered.rb:160
479
+ #: ../app/models/host/discovered.rb:173
480
480
  msgid "Unable to perform reboot on %{name} (%{url}): %{msg}"
481
481
  msgstr ""
482
482
 
483
- #: ../app/models/host/discovered.rb:164 ../app/models/host/discovered.rb:183
483
+ #: ../app/models/host/discovered.rb:177 ../app/models/host/discovered.rb:200
484
484
  msgid "Unable to perform %{action} on %{ips}"
485
485
  msgstr ""
486
486
 
487
- #: ../app/models/host/discovered.rb:179
487
+ #: ../app/models/host/discovered.rb:196
488
488
  msgid "Unable to perform kexec on %{name} (%{url}): %{msg}"
489
489
  msgstr ""
490
490
 
491
- #: ../app/models/host/discovered.rb:203
491
+ #: ../app/models/host/discovered.rb:220
492
492
  msgid "Invalid hostname: Could not normalize the hostname"
493
493
  msgstr ""
494
494
 
@@ -696,6 +696,14 @@ msgstr ""
696
696
  msgid "Type of name generator"
697
697
  msgstr ""
698
698
 
699
+ #: ../app/models/setting/discovered.rb:40
700
+ msgid "Prefer IPv6 to IPv4 when calling discovered nodes"
701
+ msgstr ""
702
+
703
+ #: ../app/models/setting/discovered.rb:40
704
+ msgid "Prefer IPv6"
705
+ msgstr ""
706
+
699
707
  #: ../app/services/foreman_discovery/fact_parser.rb:4
700
708
  msgid "Discovery fact parser does not work with non-discovery host '%{host}'"
701
709
  msgstr ""
@@ -976,7 +984,7 @@ msgstr ""
976
984
 
977
985
  #: ../app/views/discovery_rules/clone.erb:1
978
986
  msgid "Clone %s"
979
- msgstr ""
987
+ msgstr "Clona %s"
980
988
 
981
989
  #: ../app/views/discovery_rules/edit.html.erb:1
982
990
  msgid "Edit %s"
@@ -1089,7 +1097,3 @@ msgstr ""
1089
1097
  #: action_names.rb:5
1090
1098
  msgid "Action with sub plans"
1091
1099
  msgstr ""
1092
-
1093
- #: ../app/helpers/discovered_hosts_helper.rb:10
1094
- #~ msgid "%s ago"
1095
- #~ msgstr "fa %s"
@@ -3,14 +3,14 @@
3
3
  # This file is distributed under the same license as the foreman_discovery package.
4
4
  #
5
5
  # Translators:
6
- # Robert Antoni Buj Gelonch <rbuj@fedoraproject.org>, 2017
7
- # Robert Antoni Buj Gelonch <rbuj@fedoraproject.org>, 2015-2016
6
+ # Robert Antoni Buj i Gelonch <rbuj@fedoraproject.org>, 2017
7
+ # Robert Antoni Buj i Gelonch <rbuj@fedoraproject.org>, 2015-2016
8
8
  msgid ""
9
9
  msgstr ""
10
- "Project-Id-Version: foreman_discovery 16.3.4\n"
10
+ "Project-Id-Version: foreman_discovery 17.1.0\n"
11
11
  "Report-Msgid-Bugs-To: \n"
12
- "PO-Revision-Date: 2021-01-25 08:35+0000\n"
13
- "Last-Translator: Transifex Bot <>\n"
12
+ "PO-Revision-Date: 2021-05-03 08:29+0000\n"
13
+ "Last-Translator: Robert Antoni Buj i Gelonch <rbuj@fedoraproject.org>\n"
14
14
  "Language-Team: Catalan (http://www.transifex.com/foreman/foreman/language/ca/)"
15
15
  "\n"
16
16
  "MIME-Version: 1.0\n"
@@ -80,10 +80,10 @@ msgid "Clean all reported facts during provisioning (except discovery facts)"
80
80
  msgstr ""
81
81
 
82
82
  msgid "Clone"
83
- msgstr ""
83
+ msgstr "Clona"
84
84
 
85
85
  msgid "Clone %s"
86
- msgstr ""
86
+ msgstr "Clona %s"
87
87
 
88
88
  msgid "Collapse All"
89
89
  msgstr ""
@@ -565,6 +565,12 @@ msgstr "Valor del paràmetre"
565
565
  msgid "Please Confirm"
566
566
  msgstr "Si us plau, confirmeu"
567
567
 
568
+ msgid "Prefer IPv6"
569
+ msgstr ""
570
+
571
+ msgid "Prefer IPv6 to IPv4 when calling discovered nodes"
572
+ msgstr ""
573
+
568
574
  msgid "Primary"
569
575
  msgstr "Primària"
570
576