foreman_discovery 16.1.0 → 16.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/discovered_hosts_controller.rb +5 -3
  3. data/app/models/host/discovered.rb +22 -26
  4. data/app/models/host/managed_extensions.rb +2 -2
  5. data/app/models/setting/discovered.rb +3 -1
  6. data/app/services/foreman_discovery/host_converter.rb +14 -6
  7. data/app/services/foreman_discovery/host_fact_importer.rb +10 -0
  8. data/app/services/foreman_discovery/node_api/node_resource.rb +1 -0
  9. data/app/views/discovered_hosts/_discovered_host_modal.html.erb +0 -2
  10. data/app/views/foreman_discovery/debian_kexec.erb +2 -1
  11. data/app/views/foreman_discovery/redhat_kexec.erb +2 -1
  12. data/extra/discover-host +14 -8
  13. data/lib/foreman_discovery/engine.rb +1 -1
  14. data/lib/foreman_discovery/version.rb +1 -1
  15. data/locale/ca/LC_MESSAGES/foreman_discovery.mo +0 -0
  16. data/locale/ca/foreman_discovery.edit.po +146 -216
  17. data/locale/ca/foreman_discovery.po +4 -1
  18. data/locale/de/LC_MESSAGES/foreman_discovery.mo +0 -0
  19. data/locale/de/foreman_discovery.edit.po +144 -215
  20. data/locale/de/foreman_discovery.po +4 -1
  21. data/locale/en/LC_MESSAGES/foreman_discovery.mo +0 -0
  22. data/locale/en/foreman_discovery.edit.po +76 -72
  23. data/locale/en/foreman_discovery.po +4 -1
  24. data/locale/en_GB/LC_MESSAGES/foreman_discovery.mo +0 -0
  25. data/locale/en_GB/foreman_discovery.edit.po +146 -216
  26. data/locale/en_GB/foreman_discovery.po +4 -1
  27. data/locale/es/LC_MESSAGES/foreman_discovery.mo +0 -0
  28. data/locale/es/foreman_discovery.edit.po +146 -216
  29. data/locale/es/foreman_discovery.po +4 -1
  30. data/locale/foreman_discovery.pot +77 -73
  31. data/locale/fr/LC_MESSAGES/foreman_discovery.mo +0 -0
  32. data/locale/fr/foreman_discovery.edit.po +144 -215
  33. data/locale/fr/foreman_discovery.po +4 -1
  34. data/locale/gl/LC_MESSAGES/foreman_discovery.mo +0 -0
  35. data/locale/gl/foreman_discovery.edit.po +146 -216
  36. data/locale/gl/foreman_discovery.po +4 -1
  37. data/locale/it/LC_MESSAGES/foreman_discovery.mo +0 -0
  38. data/locale/it/foreman_discovery.edit.po +146 -216
  39. data/locale/it/foreman_discovery.po +4 -1
  40. data/locale/ja/LC_MESSAGES/foreman_discovery.mo +0 -0
  41. data/locale/ja/foreman_discovery.edit.po +149 -216
  42. data/locale/ja/foreman_discovery.po +4 -1
  43. data/locale/ko/LC_MESSAGES/foreman_discovery.mo +0 -0
  44. data/locale/ko/foreman_discovery.edit.po +147 -215
  45. data/locale/ko/foreman_discovery.po +4 -1
  46. data/locale/pt_BR/LC_MESSAGES/foreman_discovery.mo +0 -0
  47. data/locale/pt_BR/foreman_discovery.edit.po +146 -216
  48. data/locale/pt_BR/foreman_discovery.po +4 -1
  49. data/locale/ru/LC_MESSAGES/foreman_discovery.mo +0 -0
  50. data/locale/ru/foreman_discovery.edit.po +149 -219
  51. data/locale/ru/foreman_discovery.po +4 -1
  52. data/locale/sv_SE/LC_MESSAGES/foreman_discovery.mo +0 -0
  53. data/locale/sv_SE/foreman_discovery.edit.po +146 -216
  54. data/locale/sv_SE/foreman_discovery.po +4 -1
  55. data/locale/zh_CN/LC_MESSAGES/foreman_discovery.mo +0 -0
  56. data/locale/zh_CN/foreman_discovery.edit.po +149 -216
  57. data/locale/zh_CN/foreman_discovery.po +4 -1
  58. data/locale/zh_TW/LC_MESSAGES/foreman_discovery.mo +0 -0
  59. data/locale/zh_TW/foreman_discovery.edit.po +149 -216
  60. data/locale/zh_TW/foreman_discovery.po +4 -1
  61. data/test/facts/only-ipv6.json +205 -0
  62. data/test/facts/skylake-ipv6.json +223 -0
  63. data/test/functional/api/v2/settings_controller_test.rb +2 -2
  64. data/test/functional/discovered_hosts_controller_test.rb +17 -8
  65. data/test/unit/discovered_extensions_test.rb +1 -0
  66. data/test/unit/host_discovered_test.rb +0 -16
  67. data/test/unit/managed_extensions_test.rb +1 -0
  68. metadata +33 -28
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 65c100401474ba94276c5cae8afa8dcf20d7b77b856d20956abc29107c2b5f22
4
- data.tar.gz: 54fc5dea8b179f139361e145f312588e5803b8b5eb9ea6a1166e55030acc37c9
3
+ metadata.gz: accf12de8ae1253e5023ba98c65da7c3af14aa8da4691fe67dd7f18bc5717518
4
+ data.tar.gz: 0dd4c83a875917ccf3933679a31a747d8f559e5195415fab619cc0220bcd97c4
5
5
  SHA512:
6
- metadata.gz: 474c76e3d67d56849cbf15919d08aead8d845a61ab69d31c8db238d45b49b6ee9ec72ed5ec9044fcb4871509f2ef89333d041e1481243fc7cd6e8f034acf40f3
7
- data.tar.gz: 78cb83d2a57281eacc9a339d78bf55607e545b31e77b0106f127aa4d8ae49582df7e6a28170d52eb882300ebb45e09d25b9d7a31b5af084af4da712c6faa6eaf
6
+ metadata.gz: a8fd61670a325106898043ab9533f7512835394a6141139580436e9c8fdd0027ff0aee02c0a53f6d92b5b4535d5bcbcabfb1cd91ddc0fd85ce8a0a54d2cde27e
7
+ data.tar.gz: 90263e8535e3d338ee335a280ff89dafd188d7e92c8f7becb340bc6ede0884bbf4ee915ad158de546c84058240c7338d1d4a736f3124e8c6c57f935862073f83
@@ -199,15 +199,17 @@ class DiscoveredHostsController < ::ApplicationController
199
199
 
200
200
  def setup_host_class_variables
201
201
  if @host.hostgroup
202
+ subnet = @host.hostgroup.subnet || @host.subnet
203
+ subnet6 = @host.hostgroup.subnet6 || @host.subnet6
202
204
  @architecture = @host.hostgroup.architecture
203
205
  @operatingsystem = @host.hostgroup.operatingsystem
204
206
  @environment = @host.hostgroup.environment
205
207
  @domain = @host.hostgroup.domain
206
- @subnet = @host.hostgroup.subnet
208
+ @subnet = subnet
209
+ @subnet6 = subnet6
207
210
  @compute_profile = @host.hostgroup.compute_profile
208
211
  @realm = @host.hostgroup.realm
209
- @host.interfaces.first.assign_attributes(subnet: @subnet,
210
- domain: @domain)
212
+ @host.interfaces.first.assign_attributes(subnet: subnet, subnet6: subnet6, domain: @domain)
211
213
  @host.environment = @environment
212
214
  end
213
215
  end
@@ -44,9 +44,13 @@ class Host::Discovered < ::Host::Base
44
44
 
45
45
  # Discovery import workflow:
46
46
  # discovered#import_host ->
47
- # discovered#import_facts -> base#import_facts -> base#parse_facts ->
48
- # discovered#populate_fields_from_facts -> base#populate_fields_from_facts -> base#set_interfaces
49
- # discovered#populate_discovery_fields_from_facts
47
+ # ForemanDiscovery::HostFactImporter#import_facts ->
48
+ # ::HostFactImporter#import_facts ->
49
+ # ::HostFactImporter#parse_facts ->
50
+ # discovered#populate_fields_from_facts ->
51
+ # base#populate_fields_from_facts ->
52
+ # base#set_interfaces ->
53
+ # discovered#populate_discovery_fields_from_facts
50
54
  def self.import_host facts
51
55
  raise(::Foreman::Exception.new(N_("Invalid facts, must be a Hash"))) unless facts.is_a?(Hash) || facts.is_a?(ActionController::Parameters)
52
56
 
@@ -92,19 +96,11 @@ class Host::Discovered < ::Host::Base
92
96
 
93
97
  # and save (interfaces are created via puppet parser extension)
94
98
  host.save(:validate => false) if host.new_record?
95
- raise ::Foreman::Exception.new(N_("Facts could not be imported")) unless host.import_facts(facts)
99
+ importer = ForemanDiscovery::HostFactImporter.new(host)
100
+ raise ::Foreman::Exception.new(N_("Facts could not be imported")) unless importer.import_facts(facts)
96
101
  host
97
102
  end
98
103
 
99
- def import_facts(facts)
100
- # Discovered Hosts won't report in via puppet, so we can use that field to
101
- # record the last time it sent facts...
102
- self.last_report = Time.now
103
- # Set the correct facts type for new foreman facts importing code.
104
- facts[:_type] = :foreman_discovery
105
- super(facts)
106
- end
107
-
108
104
  def setup_clone
109
105
  # Nic::Managed needs this method but Discovered hosts shouldn't
110
106
  # be doing orchestration anyway...
@@ -144,15 +140,17 @@ class Host::Discovered < ::Host::Base
144
140
  def refresh_facts
145
141
  facts = ::ForemanDiscovery::NodeAPI::Inventory.new(:url => proxy_url(self.ip)).facter
146
142
  self.class.import_host facts
147
- import_facts facts
143
+ ::ForemanDiscovery::HostFactImporter.new(self).import_facts facts
148
144
  rescue => e
149
145
  ::Foreman::Logging.exception("Unable to get facts from proxy", e)
150
146
  raise ::Foreman::WrappedException.new(e, N_("Could not get facts from proxy %{url}: %{error}"), :url => proxy_url, :error => e)
151
147
  end
152
148
 
153
- def reboot(node_ip = nil)
149
+ def reboot(old_ip = nil, new_ip = nil)
154
150
  # perform the action against the original lease as well as the new reservation
155
- [node_ip || facts["discovery_bootip"] || facts["ipaddress"], self.ip].compact.each do |next_ip|
151
+ ips = [old_ip, new_ip, self.ip].compact.uniq
152
+ logger.debug "Performing reboot calls against #{ips.to_sentence}, facts left #{facts.count}"
153
+ ips.each do |next_ip|
156
154
  begin
157
155
  node_url = proxy_url(next_ip)
158
156
  logger.debug "Performing reboot call against #{node_url}"
@@ -161,17 +159,17 @@ class Host::Discovered < ::Host::Base
161
159
  rescue => e
162
160
  msg = N_("Unable to perform reboot on %{name} (%{url}): %{msg}")
163
161
  ::Foreman::Logging.exception(msg % { :name => name, :url => node_url, :msg => e.to_s }, e)
164
- if next_ip == self.ip
165
- raise ::Foreman::WrappedException.new(e, msg, :name => name, :url => node_url, :msg => e.to_s)
166
- end
167
162
  end
168
163
  end
169
- false
164
+ msg = N_("Unable to perform %{action} on %{ips}")
165
+ raise ::Foreman::Exception.new(msg, action: "reboot", ips: ips.to_sentence)
170
166
  end
171
167
 
172
- def kexec(json, node_ip = nil)
168
+ def kexec(json, old_ip = nil, new_ip = nil)
173
169
  # perform the action against the original lease as well as the new reservation
174
- [node_ip || facts["discovery_bootip"] || facts["ipaddress"], self.ip].compact.each do |next_ip|
170
+ ips = [old_ip, new_ip, self.ip].compact.uniq
171
+ logger.debug "Performing kexec calls against #{ips.to_sentence}, #{facts.count} facts left"
172
+ ips.each do |next_ip|
175
173
  begin
176
174
  node_url = proxy_url(next_ip)
177
175
  logger.debug "Performing kexec call against #{node_url}"
@@ -180,12 +178,10 @@ class Host::Discovered < ::Host::Base
180
178
  rescue => e
181
179
  msg = N_("Unable to perform kexec on %{name} (%{url}): %{msg}")
182
180
  ::Foreman::Logging.exception(msg % { :name => name, :url => node_url, :msg => e.to_s }, e)
183
- if next_ip == self.ip
184
- raise ::Foreman::WrappedException.new(e, msg, :name => name, :url => node_url, :msg => e.to_s)
185
- end
186
181
  end
187
182
  end
188
- false
183
+ msg = N_("Unable to perform %{action} on %{ips}")
184
+ raise ::Foreman::Exception.new(msg, action: "kexec", ips: ips.to_sentence)
189
185
  end
190
186
 
191
187
  def self.model_name
@@ -27,7 +27,7 @@ module Host::ManagedExtensions
27
27
  end
28
28
 
29
29
  def setReboot
30
- old.becomes(Host::Discovered).reboot(facts["discovery_bootip"] || facts["ipaddress"])
30
+ old.becomes(Host::Discovered).reboot(old.ip, ip)
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)
58
+ old.becomes(Host::Discovered).kexec(render_kexec_template.to_json, old.ip, ip)
59
59
  true
60
60
  rescue ::Foreman::Exception => e
61
61
  Foreman::Logging.exception("Unable to kexec", e)
@@ -8,7 +8,9 @@ class Setting::Discovered < ::Setting
8
8
  BLANK_ATTRS << 'discovery_facts_hardware'
9
9
  BLANK_ATTRS << 'discovery_facts_network'
10
10
  BLANK_ATTRS << 'discovery_facts_ipmi'
11
- BLANK_ATTRS << 'discovery_prefix'
11
+
12
+ STRING_PRESENCE_ATTRS = ['discovery_hostname', 'discovery_prefix']
13
+ validates :value, :presence => true, :if => proc { |s| STRING_PRESENCE_ATTRS.include?(s.name) }
12
14
 
13
15
  def self.default_settings
14
16
  [
@@ -35,12 +35,21 @@ class ForemanDiscovery::HostConverter
35
35
  end
36
36
 
37
37
  def self.unused_ip_for_subnet(subnet, mac, existing_ip)
38
- ipam = subnet.unused_ip(mac)
39
- raise(::Foreman::Exception.new(N_("IPAM must be configured for subnet '%s'"), subnet)) unless ipam.present?
38
+ # prefer existing reservation to prevent conflicts
39
+ existing_rec = subnet&.dhcp_proxy&.record(subnet.network, mac)
40
40
 
41
- # None IPAM returns nil - in that case keep the current address
42
- suggested_ip = ipam.suggest_ip
43
- suggested_ip.nil? ? existing_ip : suggested_ip
41
+ if existing_rec && existing_rec.type == "reservation"
42
+ # reuse the reservation
43
+ existing_rec.ip
44
+ else
45
+ # no reservation - find new unused IP
46
+ ipam = subnet.unused_ip(mac)
47
+ raise(::Foreman::Exception.new(N_("IPAM must be configured for subnet '%s'"), subnet)) unless ipam.present?
48
+
49
+ # None IPAM returns nil - in that case keep the current address
50
+ suggested_ip = ipam.suggest_ip
51
+ suggested_ip.nil? ? existing_ip : suggested_ip
52
+ end
44
53
  end
45
54
 
46
55
  def self.unused_ip_for_host(host, new_subnet = nil, new_subnet6 = nil)
@@ -51,7 +60,6 @@ class ForemanDiscovery::HostConverter
51
60
  interface.subnet6 = new_subnet6 if new_subnet6
52
61
  interface.ip = unused_ip_for_subnet(interface.subnet, interface.mac, interface.ip) if interface.subnet
53
62
  interface.ip6 = unused_ip_for_subnet(interface.subnet6, interface.mac, interface.ip6) if interface.subnet6
54
- interface.save!
55
63
  end
56
64
  end
57
65
 
@@ -0,0 +1,10 @@
1
+ class ForemanDiscovery::HostFactImporter < ::HostFactImporter
2
+ def import_facts(facts)
3
+ # Discovered Hosts won't report in via puppet, so we can use that field to
4
+ # record the last time it sent facts...
5
+ host.last_report = Time.now
6
+ # Set the correct facts type for new foreman facts importing code.
7
+ facts[:_type] = :foreman_discovery
8
+ super(facts)
9
+ end
10
+ end
@@ -6,6 +6,7 @@ module ForemanDiscovery::NodeAPI
6
6
  @args = args
7
7
  @connect_params = {
8
8
  :headers => { :accept => :json },
9
+ :timeout => 20, # tighter timeout, discovery performs up to two calls per request
9
10
  }
10
11
 
11
12
  if url.match(/^https/i) && Rails.env != "test"
@@ -17,8 +17,6 @@
17
17
  <% if show_location_tab? %>
18
18
  <%= select_f f, :location_id, Location.my_locations, :id, :to_label, {}, {:size => 'col-md-10'} %>
19
19
  <% end %>
20
-
21
- <div>Changing the Host's Subnet is not possible via Customize Host form, use Create Host or Auto provisioning and set the desired Subnet in the Hostgroup.</div>
22
20
  </div>
23
21
  <div class="modal-footer">
24
22
  <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
@@ -12,9 +12,10 @@ environments. The template must generate JSON format with the following items
12
12
  "kernel", "initram", "append" and "extra". The kexec command is composed in
13
13
  the following way:
14
14
 
15
- kexec --force --reset-vga --append=$append --initrd=$initram $extra $kernel
15
+ kexec --force --debug --append=$append --initrd=$initram $extra $kernel
16
16
 
17
17
  Please read kexec(8) man page for more information about semantics.
18
+ Extra options like --reset-vga can be set via "extra" array.
18
19
  -%>
19
20
  <%
20
21
  mac = @host.facts['discovery_bootif']
@@ -22,9 +22,10 @@ environments. The template must generate JSON format with the following items
22
22
  "kernel", "initram", "append" and "extra". The kexec command is composed in
23
23
  the following way:
24
24
 
25
- kexec --force --reset-vga --append=$append --initrd=$initram $extra $kernel
25
+ kexec --force --debug --append=$append --initrd=$initram $extra $kernel
26
26
 
27
27
  Please read kexec(8) man page for more information about semantics.
28
+ Extra options like --reset-vga can be set via "extra" array.
28
29
  -%>
29
30
  <%
30
31
  mac = @host.facts['discovery_bootif']
@@ -33,7 +33,7 @@ OptionParser.new do |opts|
33
33
  version = v
34
34
  end
35
35
 
36
- opts.on("-iARRAY", "--interface=ARRAY", Array, "Comma separated array: name,subnet,ip,mac (can be used multiple times, default: eth0,122,7,AA:BB:CC:DD:EE:FF") do |v|
36
+ opts.on("-iARRAY", "--interface=ARRAY", Array, "Comma separated array: name,network/prefix,mac,ip (can be used multiple times, default: eth0,192.168.122.0/24") do |v|
37
37
  interfaces << v
38
38
  end
39
39
 
@@ -66,7 +66,7 @@ OptionParser.new do |opts|
66
66
  end
67
67
  end.parse!
68
68
 
69
- interfaces << ["eth0", "122"] if interfaces.empty?
69
+ interfaces << ["eth0", "192.168.122.0/24"] if interfaces.empty?
70
70
  primary ||= interfaces.first.first
71
71
  bootif ||= interfaces.first.first
72
72
  json = JSON.parse(File.read(base))
@@ -76,15 +76,21 @@ json["discovery_version"] = version
76
76
  unless preserve_interfaces
77
77
  json["interfaces"] = interfaces.map{|i| i.first}.join(',')
78
78
  interfaces.each do |iface|
79
- name, subnet, ipo, mac = iface
79
+ name, subnet, mac, explicit_ip = iface
80
80
  mac ||= (["52"] + 5.times.map { '%02x' % rand(0..255) }).join(':')
81
- ipo ||= rand(1..253)
82
- ip = "192.168.#{subnet}.#{ipo}"
83
81
  json["macaddress_#{name}"] = mac
84
- json["ipaddress_#{name}"] = ip
82
+ subnet_woprefix, prefix = subnet.split('/')
83
+ if subnet.include?('.')
84
+ random_ip = IPAddr.new(subnet, Socket::AF_INET) | IPAddr.new(rand(2**prefix.to_i), Socket::AF_INET)
85
+ fact_name = "ipaddress"
86
+ else
87
+ random_ip = IPAddr.new(subnet, Socket::AF_INET6) | IPAddr.new(rand(2**prefix.to_i), Socket::AF_INET6)
88
+ fact_name = "ipaddress6"
89
+ end
90
+ json["#{fact_name}_#{name}"] = explicit_ip ? explicit_ip : random_ip
85
91
  if name == primary
86
- json["macaddress"] = mac
87
- json["ipaddress"] = ip
92
+ json["macaddress"] = json["macaddress_#{name}"]
93
+ json[fact_name] = json["#{fact_name}_#{name}"]
88
94
  end
89
95
  json["discovery_bootif"] = mac if name == bootif
90
96
  end
@@ -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 '>= 1.24.0'
46
+ requires_foreman '>= 2.2'
47
47
 
48
48
  # discovered hosts permissions
49
49
  security_block :discovery do
@@ -1,3 +1,3 @@
1
1
  module ForemanDiscovery
2
- VERSION = "16.1.0"
2
+ VERSION = "16.2.0"
3
3
  end
@@ -1,18 +1,18 @@
1
1
  # SOME DESCRIPTIVE TITLE.
2
2
  # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
3
3
  # This file is distributed under the same license as the foreman_discovery package.
4
- #
4
+ #
5
5
  # Translators:
6
6
  # Robert Antoni Buj Gelonch <rbuj@fedoraproject.org>, 2017
7
7
  # Robert Antoni Buj Gelonch <rbuj@fedoraproject.org>, 2015-2016
8
8
  msgid ""
9
9
  msgstr ""
10
- "Project-Id-Version: foreman_discovery 16.0.1\n"
10
+ "Project-Id-Version: foreman_discovery 16.1.0\n"
11
11
  "Report-Msgid-Bugs-To: \n"
12
- "POT-Creation-Date: 2020-05-11 14:58+0530\n"
13
12
  "PO-Revision-Date: 2020-05-26 17:21+0000\n"
14
13
  "Last-Translator: Transifex Bot <>\n"
15
- "Language-Team: Catalan (http://www.transifex.com/foreman/foreman/language/ca/)\n"
14
+ "Language-Team: Catalan (http://www.transifex.com/foreman/foreman/language/ca/)"
15
+ "\n"
16
16
  "MIME-Version: 1.0\n"
17
17
  "Content-Type: text/plain; charset=UTF-8\n"
18
18
  "Content-Transfer-Encoding: 8bit\n"
@@ -23,23 +23,19 @@ msgstr ""
23
23
  msgid "List all discovered hosts"
24
24
  msgstr "Llista tots els amfitrions descoberts"
25
25
 
26
- #: ../app/controllers/api/v2/discovered_hosts_controller.rb:17
27
- #: ../app/controllers/api/v2/discovery_rules_controller.rb:15
26
+ #: ../app/controllers/api/v2/discovered_hosts_controller.rb:17 ../app/controllers/api/v2/discovery_rules_controller.rb:15
28
27
  msgid "filter results"
29
28
  msgstr "filtra els resultats"
30
29
 
31
- #: ../app/controllers/api/v2/discovered_hosts_controller.rb:18
32
- #: ../app/controllers/api/v2/discovery_rules_controller.rb:16
30
+ #: ../app/controllers/api/v2/discovered_hosts_controller.rb:18 ../app/controllers/api/v2/discovery_rules_controller.rb:16
33
31
  msgid "sort results"
34
32
  msgstr "ordena els resultats"
35
33
 
36
- #: ../app/controllers/api/v2/discovered_hosts_controller.rb:19
37
- #: ../app/controllers/api/v2/discovery_rules_controller.rb:17
34
+ #: ../app/controllers/api/v2/discovered_hosts_controller.rb:19 ../app/controllers/api/v2/discovery_rules_controller.rb:17
38
35
  msgid "paginate results"
39
36
  msgstr "pagina els resultats"
40
37
 
41
- #: ../app/controllers/api/v2/discovered_hosts_controller.rb:20
42
- #: ../app/controllers/api/v2/discovery_rules_controller.rb:18
38
+ #: ../app/controllers/api/v2/discovered_hosts_controller.rb:20 ../app/controllers/api/v2/discovery_rules_controller.rb:18
43
39
  msgid "number of entries per request"
44
40
  msgstr "Nombre d'entrades per petició"
45
41
 
@@ -47,8 +43,7 @@ msgstr "Nombre d'entrades per petició"
47
43
  msgid "Show a discovered host"
48
44
  msgstr "Mostra un amfitrió descobert"
49
45
 
50
- #: ../app/controllers/api/v2/discovered_hosts_controller.rb:37
51
- #: ../app/controllers/api/v2/discovered_hosts_controller.rb:79
46
+ #: ../app/controllers/api/v2/discovered_hosts_controller.rb:37 ../app/controllers/api/v2/discovered_hosts_controller.rb:79
52
47
  msgid "DHCP filename option (Grub2 or PXELinux by default)"
53
48
  msgstr ""
54
49
 
@@ -69,14 +64,11 @@ msgid "not required if it's a virtual machine"
69
64
  msgstr ""
70
65
 
71
66
  #: ../app/controllers/api/v2/discovered_hosts_controller.rb:76
72
- msgid ""
73
- "UUID to track orchestration tasks status, GET /api/orchestration/:UUID/tasks"
67
+ msgid "UUID to track orchestration tasks status, GET /api/orchestration/:UUID/tasks"
74
68
  msgstr ""
75
69
 
76
70
  #: ../app/controllers/api/v2/discovered_hosts_controller.rb:78
77
- msgid ""
78
- "required if value is not inherited from host group or default password in "
79
- "settings"
71
+ msgid "required if value is not inherited from host group or default password in settings"
80
72
  msgstr ""
81
73
 
82
74
  #: ../app/controllers/api/v2/discovered_hosts_controller.rb:89
@@ -88,18 +80,14 @@ msgid "Upload facts for a host, creating the host if required"
88
80
  msgstr "Puja els objectes d'interès per a un amfitrió, creant el nou amfitrió si fos necessari"
89
81
 
90
82
  #: ../app/controllers/api/v2/discovered_hosts_controller.rb:97
91
- msgid ""
92
- "hash containing facts for the host with minimum set of facts: "
93
- "discovery_bootif, macaddress_eth0, ipaddress, ipaddress_eth0, interfaces: "
94
- "eth0 (example in case primary interface is named eth0)"
83
+ msgid "hash containing facts for the host with minimum set of facts: discovery_bootif, macaddress_eth0, ipaddress, ipaddress_eth0, interfaces: eth0 (example in case primary interface is named eth0)"
95
84
  msgstr ""
96
85
 
97
86
  #: ../app/controllers/api/v2/discovered_hosts_controller.rb:116
98
87
  msgid "Execute rules against a discovered host"
99
88
  msgstr ""
100
89
 
101
- #: ../app/controllers/api/v2/discovered_hosts_controller.rb:122
102
- #: ../app/controllers/discovered_hosts_controller.rb:160
90
+ #: ../app/controllers/api/v2/discovered_hosts_controller.rb:122 ../app/controllers/discovered_hosts_controller.rb:160
103
91
  msgid "Host %{host} was provisioned with rule %{rule}"
104
92
  msgstr "L'amfitrió %{host} va ser aprovisionat amb la regla %{rule}"
105
93
 
@@ -107,8 +95,7 @@ msgstr "L'amfitrió %{host} va ser aprovisionat amb la regla %{rule}"
107
95
  msgid "Unable to provision %{host}: %{errors}"
108
96
  msgstr "No es pot aprovisionar a %{host}: %{errors}"
109
97
 
110
- #: ../app/controllers/api/v2/discovered_hosts_controller.rb:131
111
- #: ../app/controllers/discovered_hosts_controller.rb:167
98
+ #: ../app/controllers/api/v2/discovered_hosts_controller.rb:131 ../app/controllers/discovered_hosts_controller.rb:167
112
99
  msgid "No rule found for host %s"
113
100
  msgstr "No s'ha trobat cap regla per a l'amfitrió %s"
114
101
 
@@ -116,13 +103,11 @@ msgstr "No s'ha trobat cap regla per a l'amfitrió %s"
116
103
  msgid "Execute rules against all currently discovered hosts"
117
104
  msgstr "Executa les regles contra tots els amfitrions detectats actualment"
118
105
 
119
- #: ../app/controllers/api/v2/discovered_hosts_controller.rb:142
120
- #: ../app/controllers/discovered_hosts_controller.rb:173
106
+ #: ../app/controllers/api/v2/discovered_hosts_controller.rb:142 ../app/controllers/discovered_hosts_controller.rb:173
121
107
  msgid "Errors during auto provisioning: %s"
122
108
  msgstr "Erros durant l'auto aprovisionament: %s"
123
109
 
124
- #: ../app/controllers/api/v2/discovered_hosts_controller.rb:145
125
- #: ../app/controllers/discovered_hosts_controller.rb:176
110
+ #: ../app/controllers/api/v2/discovered_hosts_controller.rb:145 ../app/controllers/discovered_hosts_controller.rb:176
126
111
  msgid "No discovered hosts to provision"
127
112
  msgstr "Sense amfitrions descoberts per aprovisionar"
128
113
 
@@ -142,8 +127,7 @@ msgstr "S'està reiniciant un amfitrió descobert"
142
127
  msgid "Rebooting all discovered hosts"
143
128
  msgstr "S'estan reiniciant tots els amfitrions descoberts"
144
129
 
145
- #: ../app/controllers/api/v2/discovered_hosts_controller.rb:207
146
- #: ../app/controllers/discovered_hosts_controller.rb:129
130
+ #: ../app/controllers/api/v2/discovered_hosts_controller.rb:207 ../app/controllers/discovered_hosts_controller.rb:129
147
131
  msgid "Discovered hosts are rebooting now"
148
132
  msgstr "Ara s'estan reiniciant els amfitrions descoberts"
149
133
 
@@ -168,8 +152,7 @@ msgid "the hostgroup that is used to auto provision a host"
168
152
  msgstr "el grup d'amfitrions que s'utilitza per a l'auto aprovisionament d'un amfitrió"
169
153
 
170
154
  #: ../app/controllers/api/v2/discovery_rules_controller.rb:35
171
- msgid ""
172
- "defines a pattern to assign human-readable hostnames to the matching hosts"
155
+ msgid "defines a pattern to assign human-readable hostnames to the matching hosts"
173
156
  msgstr ""
174
157
 
175
158
  #: ../app/controllers/api/v2/discovery_rules_controller.rb:36
@@ -177,8 +160,7 @@ msgid "enables to limit maximum amount of provisioned hosts per rule"
177
160
  msgstr "permet la limitació del nombre total màxim dels amfitrions aprovisionats per cada regla"
178
161
 
179
162
  #: ../app/controllers/api/v2/discovery_rules_controller.rb:37
180
- msgid ""
181
- "puts the rules in order, low numbers go first. Must be greater then zero"
163
+ msgid "puts the rules in order, low numbers go first. Must be greater then zero"
182
164
  msgstr ""
183
165
 
184
166
  #: ../app/controllers/api/v2/discovery_rules_controller.rb:38
@@ -277,43 +259,43 @@ msgstr "No s'ha pogut auto aprovisionar l'amfitrió %s: %s"
277
259
  msgid "Discovered hosts are provisioning now"
278
260
  msgstr "Els amfitrions descoberts ara tenen aprovisionament"
279
261
 
280
- #: ../app/controllers/discovered_hosts_controller.rb:224
262
+ #: ../app/controllers/discovered_hosts_controller.rb:226
281
263
  msgid "Highlights"
282
264
  msgstr ""
283
265
 
284
- #: ../app/controllers/discovered_hosts_controller.rb:224
266
+ #: ../app/controllers/discovered_hosts_controller.rb:226
285
267
  msgid "Storage"
286
268
  msgstr ""
287
269
 
288
- #: ../app/controllers/discovered_hosts_controller.rb:224
270
+ #: ../app/controllers/discovered_hosts_controller.rb:226
289
271
  msgid "Hardware"
290
272
  msgstr ""
291
273
 
292
- #: ../app/controllers/discovered_hosts_controller.rb:224
274
+ #: ../app/controllers/discovered_hosts_controller.rb:226
293
275
  msgid "Network"
294
276
  msgstr ""
295
277
 
296
- #: ../app/controllers/discovered_hosts_controller.rb:224
278
+ #: ../app/controllers/discovered_hosts_controller.rb:226
297
279
  msgid "Software"
298
280
  msgstr ""
299
281
 
300
- #: ../app/controllers/discovered_hosts_controller.rb:224
282
+ #: ../app/controllers/discovered_hosts_controller.rb:226
301
283
  msgid "IPMI"
302
284
  msgstr ""
303
285
 
304
- #: ../app/controllers/discovered_hosts_controller.rb:224
286
+ #: ../app/controllers/discovered_hosts_controller.rb:226
305
287
  msgid "Miscellaneous"
306
288
  msgstr ""
307
289
 
308
- #: ../app/controllers/discovered_hosts_controller.rb:302
290
+ #: ../app/controllers/discovered_hosts_controller.rb:304
309
291
  msgid "No hosts were found with that id or name"
310
292
  msgstr "No s'ha trobat cap amfitrió amb aquest ID o nom"
311
293
 
312
- #: ../app/controllers/discovered_hosts_controller.rb:306
294
+ #: ../app/controllers/discovered_hosts_controller.rb:308
313
295
  msgid "No hosts selected"
314
296
  msgstr "Cap amfitrió seleccionat"
315
297
 
316
- #: ../app/controllers/discovered_hosts_controller.rb:312
298
+ #: ../app/controllers/discovered_hosts_controller.rb:314
317
299
  msgid "Something went wrong while selecting hosts - %s"
318
300
  msgstr "Alguna cosa va anar malament mentre se seleccionaven els amfitrions - %s"
319
301
 
@@ -329,21 +311,15 @@ msgstr "Regla inhabilitada"
329
311
  msgid "%s ago"
330
312
  msgstr "fa %s"
331
313
 
332
- #: ../app/helpers/discovered_hosts_helper.rb:14
333
- #: ../app/helpers/discovered_hosts_helper.rb:29
334
- #: ../app/views/discovered_hosts/_discovered_hosts_list.html.erb:37
314
+ #: ../app/helpers/discovered_hosts_helper.rb:14 ../app/helpers/discovered_hosts_helper.rb:29 ../app/views/discovered_hosts/_discovered_hosts_list.html.erb:37
335
315
  msgid "Auto Provision"
336
316
  msgstr "Auto aprovisiona"
337
317
 
338
- #: ../app/helpers/discovered_hosts_helper.rb:15
339
- #: ../app/views/discovered_hosts/_discovered_hosts_list.html.erb:38
318
+ #: ../app/helpers/discovered_hosts_helper.rb:15 ../app/views/discovered_hosts/_discovered_hosts_list.html.erb:38
340
319
  msgid "Refresh facts"
341
320
  msgstr "Refresca els objectes d'interès"
342
321
 
343
- #: ../app/helpers/discovered_hosts_helper.rb:16
344
- #: ../app/helpers/discovered_hosts_helper.rb:30
345
- #: ../app/models/setting/discovered.rb:22
346
- #: ../app/views/discovered_hosts/_discovered_hosts_list.html.erb:39
322
+ #: ../app/helpers/discovered_hosts_helper.rb:16 ../app/helpers/discovered_hosts_helper.rb:30 ../app/models/setting/discovered.rb:24 ../app/views/discovered_hosts/_discovered_hosts_list.html.erb:39
347
323
  msgid "Reboot"
348
324
  msgstr "Reinicia"
349
325
 
@@ -351,13 +327,11 @@ msgstr "Reinicia"
351
327
  msgid "Back"
352
328
  msgstr "Enrere"
353
329
 
354
- #: ../app/helpers/discovered_hosts_helper.rb:21
355
- #: ../app/helpers/discovered_hosts_helper.rb:35
330
+ #: ../app/helpers/discovered_hosts_helper.rb:21 ../app/helpers/discovered_hosts_helper.rb:35
356
331
  msgid "Select Action"
357
332
  msgstr "Selecciona l'acció"
358
333
 
359
- #: ../app/helpers/discovered_hosts_helper.rb:23
360
- #: ../app/views/discovered_hosts/_discovered_hosts_list.html.erb:40
334
+ #: ../app/helpers/discovered_hosts_helper.rb:23 ../app/views/discovered_hosts/_discovered_hosts_list.html.erb:40
361
335
  msgid "Delete %s?"
362
336
  msgstr "Voleu suprimir %s?"
363
337
 
@@ -377,8 +351,7 @@ msgstr "Suprimeix"
377
351
  msgid "%s - The following hosts are about to be changed"
378
352
  msgstr "%s - Els següents amfitrions estan a punt de ser canviats"
379
353
 
380
- #: ../app/helpers/discovered_hosts_helper.rb:46
381
- #: ../app/views/dashboard/_discovery_widget_host.html.erb:2
354
+ #: ../app/helpers/discovered_hosts_helper.rb:46 ../app/views/dashboard/_discovery_widget_host.html.erb:2
382
355
  msgid "N/A"
383
356
  msgstr "N/D"
384
357
 
@@ -398,12 +371,7 @@ msgstr "Es va informar en els últims 7 dies"
398
371
  msgid "Provision"
399
372
  msgstr "Aprovisiona"
400
373
 
401
- #: ../app/helpers/discovery_rules_helper.rb:26
402
- #: ../app/views/discovered_hosts/_discovered_hosts_list.html.erb:1
403
- #: ../app/views/discovered_hosts/welcome.html.erb:1
404
- #: ../app/views/discovered_hosts/welcome.html.erb:6
405
- #: ../lib/foreman_discovery/engine.rb:158
406
- #: ../lib/foreman_discovery/engine.rb:173
374
+ #: ../app/helpers/discovery_rules_helper.rb:26 ../app/views/discovered_hosts/_discovered_hosts_list.html.erb:1 ../app/views/discovered_hosts/welcome.html.erb:1 ../app/views/discovered_hosts/welcome.html.erb:6 ../lib/foreman_discovery/engine.rb:158 ../lib/foreman_discovery/engine.rb:173
407
375
  msgid "Discovered Hosts"
408
376
  msgstr ""
409
377
 
@@ -452,17 +420,14 @@ msgid "must be present."
452
420
  msgstr ""
453
421
 
454
422
  #: ../app/models/discovery_rule.rb:52
455
- msgid ""
456
- "Host group organization %s must also be associated to the discovery rule"
457
- msgid_plural ""
458
- "Host group organizations %s must also be associated to the discovery rule"
423
+ msgid "Host group organization %s must also be associated to the discovery rule"
424
+ msgid_plural "Host group organizations %s must also be associated to the discovery rule"
459
425
  msgstr[0] ""
460
426
  msgstr[1] ""
461
427
 
462
428
  #: ../app/models/discovery_rule.rb:56
463
429
  msgid "Host group location %s must also be associated to the discovery rule"
464
- msgid_plural ""
465
- "Host group locations %s must also be associated to the discovery rule"
430
+ msgid_plural "Host group locations %s must also be associated to the discovery rule"
466
431
  msgstr[0] ""
467
432
  msgstr[1] ""
468
433
 
@@ -478,39 +443,39 @@ msgstr ""
478
443
  msgid "MAC-based name"
479
444
  msgstr ""
480
445
 
481
- #: ../app/models/host/discovered.rb:51
446
+ #: ../app/models/host/discovered.rb:55
482
447
  msgid "Invalid facts, must be a Hash"
483
448
  msgstr "Objectes d'interès no vàlids, han de tenir un Hash"
484
449
 
485
- #: ../app/models/host/discovered.rb:56
486
- msgid ""
487
- "Expected discovery_fact '%s' is missing, unable to detect primary interface "
488
- "and set hostname"
450
+ #: ../app/models/host/discovered.rb:60
451
+ msgid "Expected discovery_fact '%s' is missing, unable to detect primary interface and set hostname"
489
452
  msgstr ""
490
453
 
491
- #: ../app/models/host/discovered.rb:69
492
- msgid ""
493
- "Invalid facts: hash does not contain a valid value for any of the facts in "
494
- "the discovery_hostname setting: %s"
454
+ #: ../app/models/host/discovered.rb:73
455
+ msgid "Invalid facts: hash does not contain a valid value for any of the facts in the discovery_hostname setting: %s"
495
456
  msgstr ""
496
457
 
497
- #: ../app/models/host/discovered.rb:95
458
+ #: ../app/models/host/discovered.rb:100
498
459
  msgid "Facts could not be imported"
499
460
  msgstr ""
500
461
 
501
- #: ../app/models/host/discovered.rb:150
462
+ #: ../app/models/host/discovered.rb:146
502
463
  msgid "Could not get facts from proxy %{url}: %{error}"
503
464
  msgstr "No s'han pogut obtenir els objectes d'interès del servidor intermediari %{url}: %{error}"
504
465
 
505
- #: ../app/models/host/discovered.rb:162
466
+ #: ../app/models/host/discovered.rb:160
506
467
  msgid "Unable to perform reboot on %{name} (%{url}): %{msg}"
507
468
  msgstr ""
508
469
 
509
- #: ../app/models/host/discovered.rb:181
470
+ #: ../app/models/host/discovered.rb:164 ../app/models/host/discovered.rb:183
471
+ msgid "Unable to perform %{action} on %{ips}"
472
+ msgstr ""
473
+
474
+ #: ../app/models/host/discovered.rb:179
510
475
  msgid "Unable to perform kexec on %{name} (%{url}): %{msg}"
511
476
  msgstr ""
512
477
 
513
- #: ../app/models/host/discovered.rb:207
478
+ #: ../app/models/host/discovered.rb:203
514
479
  msgid "Invalid hostname: Could not normalize the hostname"
515
480
  msgstr ""
516
481
 
@@ -538,191 +503,183 @@ msgstr ""
538
503
  msgid "Rebuild DNS for %s"
539
504
  msgstr ""
540
505
 
541
- #: ../app/models/setting/discovered.rb:15
506
+ #: ../app/models/setting/discovered.rb:17
542
507
  msgid "The default location to place discovered hosts in"
543
508
  msgstr ""
544
509
 
545
- #: ../app/models/setting/discovered.rb:15
510
+ #: ../app/models/setting/discovered.rb:17
546
511
  msgid "Discovery location"
547
512
  msgstr ""
548
513
 
549
- #: ../app/models/setting/discovered.rb:16
514
+ #: ../app/models/setting/discovered.rb:18
550
515
  msgid "The default organization to place discovered hosts in"
551
516
  msgstr ""
552
517
 
553
- #: ../app/models/setting/discovered.rb:16
518
+ #: ../app/models/setting/discovered.rb:18
554
519
  msgid "Discovery organization"
555
520
  msgstr ""
556
521
 
557
- #: ../app/models/setting/discovered.rb:17
522
+ #: ../app/models/setting/discovered.rb:19
558
523
  msgid "Fact name to use for primary interface detection"
559
524
  msgstr ""
560
525
 
561
- #: ../app/models/setting/discovered.rb:17
526
+ #: ../app/models/setting/discovered.rb:19
562
527
  msgid "Interface fact"
563
528
  msgstr ""
564
529
 
565
- #: ../app/models/setting/discovered.rb:18
566
- msgid ""
567
- "Automatic bond interface (if another interface is detected on the same VLAN "
568
- "via LLDP)"
530
+ #: ../app/models/setting/discovered.rb:20
531
+ msgid "Automatic bond interface (if another interface is detected on the same VLAN via LLDP)"
569
532
  msgstr ""
570
533
 
571
- #: ../app/models/setting/discovered.rb:18
534
+ #: ../app/models/setting/discovered.rb:20
572
535
  msgid "Create bond interfaces"
573
536
  msgstr ""
574
537
 
575
- #: ../app/models/setting/discovered.rb:19
538
+ #: ../app/models/setting/discovered.rb:21
576
539
  msgid "Clean all reported facts during provisioning (except discovery facts)"
577
540
  msgstr ""
578
541
 
579
- #: ../app/models/setting/discovered.rb:19
542
+ #: ../app/models/setting/discovered.rb:21
580
543
  msgid "Clean all facts"
581
544
  msgstr ""
582
545
 
583
- #: ../app/models/setting/discovered.rb:20
546
+ #: ../app/models/setting/discovered.rb:22
584
547
  msgid "List of facts to use for the hostname (separated by comma, first wins)"
585
548
  msgstr ""
586
549
 
587
- #: ../app/models/setting/discovered.rb:20
550
+ #: ../app/models/setting/discovered.rb:22
588
551
  msgid "Hostname facts"
589
552
  msgstr ""
590
553
 
591
- #: ../app/models/setting/discovered.rb:21
592
- msgid ""
593
- "Automatically provision newly discovered hosts, according to the "
594
- "provisioning rules"
554
+ #: ../app/models/setting/discovered.rb:23
555
+ msgid "Automatically provision newly discovered hosts, according to the provisioning rules"
595
556
  msgstr ""
596
557
 
597
- #: ../app/models/setting/discovered.rb:21
558
+ #: ../app/models/setting/discovered.rb:23
598
559
  msgid "Auto provisioning"
599
560
  msgstr ""
600
561
 
601
- #: ../app/models/setting/discovered.rb:22
562
+ #: ../app/models/setting/discovered.rb:24
602
563
  msgid "Automatically reboot or kexec discovered host during provisioning"
603
564
  msgstr ""
604
565
 
605
- #: ../app/models/setting/discovered.rb:23
566
+ #: ../app/models/setting/discovered.rb:25
606
567
  msgid "The default prefix to use for the host name, must start with a letter"
607
568
  msgstr ""
608
569
 
609
- #: ../app/models/setting/discovered.rb:23
570
+ #: ../app/models/setting/discovered.rb:25
610
571
  msgid "Hostname prefix"
611
572
  msgstr ""
612
573
 
613
- #: ../app/models/setting/discovered.rb:24
574
+ #: ../app/models/setting/discovered.rb:26
614
575
  msgid "Extra facter columns to show in host lists (separate by comma)"
615
576
  msgstr ""
616
577
 
617
- #: ../app/models/setting/discovered.rb:24
578
+ #: ../app/models/setting/discovered.rb:26
618
579
  msgid "Fact columns"
619
580
  msgstr ""
620
581
 
621
- #: ../app/models/setting/discovered.rb:25
582
+ #: ../app/models/setting/discovered.rb:27
622
583
  msgid "Regex to organize facts for highlights section - e.g. ^(abc|cde)$"
623
584
  msgstr ""
624
585
 
625
- #: ../app/models/setting/discovered.rb:25
586
+ #: ../app/models/setting/discovered.rb:27
626
587
  msgid "Highlighted facts"
627
588
  msgstr ""
628
589
 
629
- #: ../app/models/setting/discovered.rb:26
590
+ #: ../app/models/setting/discovered.rb:28
630
591
  msgid "Regex to organize facts for storage section"
631
592
  msgstr "Expressió regular per a organitzar els objectes d'interès per a la secció d'emmagatzematge"
632
593
 
633
- #: ../app/models/setting/discovered.rb:26
594
+ #: ../app/models/setting/discovered.rb:28
634
595
  msgid "Storage facts"
635
596
  msgstr ""
636
597
 
637
- #: ../app/models/setting/discovered.rb:27
598
+ #: ../app/models/setting/discovered.rb:29
638
599
  msgid "Regex to organize facts for software section"
639
600
  msgstr "Expressió regular per a organitzar els objectes d'interès per a la secció de programari"
640
601
 
641
- #: ../app/models/setting/discovered.rb:27
602
+ #: ../app/models/setting/discovered.rb:29
642
603
  msgid "Software facts"
643
604
  msgstr ""
644
605
 
645
- #: ../app/models/setting/discovered.rb:28
606
+ #: ../app/models/setting/discovered.rb:30
646
607
  msgid "Regex to organize facts for hardware section"
647
608
  msgstr "Expressió regular per a organitzar els objectes d'interès per a la secció de programari"
648
609
 
649
- #: ../app/models/setting/discovered.rb:28
610
+ #: ../app/models/setting/discovered.rb:30
650
611
  msgid "Hardware facts"
651
612
  msgstr ""
652
613
 
653
- #: ../app/models/setting/discovered.rb:29
614
+ #: ../app/models/setting/discovered.rb:31
654
615
  msgid "Regex to organize facts for network section"
655
616
  msgstr "Expressió regular per a organitzar els objectes d'interès per a la secció de xarxa"
656
617
 
657
- #: ../app/models/setting/discovered.rb:29
618
+ #: ../app/models/setting/discovered.rb:31
658
619
  msgid "Network facts"
659
620
  msgstr ""
660
621
 
661
- #: ../app/models/setting/discovered.rb:30
622
+ #: ../app/models/setting/discovered.rb:32
662
623
  msgid "Regex to organize facts for ipmi section"
663
624
  msgstr "Expressió regular per a organitzar els objectes d'interès per a la secció ipmi"
664
625
 
665
- #: ../app/models/setting/discovered.rb:30
626
+ #: ../app/models/setting/discovered.rb:32
666
627
  msgid "IPMI facts"
667
628
  msgstr ""
668
629
 
669
- #: ../app/models/setting/discovered.rb:31
670
- msgid ""
671
- "Automatically generate PXE configuration to pin a newly discovered host to "
672
- "discovery"
630
+ #: ../app/models/setting/discovered.rb:33
631
+ msgid "Automatically generate PXE configuration to pin a newly discovered host to discovery"
673
632
  msgstr ""
674
633
 
675
- #: ../app/models/setting/discovered.rb:31
634
+ #: ../app/models/setting/discovered.rb:33
676
635
  msgid "Lock PXE"
677
636
  msgstr ""
678
637
 
679
- #: ../app/models/setting/discovered.rb:32
638
+ #: ../app/models/setting/discovered.rb:34
680
639
  msgid "PXELinux template to be used when pinning a host to discovery"
681
640
  msgstr ""
682
641
 
683
- #: ../app/models/setting/discovered.rb:32
642
+ #: ../app/models/setting/discovered.rb:34
684
643
  msgid "Locked PXELinux template name"
685
644
  msgstr ""
686
645
 
687
- #: ../app/models/setting/discovered.rb:33
646
+ #: ../app/models/setting/discovered.rb:35
688
647
  msgid "PXEGrub template to be used when pinning a host to discovery"
689
648
  msgstr ""
690
649
 
691
- #: ../app/models/setting/discovered.rb:33
650
+ #: ../app/models/setting/discovered.rb:35
692
651
  msgid "Locked PXEGrub template name"
693
652
  msgstr ""
694
653
 
695
- #: ../app/models/setting/discovered.rb:34
654
+ #: ../app/models/setting/discovered.rb:36
696
655
  msgid "PXEGrub2 template to be used when pinning a host to discovery"
697
656
  msgstr ""
698
657
 
699
- #: ../app/models/setting/discovered.rb:34
658
+ #: ../app/models/setting/discovered.rb:36
700
659
  msgid "Locked PXEGrub2 template name"
701
660
  msgstr ""
702
661
 
703
- #: ../app/models/setting/discovered.rb:35
662
+ #: ../app/models/setting/discovered.rb:37
704
663
  msgid "Force DNS entries creation when provisioning discovered host"
705
664
  msgstr ""
706
665
 
707
- #: ../app/models/setting/discovered.rb:35
666
+ #: ../app/models/setting/discovered.rb:37
708
667
  msgid "Force DNS"
709
668
  msgstr ""
710
669
 
711
- #: ../app/models/setting/discovered.rb:36
712
- msgid ""
713
- "Do not allow to discover existing managed host matching MAC of a "
714
- "provisioning NIC (errors out early)"
670
+ #: ../app/models/setting/discovered.rb:38
671
+ msgid "Do not allow to discover existing managed host matching MAC of a provisioning NIC (errors out early)"
715
672
  msgstr ""
716
673
 
717
- #: ../app/models/setting/discovered.rb:36
674
+ #: ../app/models/setting/discovered.rb:38
718
675
  msgid "Error on existing NIC"
719
676
  msgstr ""
720
677
 
721
- #: ../app/models/setting/discovered.rb:37
678
+ #: ../app/models/setting/discovered.rb:39
722
679
  msgid "Discovery hostname naming pattern"
723
680
  msgstr ""
724
681
 
725
- #: ../app/models/setting/discovered.rb:37
682
+ #: ../app/models/setting/discovered.rb:39
726
683
  msgid "Type of name generator"
727
684
  msgstr ""
728
685
 
@@ -735,20 +692,18 @@ msgid "Discovered host '%{host}' has all NICs filtered out, filter: %{filter}"
735
692
  msgstr ""
736
693
 
737
694
  #: ../app/services/foreman_discovery/fact_parser.rb:12
738
- msgid ""
739
- "Unable to find primary NIC with %{mac} specified via '%{fact}', NIC filter: "
740
- "%{filter}"
695
+ msgid "Unable to find primary NIC with %{mac} specified via '%{fact}', NIC filter: %{filter}"
741
696
  msgstr ""
742
697
 
743
- #: ../app/services/foreman_discovery/host_converter.rb:39
698
+ #: ../app/services/foreman_discovery/host_converter.rb:47
744
699
  msgid "IPAM must be configured for subnet '%s'"
745
700
  msgstr ""
746
701
 
747
- #: ../app/services/foreman_discovery/node_api/node_resource.rb:75
702
+ #: ../app/services/foreman_discovery/node_api/node_resource.rb:76
748
703
  msgid "Image API returned HTTP/%{code} with '%{body}"
749
704
  msgstr ""
750
705
 
751
- #: ../app/services/foreman_discovery/node_api/node_resource.rb:78
706
+ #: ../app/services/foreman_discovery/node_api/node_resource.rb:79
752
707
  msgid "Image API processing error: %{msg} (HTTP/%{code}, body: %{body})"
753
708
  msgstr ""
754
709
 
@@ -766,33 +721,23 @@ msgstr ""
766
721
  msgid "Host"
767
722
  msgstr "Amfitrió"
768
723
 
769
- #: ../app/views/dashboard/_discovery_widget_host_list.html.erb:4
770
- #: ../app/views/discovered_hosts/_discovered_hosts_list.html.erb:6
771
- #: ../app/views/discovered_hosts/_selected_hosts.html.erb:8
772
- #: ../app/views/discovered_mailer/discovered_summary.html.erb:18
773
- #: ../app/views/discovered_mailer/discovered_summary.text.erb:10
724
+ #: ../app/views/dashboard/_discovery_widget_host_list.html.erb:4 ../app/views/discovered_hosts/_discovered_hosts_list.html.erb:6 ../app/views/discovered_hosts/_selected_hosts.html.erb:8 ../app/views/discovered_mailer/discovered_summary.html.erb:18 ../app/views/discovered_mailer/discovered_summary.text.erb:10
774
725
  msgid "Model"
775
726
  msgstr "Model"
776
727
 
777
- #: ../app/views/dashboard/_discovery_widget_host_list.html.erb:5
778
- #: ../app/views/discovered_hosts/_discovered_hosts_list.html.erb:8
779
- #: ../app/views/discovered_mailer/discovered_summary.html.erb:20
780
- #: ../app/views/discovered_mailer/discovered_summary.text.erb:12
728
+ #: ../app/views/dashboard/_discovery_widget_host_list.html.erb:5 ../app/views/discovered_hosts/_discovered_hosts_list.html.erb:8 ../app/views/discovered_mailer/discovered_summary.html.erb:20 ../app/views/discovered_mailer/discovered_summary.text.erb:12
781
729
  msgid "CPUs"
782
730
  msgstr "Les CPU"
783
731
 
784
- #: ../app/views/dashboard/_discovery_widget_host_list.html.erb:6
785
- #: ../app/views/discovered_hosts/_discovered_hosts_list.html.erb:9
786
- #: ../app/views/discovered_mailer/discovered_summary.html.erb:21
787
- #: ../app/views/discovered_mailer/discovered_summary.text.erb:13
732
+ #: ../app/views/dashboard/_discovery_widget_host_list.html.erb:6 ../app/views/discovered_hosts/_discovered_hosts_list.html.erb:9 ../app/views/discovered_mailer/discovered_summary.html.erb:21 ../app/views/discovered_mailer/discovered_summary.text.erb:13
788
733
  msgid "Memory"
789
734
  msgstr "Memòria"
790
735
 
791
- #: ../app/views/discovered_hosts/_discovered_host_modal.html.erb:25
736
+ #: ../app/views/discovered_hosts/_discovered_host_modal.html.erb:23
792
737
  msgid "Customize Host"
793
738
  msgstr ""
794
739
 
795
- #: ../app/views/discovered_hosts/_discovered_host_modal.html.erb:26
740
+ #: ../app/views/discovered_hosts/_discovered_host_modal.html.erb:24
796
741
  msgid "Create Host"
797
742
  msgstr "Crea un amfitrió"
798
743
 
@@ -804,16 +749,11 @@ msgstr "Selecciona tots els ítems en aquesta pàgina"
804
749
  msgid "items selected. Uncheck to Clear"
805
750
  msgstr "ítems seleccionats. Desmarca per netejar"
806
751
 
807
- #: ../app/views/discovered_hosts/_discovered_hosts_list.html.erb:5
808
- #: ../app/views/discovered_hosts/_selected_hosts.html.erb:7
809
- #: ../app/views/discovered_mailer/discovered_summary.html.erb:17
810
- #: ../app/views/discovered_mailer/discovered_summary.text.erb:9
752
+ #: ../app/views/discovered_hosts/_discovered_hosts_list.html.erb:5 ../app/views/discovered_hosts/_selected_hosts.html.erb:7 ../app/views/discovered_mailer/discovered_summary.html.erb:17 ../app/views/discovered_mailer/discovered_summary.text.erb:9
811
753
  msgid "Name"
812
754
  msgstr "Nom"
813
755
 
814
- #: ../app/views/discovered_hosts/_discovered_hosts_list.html.erb:7
815
- #: ../app/views/discovered_mailer/discovered_summary.html.erb:19
816
- #: ../app/views/discovered_mailer/discovered_summary.text.erb:11
756
+ #: ../app/views/discovered_hosts/_discovered_hosts_list.html.erb:7 ../app/views/discovered_mailer/discovered_summary.html.erb:19 ../app/views/discovered_mailer/discovered_summary.text.erb:11
817
757
  msgid "IP Address"
818
758
  msgstr "Adreça IP"
819
759
 
@@ -825,13 +765,11 @@ msgstr ""
825
765
  msgid "Disks Size"
826
766
  msgstr ""
827
767
 
828
- #: ../app/views/discovered_hosts/_discovered_hosts_list.html.erb:15
829
- #: ../app/views/discovered_hosts/_selected_hosts.html.erb:9
768
+ #: ../app/views/discovered_hosts/_discovered_hosts_list.html.erb:15 ../app/views/discovered_hosts/_selected_hosts.html.erb:9
830
769
  msgid "Location"
831
770
  msgstr "Ubicació"
832
771
 
833
- #: ../app/views/discovered_hosts/_discovered_hosts_list.html.erb:16
834
- #: ../app/views/discovered_hosts/_selected_hosts.html.erb:10
772
+ #: ../app/views/discovered_hosts/_discovered_hosts_list.html.erb:16 ../app/views/discovered_hosts/_selected_hosts.html.erb:10
835
773
  msgid "Organization"
836
774
  msgstr "Organització"
837
775
 
@@ -843,8 +781,7 @@ msgstr "Subxarxa"
843
781
  msgid "Last Facts Upload"
844
782
  msgstr ""
845
783
 
846
- #: ../app/views/discovered_hosts/_discovered_hosts_list.html.erb:19
847
- #: ../app/views/discovery_rules/index.html.erb:12
784
+ #: ../app/views/discovered_hosts/_discovered_hosts_list.html.erb:19 ../app/views/discovery_rules/index.html.erb:12
848
785
  msgid "Actions"
849
786
  msgstr "Accions"
850
787
 
@@ -865,9 +802,7 @@ msgid "Provision %s"
865
802
  msgstr ""
866
803
 
867
804
  #: ../app/views/discovered_hosts/multiple_destroy.html.erb:3
868
- msgid ""
869
- "This might take a while, as all hosts, facts and reports will be destroyed "
870
- "as well"
805
+ msgid "This might take a while, as all hosts, facts and reports will be destroyed as well"
871
806
  msgstr ""
872
807
 
873
808
  #: ../app/views/discovered_hosts/select_multiple_location.html.erb:5
@@ -911,9 +846,7 @@ msgid "No discovered hosts found in this context."
911
846
  msgstr ""
912
847
 
913
848
  #: ../app/views/discovered_hosts/welcome.html.erb:8
914
- msgid ""
915
- "This page shows discovered bare-metal or virtual nodes waiting to be "
916
- "provisioned."
849
+ msgid "This page shows discovered bare-metal or virtual nodes waiting to be provisioned."
917
850
  msgstr ""
918
851
 
919
852
  #: ../app/views/discovered_hosts/welcome.html.erb:9
@@ -928,23 +861,19 @@ msgstr ""
928
861
  msgid "<b>Foreman</b> Discovered hosts summary"
929
862
  msgstr ""
930
863
 
931
- #: ../app/views/discovered_mailer/discovered_summary.html.erb:10
932
- #: ../app/views/discovered_mailer/discovered_summary.text.erb:5
864
+ #: ../app/views/discovered_mailer/discovered_summary.html.erb:10 ../app/views/discovered_mailer/discovered_summary.text.erb:5
933
865
  msgid "Summary from %{time} ago to %{now}"
934
866
  msgstr ""
935
867
 
936
- #: ../app/views/discovered_mailer/discovered_summary.html.erb:11
937
- #: ../app/views/discovered_mailer/discovered_summary.text.erb:3
868
+ #: ../app/views/discovered_mailer/discovered_summary.html.erb:11 ../app/views/discovered_mailer/discovered_summary.text.erb:3
938
869
  msgid "Discovered hosts from Foreman server at %{foreman_url}"
939
870
  msgstr ""
940
871
 
941
- #: ../app/views/discovered_mailer/discovered_summary.html.erb:22
942
- #: ../app/views/discovered_mailer/discovered_summary.text.erb:14
872
+ #: ../app/views/discovered_mailer/discovered_summary.html.erb:22 ../app/views/discovered_mailer/discovered_summary.text.erb:14
943
873
  msgid "Disk count"
944
874
  msgstr "Nombre de discs"
945
875
 
946
- #: ../app/views/discovered_mailer/discovered_summary.html.erb:23
947
- #: ../app/views/discovered_mailer/discovered_summary.text.erb:15
876
+ #: ../app/views/discovered_mailer/discovered_summary.html.erb:23 ../app/views/discovered_mailer/discovered_summary.text.erb:15
948
877
  msgid "Disks size"
949
878
  msgstr "Mida de disc"
950
879
 
@@ -993,41 +922,30 @@ msgid "Rule priority (lower integer means higher priority)"
993
922
  msgstr ""
994
923
 
995
924
  #: ../app/views/discovery_rules/_template_inline.erb:2
996
- msgid ""
997
- "Specify target hostname template pattern in the same syntax as in "
998
- "Provisioning Templates (ERB)."
925
+ msgid "Specify target hostname template pattern in the same syntax as in Provisioning Templates (ERB)."
999
926
  msgstr ""
1000
927
 
1001
928
  #: ../app/views/discovery_rules/_template_inline.erb:4
1002
- msgid ""
1003
- "Domain will be appended automatically. A hostname based on MAC address will "
1004
- "be used when left blank."
929
+ msgid "Domain will be appended automatically. A hostname based on MAC address will be used when left blank."
1005
930
  msgstr ""
1006
931
 
1007
932
  #: ../app/views/discovery_rules/_template_inline.erb:5
1008
- msgid ""
1009
- "In addition to @host attribute function rand for random integers is "
1010
- "available. Examples:"
933
+ msgid "In addition to @host attribute function rand for random integers is available. Examples:"
1011
934
  msgstr ""
1012
935
 
1013
936
  #: ../app/views/discovery_rules/_template_inline.erb:8
1014
- msgid ""
1015
- "When creating hostname patterns, make sure the resulting host names are "
1016
- "unique."
937
+ msgid "When creating hostname patterns, make sure the resulting host names are unique."
1017
938
  msgstr ""
1018
939
 
1019
940
  #: ../app/views/discovery_rules/_template_inline.erb:9
1020
- msgid ""
1021
- "Hostnames must not start with numbers. A good approach is to use unique "
1022
- "information provided by facter (MAC address, BIOS or serial ID)."
941
+ msgid "Hostnames must not start with numbers. A good approach is to use unique information provided by facter (MAC address, BIOS or serial ID)."
1023
942
  msgstr ""
1024
943
 
1025
944
  #: ../app/views/discovery_rules/edit.html.erb:1
1026
945
  msgid "Edit %s"
1027
946
  msgstr "Edita %s"
1028
947
 
1029
- #: ../app/views/discovery_rules/index.html.erb:1
1030
- #: ../lib/foreman_discovery/engine.rb:163
948
+ #: ../app/views/discovery_rules/index.html.erb:1 ../lib/foreman_discovery/engine.rb:163
1031
949
  msgid "Discovery Rules"
1032
950
  msgstr "Regles de descobriment"
1033
951
 
@@ -1092,13 +1010,25 @@ msgid "Discovery Proxy"
1092
1010
  msgstr ""
1093
1011
 
1094
1012
  #: ../lib/foreman_discovery/engine.rb:189
1095
- msgid ""
1096
- "Discovery Proxy to use within this subnet for managing connection to "
1097
- "discovered hosts"
1013
+ msgid "Discovery Proxy to use within this subnet for managing connection to discovered hosts"
1098
1014
  msgstr ""
1099
1015
 
1100
1016
  #: ../lib/foreman_discovery/engine.rb:190
1101
- msgid ""
1102
- "ID of Discovery Proxy to use within this subnet for managing connection to "
1103
- "discovered hosts"
1017
+ msgid "ID of Discovery Proxy to use within this subnet for managing connection to discovered hosts"
1018
+ msgstr ""
1019
+
1020
+ #: action_names.rb:2
1021
+ msgid "Remote action:"
1022
+ msgstr ""
1023
+
1024
+ #: action_names.rb:3
1025
+ msgid "Import Puppet classes"
1026
+ msgstr ""
1027
+
1028
+ #: action_names.rb:4
1029
+ msgid "Import facts"
1030
+ msgstr ""
1031
+
1032
+ #: action_names.rb:5
1033
+ msgid "Action with sub plans"
1104
1034
  msgstr ""