foreman_discovery 16.1.4 → 16.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/controllers/api/v2/discovered_hosts_controller.rb +14 -8
- data/app/helpers/discovered_hosts_helper.rb +5 -0
- data/app/models/host/discovered.rb +11 -15
- data/app/models/setting/discovered.rb +3 -1
- data/app/services/foreman_discovery/host_fact_importer.rb +10 -0
- data/app/services/foreman_discovery/import_hooks/subnet_and_taxonomy.rb +2 -0
- data/app/views/api/v2/discovery_rules/create.json.rabl +3 -0
- data/app/views/discovered_hosts/welcome.html.erb +14 -9
- data/app/views/discovery_rules/index.html.erb +1 -1
- data/app/views/foreman_discovery/debian_kexec.erb +3 -2
- data/app/views/foreman_discovery/redhat_kexec.erb +3 -2
- data/extra/discover-host +3 -3
- data/lib/foreman_discovery/engine.rb +3 -2
- data/lib/foreman_discovery/version.rb +1 -1
- data/locale/ca/LC_MESSAGES/foreman_discovery.mo +0 -0
- data/locale/ca/foreman_discovery.edit.po +104 -75
- data/locale/ca/foreman_discovery.po +25 -10
- data/locale/de/LC_MESSAGES/foreman_discovery.mo +0 -0
- data/locale/de/foreman_discovery.edit.po +111 -82
- data/locale/de/foreman_discovery.po +25 -10
- data/locale/en/LC_MESSAGES/foreman_discovery.mo +0 -0
- data/locale/en/foreman_discovery.edit.po +97 -73
- data/locale/en/foreman_discovery.po +25 -10
- data/locale/en_GB/LC_MESSAGES/foreman_discovery.mo +0 -0
- data/locale/en_GB/foreman_discovery.edit.po +110 -81
- data/locale/en_GB/foreman_discovery.po +25 -10
- data/locale/es/LC_MESSAGES/foreman_discovery.mo +0 -0
- data/locale/es/foreman_discovery.edit.po +112 -83
- data/locale/es/foreman_discovery.po +25 -10
- data/locale/foreman_discovery.pot +137 -114
- data/locale/fr/LC_MESSAGES/foreman_discovery.mo +0 -0
- data/locale/fr/foreman_discovery.edit.po +112 -83
- data/locale/fr/foreman_discovery.po +25 -10
- data/locale/gl/LC_MESSAGES/foreman_discovery.mo +0 -0
- data/locale/gl/foreman_discovery.edit.po +103 -74
- data/locale/gl/foreman_discovery.po +25 -10
- data/locale/it/LC_MESSAGES/foreman_discovery.mo +0 -0
- data/locale/it/foreman_discovery.edit.po +110 -81
- data/locale/it/foreman_discovery.po +25 -10
- data/locale/ja/LC_MESSAGES/foreman_discovery.mo +0 -0
- data/locale/ja/foreman_discovery.edit.po +112 -83
- data/locale/ja/foreman_discovery.po +25 -10
- data/locale/ko/LC_MESSAGES/foreman_discovery.mo +0 -0
- data/locale/ko/foreman_discovery.edit.po +110 -81
- data/locale/ko/foreman_discovery.po +25 -10
- data/locale/pt_BR/LC_MESSAGES/foreman_discovery.mo +0 -0
- data/locale/pt_BR/foreman_discovery.edit.po +112 -83
- data/locale/pt_BR/foreman_discovery.po +25 -10
- data/locale/ru/LC_MESSAGES/foreman_discovery.mo +0 -0
- data/locale/ru/foreman_discovery.edit.po +111 -82
- data/locale/ru/foreman_discovery.po +25 -10
- data/locale/sv_SE/LC_MESSAGES/foreman_discovery.mo +0 -0
- data/locale/sv_SE/foreman_discovery.edit.po +104 -75
- data/locale/sv_SE/foreman_discovery.po +25 -10
- data/locale/zh_CN/LC_MESSAGES/foreman_discovery.mo +0 -0
- data/locale/zh_CN/foreman_discovery.edit.po +112 -83
- data/locale/zh_CN/foreman_discovery.po +25 -10
- data/locale/zh_TW/LC_MESSAGES/foreman_discovery.mo +0 -0
- data/locale/zh_TW/foreman_discovery.edit.po +110 -81
- data/locale/zh_TW/foreman_discovery.po +25 -10
- data/package.json +39 -0
- data/test/facts/only-ipv6.json +205 -0
- data/test/facts/skylake-ipv6.json +223 -0
- data/test/functional/api/v2/settings_controller_test.rb +2 -2
- data/test/functional/discovered_hosts_controller_test.rb +1 -1
- data/test/functional/discovery_rules_controller_test.rb +1 -1
- data/test/unit/host_discovered_test.rb +0 -16
- data/webpack/index.js +18 -0
- data/webpack/src/ForemanDiscovery/DiscoveredHosts/Components/EmptyState/EmptyState.js +28 -0
- data/webpack/src/ForemanDiscovery/DiscoveredHosts/Components/EmptyState/index.js +1 -0
- data/webpack/src/ForemanDiscovery/DiscoveredHosts/index.js +6 -0
- data/webpack/src/reducers.js +7 -0
- metadata +21 -11
- data/test/facts/vmware-facter4-nolegacy.json +0 -402
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5404d1b999eff25f29e39cf14d77a7e85473e29a50a677ac3254aadfd1bc53a4
|
4
|
+
data.tar.gz: 803b2278dd981b8123cd88593f7fb00fd974b69711e848da60f31fd85dabbb90
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b4d290ab7aeb3cd8ed2254159ccead4c2ad69138b68e3758c9724e9eac5e99cfefcc654af9a12dda964201cca307f87f161682000f878a70dbcb1241996a57ad
|
7
|
+
data.tar.gz: 6398fa38e8625aee40bc6bc4ea387cced9ee50eba1e06fcdd711256e587f96c3d4d782738fd3efaf5b3bc0a3c2330f0f733088fdc5f8eafa8e3360a8bdeaea09
|
@@ -51,24 +51,30 @@ module Api
|
|
51
51
|
param :id, :identifier, :required => true
|
52
52
|
param :discovered_host, Hash, :action_aware => true do
|
53
53
|
param :name, String
|
54
|
-
param :environment_id, String
|
54
|
+
param :environment_id, String, :desc => N_("required if host is managed and value is not inherited from host group")
|
55
55
|
param :ip, String, :desc => N_("not required if using a subnet with DHCP proxy")
|
56
56
|
param :mac, String, :desc => N_("not required if it's a virtual machine")
|
57
|
-
param :architecture_id, :number
|
58
|
-
param :domain_id, :number
|
57
|
+
param :architecture_id, :number, :desc => N_("required if host is managed and value is not inherited from host group")
|
58
|
+
param :domain_id, :number, :desc => N_("required if host is managed and value is not inherited from host group")
|
59
59
|
param :puppet_proxy_id, :number
|
60
60
|
param :puppet_class_ids, Array
|
61
|
-
param :operatingsystem_id,
|
62
|
-
param :medium_id, :
|
63
|
-
param :ptable_id, :number
|
64
|
-
param :subnet_id, :number
|
61
|
+
param :operatingsystem_id, :number, :desc => N_("required if host is managed and value is not inherited from host group")
|
62
|
+
param :medium_id, String, :desc => N_("required if not imaged based provisioning and host is managed and value is not inherited from host group")
|
63
|
+
param :ptable_id, :number, :desc => N_("required if host is managed and custom partition has not been defined")
|
64
|
+
param :subnet_id, :number, :desc => N_("required if host is managed and value is not inherited from host group")
|
65
65
|
param :sp_subnet_id, :number
|
66
66
|
param :model_id, :number
|
67
67
|
param :hostgroup_id, :number
|
68
68
|
param :owner_id, :number
|
69
|
+
param :owner_type, Host::Base::OWNER_TYPES, :desc => N_("Host's owner type")
|
69
70
|
param :puppet_ca_proxy_id, :number
|
70
71
|
param :image_id, :number
|
71
|
-
param :host_parameters_attributes, Array
|
72
|
+
param :host_parameters_attributes, Array, :desc => N_("Host's parameters (array or indexed hash)") do
|
73
|
+
param :name, String, :desc => N_("Name of the parameter"), :required => true
|
74
|
+
param :value, String, :desc => N_("Parameter value"), :required => true
|
75
|
+
param :parameter_type, Parameter::KEY_TYPES, :desc => N_("Type of value")
|
76
|
+
param :hidden_value, :bool
|
77
|
+
end
|
72
78
|
param :build, :bool
|
73
79
|
param :enabled, :bool
|
74
80
|
param :provision_method, String
|
@@ -97,4 +97,9 @@ module DiscoveredHostsHelper
|
|
97
97
|
return super unless controller_name == 'discovered_hosts'
|
98
98
|
discovered_host_path(host)
|
99
99
|
end
|
100
|
+
|
101
|
+
def discovery_doc_url
|
102
|
+
doc_version = Foreman::Plugin.find(:foreman_discovery).version.scan(/\d+\.\d+/).first
|
103
|
+
"https://theforeman.org/plugins/foreman_discovery/#{doc_version}"
|
104
|
+
end
|
100
105
|
end
|
@@ -44,9 +44,13 @@ class Host::Discovered < ::Host::Base
|
|
44
44
|
|
45
45
|
# Discovery import workflow:
|
46
46
|
# discovered#import_host ->
|
47
|
-
#
|
48
|
-
#
|
49
|
-
#
|
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
|
-
|
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,10 +140,10 @@ 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
|
-
raise ::Foreman::WrappedException.new(e, N_("Could not get facts from proxy %{url}: %{error}"), :url => proxy_url, :error => e)
|
146
|
+
raise ::Foreman::WrappedException.new(e, N_("Could not get facts from proxy %{url}: %{error}"), :url => proxy_url(self.ip), :error => e)
|
151
147
|
end
|
152
148
|
|
153
149
|
def reboot(old_ip = nil, new_ip = nil)
|
@@ -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
|
-
|
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
|
[
|
@@ -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
|
@@ -35,6 +35,7 @@ module ForemanDiscovery
|
|
35
35
|
Location.find_by_title(facts["discovery_location"]) ||
|
36
36
|
Location.find_by_title(Setting[:discovery_location]) ||
|
37
37
|
host.subnet.try(:locations).try(:first) ||
|
38
|
+
host.subnet6.try(:locations).try(:first) ||
|
38
39
|
Location.first
|
39
40
|
end
|
40
41
|
|
@@ -48,6 +49,7 @@ module ForemanDiscovery
|
|
48
49
|
Organization.find_by_title(facts["discovery_organization"]) ||
|
49
50
|
Organization.find_by_title(Setting[:discovery_organization]) ||
|
50
51
|
host.subnet.try(:organizations).try(:first) ||
|
52
|
+
host.subnet6.try(:organizations).try(:first) ||
|
51
53
|
Organization.first
|
52
54
|
end
|
53
55
|
end
|
@@ -1,10 +1,15 @@
|
|
1
|
+
<% content_for(:javascripts) do %>
|
2
|
+
<%= webpacked_plugins_js_for :'foreman_discovery' %>
|
3
|
+
<% end %>
|
4
|
+
<% content_for(:stylesheets) do %>
|
5
|
+
<%= webpacked_plugins_css_for :'foreman_discovery' %>
|
6
|
+
<% end %>
|
7
|
+
|
1
8
|
<% content_for(:title, _("Discovered Hosts")) %>
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
<
|
7
|
-
|
8
|
-
|
9
|
-
<p><%= link_to _('Learn more about this in the documentation.'), documentation_url("#{ForemanDiscovery::VERSION.scan(/\d+\.\d+/).first}/index.html", {:root_url => 'https://theforeman.org/plugins/foreman_discovery/'})%></p>
|
10
|
-
</div>
|
9
|
+
|
10
|
+
<% content_for(:content) do %>
|
11
|
+
<%= notifications %>
|
12
|
+
<div id="organization-id" data-id="<%= Organization.current.id if Organization.current %>" ></div>
|
13
|
+
<div id="user-id" data-id="<%= User.current.id if User.current %>" ></div>
|
14
|
+
<%= react_component('DiscoveredHosts', docUrl: discovery_doc_url ) %>
|
15
|
+
<% end %>
|
@@ -18,7 +18,7 @@
|
|
18
18
|
<td><%= trunc_with_tooltip(rule.search) %></td>
|
19
19
|
<td><%= label_with_link(rule.hostgroup, 26, authorizer) %></td>
|
20
20
|
<td><%= rule.hosts.count %> / <%= rule.max_count %></td>
|
21
|
-
<td><%= rule.enabled %></td>
|
21
|
+
<td><%= checked_icon rule.enabled %></td>
|
22
22
|
<td><%= action_buttons(*permitted_discovery_actions(rule)) %></td>
|
23
23
|
</tr>
|
24
24
|
<% end %>
|
@@ -12,13 +12,14 @@ 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 --
|
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']
|
21
|
-
bootif = '
|
22
|
+
bootif = host_param("hardware_type", "01") + '-' + mac.gsub(':', '-') if mac
|
22
23
|
ip_cidr = @host.facts['discovery_ip_cidr']
|
23
24
|
ip = @host.facts['discovery_ip']
|
24
25
|
mask = @host.facts['discovery_netmask']
|
@@ -22,13 +22,14 @@ 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 --
|
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']
|
31
|
-
bootif = '
|
32
|
+
bootif = host_param("hardware_type", "01") + '-' + mac.gsub(':', '-') if mac
|
32
33
|
ip_cidr = @host.facts['discovery_ip_cidr']
|
33
34
|
ip = @host.facts['discovery_ip']
|
34
35
|
mask = @host.facts['discovery_netmask']
|
data/extra/discover-host
CHANGED
@@ -79,12 +79,12 @@ unless preserve_interfaces
|
|
79
79
|
name, subnet, mac, explicit_ip = iface
|
80
80
|
mac ||= (["52"] + 5.times.map { '%02x' % rand(0..255) }).join(':')
|
81
81
|
json["macaddress_#{name}"] = mac
|
82
|
-
|
82
|
+
_, prefix = subnet.split('/')
|
83
83
|
if subnet.include?('.')
|
84
|
-
random_ip = IPAddr.new(subnet, Socket::AF_INET) | IPAddr.new(rand(2**prefix.to_i), Socket::AF_INET)
|
84
|
+
random_ip = IPAddr.new(subnet, Socket::AF_INET) | IPAddr.new(rand(2**(32 - prefix.to_i)), Socket::AF_INET)
|
85
85
|
fact_name = "ipaddress"
|
86
86
|
else
|
87
|
-
random_ip = IPAddr.new(subnet, Socket::AF_INET6) | IPAddr.new(rand(2**prefix.to_i), Socket::AF_INET6)
|
87
|
+
random_ip = IPAddr.new(subnet, Socket::AF_INET6) | IPAddr.new(rand(2**(32 - prefix.to_i)), Socket::AF_INET6)
|
88
88
|
fact_name = "ipaddress6"
|
89
89
|
end
|
90
90
|
json["#{fact_name}_#{name}"] = explicit_ip ? explicit_ip : random_ip
|
@@ -43,13 +43,14 @@ 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 '>=
|
46
|
+
requires_foreman '>= 2.3'
|
47
47
|
|
48
48
|
# discovered hosts permissions
|
49
49
|
security_block :discovery do
|
50
50
|
permission :view_discovered_hosts, {
|
51
51
|
:discovered_hosts => [:index, :show, :auto_complete_search, :welcome],
|
52
|
-
:"api/v2/discovered_hosts" => [:index, :show]
|
52
|
+
:"api/v2/discovered_hosts" => [:index, :show],
|
53
|
+
:'discovered_hosts/react' => [:index]
|
53
54
|
}, :resource_type => 'Host'
|
54
55
|
permission :submit_discovered_hosts, {
|
55
56
|
:"api/v2/discovered_hosts" => [:facts, :create]
|
Binary file
|
@@ -9,8 +9,9 @@ msgid ""
|
|
9
9
|
msgstr ""
|
10
10
|
"Project-Id-Version: foreman_discovery 16.3.4\n"
|
11
11
|
"Report-Msgid-Bugs-To: \n"
|
12
|
-
"
|
13
|
-
"
|
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"
|
14
15
|
"Language-Team: Catalan (http://www.transifex.com/foreman/foreman/language/ca/)"
|
15
16
|
"\n"
|
16
17
|
"MIME-Version: 1.0\n"
|
@@ -115,51 +116,51 @@ msgstr "Puja els objectes d'interès per a un amfitrió, creant el nou amfitrió
|
|
115
116
|
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)"
|
116
117
|
msgstr ""
|
117
118
|
|
118
|
-
#: ../app/controllers/api/v2/discovered_hosts_controller.rb:
|
119
|
+
#: ../app/controllers/api/v2/discovered_hosts_controller.rb:130
|
119
120
|
msgid "Execute rules against a discovered host"
|
120
121
|
msgstr ""
|
121
122
|
|
122
|
-
#: ../app/controllers/api/v2/discovered_hosts_controller.rb:
|
123
|
+
#: ../app/controllers/api/v2/discovered_hosts_controller.rb:136 ../app/controllers/discovered_hosts_controller.rb:157
|
123
124
|
msgid "Host %{host} was provisioned with rule %{rule}"
|
124
125
|
msgstr "L'amfitrió %{host} va ser aprovisionat amb la regla %{rule}"
|
125
126
|
|
126
|
-
#: ../app/controllers/api/v2/discovered_hosts_controller.rb:
|
127
|
+
#: ../app/controllers/api/v2/discovered_hosts_controller.rb:139
|
127
128
|
msgid "Unable to provision %{host}: %{errors}"
|
128
129
|
msgstr "No es pot aprovisionar a %{host}: %{errors}"
|
129
130
|
|
130
|
-
#: ../app/controllers/api/v2/discovered_hosts_controller.rb:
|
131
|
+
#: ../app/controllers/api/v2/discovered_hosts_controller.rb:145 ../app/controllers/discovered_hosts_controller.rb:164
|
131
132
|
msgid "No rule found for host %s"
|
132
133
|
msgstr "No s'ha trobat cap regla per a l'amfitrió %s"
|
133
134
|
|
134
|
-
#: ../app/controllers/api/v2/discovered_hosts_controller.rb:
|
135
|
+
#: ../app/controllers/api/v2/discovered_hosts_controller.rb:152
|
135
136
|
msgid "Execute rules against all currently discovered hosts"
|
136
137
|
msgstr "Executa les regles contra tots els amfitrions detectats actualment"
|
137
138
|
|
138
|
-
#: ../app/controllers/api/v2/discovered_hosts_controller.rb:
|
139
|
+
#: ../app/controllers/api/v2/discovered_hosts_controller.rb:156 ../app/controllers/discovered_hosts_controller.rb:170
|
139
140
|
msgid "Errors during auto provisioning: %s"
|
140
141
|
msgstr "Erros durant l'auto aprovisionament: %s"
|
141
142
|
|
142
|
-
#: ../app/controllers/api/v2/discovered_hosts_controller.rb:
|
143
|
+
#: ../app/controllers/api/v2/discovered_hosts_controller.rb:159 ../app/controllers/discovered_hosts_controller.rb:173
|
143
144
|
msgid "No discovered hosts to provision"
|
144
145
|
msgstr "Sense amfitrions descoberts per aprovisionar"
|
145
146
|
|
146
|
-
#: ../app/controllers/api/v2/discovered_hosts_controller.rb:
|
147
|
+
#: ../app/controllers/api/v2/discovered_hosts_controller.rb:181
|
147
148
|
msgid "%s discovered hosts were provisioned"
|
148
149
|
msgstr "%s amfitrions descoberts van ser aprovisionats"
|
149
150
|
|
150
|
-
#: ../app/controllers/api/v2/discovered_hosts_controller.rb:
|
151
|
+
#: ../app/controllers/api/v2/discovered_hosts_controller.rb:192
|
151
152
|
msgid "Refreshing the facts of a discovered host"
|
152
153
|
msgstr "S'estan refrescant els objectes d'interès d'un amfitrió descobert"
|
153
154
|
|
154
|
-
#: ../app/controllers/api/v2/discovered_hosts_controller.rb:
|
155
|
+
#: ../app/controllers/api/v2/discovered_hosts_controller.rb:201
|
155
156
|
msgid "Rebooting a discovered host"
|
156
157
|
msgstr "S'està reiniciant un amfitrió descobert"
|
157
158
|
|
158
|
-
#: ../app/controllers/api/v2/discovered_hosts_controller.rb:
|
159
|
+
#: ../app/controllers/api/v2/discovered_hosts_controller.rb:210
|
159
160
|
msgid "Rebooting all discovered hosts"
|
160
161
|
msgstr "S'estan reiniciant tots els amfitrions descoberts"
|
161
162
|
|
162
|
-
#: ../app/controllers/api/v2/discovered_hosts_controller.rb:
|
163
|
+
#: ../app/controllers/api/v2/discovered_hosts_controller.rb:221 ../app/controllers/discovered_hosts_controller.rb:126
|
163
164
|
msgid "Discovered hosts are rebooting now"
|
164
165
|
msgstr "Ara s'estan reiniciant els amfitrions descoberts"
|
165
166
|
|
@@ -239,110 +240,86 @@ msgstr "Errors durant el reinici: %s"
|
|
239
240
|
msgid "No discovered hosts to reboot"
|
240
241
|
msgstr ""
|
241
242
|
|
242
|
-
#: ../app/controllers/discovered_hosts_controller.rb:
|
243
|
+
#: ../app/controllers/discovered_hosts_controller.rb:60
|
243
244
|
msgid "Successfully provisioned %s"
|
244
245
|
msgstr ""
|
245
246
|
|
246
|
-
#: ../app/controllers/discovered_hosts_controller.rb:
|
247
|
+
#: ../app/controllers/discovered_hosts_controller.rb:94
|
247
248
|
msgid "Facts refreshed for %s"
|
248
249
|
msgstr "Els objectes d'interès que s'han refrescat per a %s"
|
249
250
|
|
250
|
-
#: ../app/controllers/discovered_hosts_controller.rb:
|
251
|
+
#: ../app/controllers/discovered_hosts_controller.rb:96
|
251
252
|
msgid "Failed to refresh facts for %s"
|
252
253
|
msgstr "No s'ha pogut refrescar els objectes d'interès per a %s"
|
253
254
|
|
254
|
-
#: ../app/controllers/discovered_hosts_controller.rb:
|
255
|
+
#: ../app/controllers/discovered_hosts_controller.rb:99
|
255
256
|
msgid "Failed to refresh facts for %{hostname} with error %{error_message}"
|
256
257
|
msgstr ""
|
257
258
|
|
258
|
-
#: ../app/controllers/discovered_hosts_controller.rb:
|
259
|
+
#: ../app/controllers/discovered_hosts_controller.rb:106
|
259
260
|
msgid "Host of type %s can not be rebooted"
|
260
261
|
msgstr ""
|
261
262
|
|
262
|
-
#: ../app/controllers/discovered_hosts_controller.rb:
|
263
|
+
#: ../app/controllers/discovered_hosts_controller.rb:110
|
263
264
|
msgid "Rebooting host %s"
|
264
265
|
msgstr "S'està reiniciant l'amfitrió %s"
|
265
266
|
|
266
|
-
#: ../app/controllers/discovered_hosts_controller.rb:
|
267
|
+
#: ../app/controllers/discovered_hosts_controller.rb:112
|
267
268
|
msgid "Failed to reboot host %s"
|
268
269
|
msgstr "No s'ha pogut reiniciar l'amfitrió %s."
|
269
270
|
|
270
|
-
#: ../app/controllers/discovered_hosts_controller.rb:
|
271
|
+
#: ../app/controllers/discovered_hosts_controller.rb:115
|
271
272
|
msgid "Failed to reboot host %{hostname} with error %{error_message}"
|
272
273
|
msgstr ""
|
273
274
|
|
274
|
-
#: ../app/controllers/discovered_hosts_controller.rb:
|
275
|
+
#: ../app/controllers/discovered_hosts_controller.rb:129
|
275
276
|
msgid "Failed to reboot hosts with error %s"
|
276
277
|
msgstr ""
|
277
278
|
|
278
|
-
#: ../app/controllers/discovered_hosts_controller.rb:
|
279
|
+
#: ../app/controllers/discovered_hosts_controller.rb:147
|
279
280
|
msgid "Destroyed selected hosts"
|
280
281
|
msgstr "S'han destruït els amfitrions seleccionats"
|
281
282
|
|
282
|
-
#: ../app/controllers/discovered_hosts_controller.rb:
|
283
|
+
#: ../app/controllers/discovered_hosts_controller.rb:149
|
283
284
|
msgid "The following hosts were not deleted: %s"
|
284
285
|
msgstr ""
|
285
286
|
|
286
|
-
#: ../app/controllers/discovered_hosts_controller.rb:
|
287
|
+
#: ../app/controllers/discovered_hosts_controller.rb:161
|
287
288
|
msgid "Failed to auto provision host %s: %s"
|
288
289
|
msgstr "No s'ha pogut auto aprovisionar l'amfitrió %s: %s"
|
289
290
|
|
290
|
-
#: ../app/controllers/discovered_hosts_controller.rb:
|
291
|
+
#: ../app/controllers/discovered_hosts_controller.rb:189
|
291
292
|
msgid "Discovered hosts are provisioning now"
|
292
293
|
msgstr "Els amfitrions descoberts ara tenen aprovisionament"
|
293
294
|
|
294
|
-
#: ../app/controllers/discovered_hosts_controller.rb:
|
295
|
-
msgid "
|
295
|
+
#: ../app/controllers/discovered_hosts_controller.rb:270
|
296
|
+
msgid "Discovered host reported from unknown subnet, communication will not be proxied."
|
296
297
|
msgstr ""
|
297
298
|
|
298
|
-
#: ../app/controllers/discovered_hosts_controller.rb:
|
299
|
-
msgid "
|
300
|
-
msgstr ""
|
301
|
-
|
302
|
-
#: ../app/controllers/discovered_hosts_controller.rb:226
|
303
|
-
msgid "Hardware"
|
299
|
+
#: ../app/controllers/discovered_hosts_controller.rb:275
|
300
|
+
msgid "Discovered hosts reported from unknown subnet are %s, communication will not be proxied."
|
304
301
|
msgstr ""
|
305
302
|
|
306
|
-
#: ../app/controllers/discovered_hosts_controller.rb:
|
307
|
-
msgid "Network"
|
308
|
-
msgstr ""
|
309
|
-
|
310
|
-
#: ../app/controllers/discovered_hosts_controller.rb:226
|
311
|
-
msgid "Software"
|
312
|
-
msgstr ""
|
313
|
-
|
314
|
-
#: ../app/controllers/discovered_hosts_controller.rb:226
|
315
|
-
msgid "IPMI"
|
316
|
-
msgstr ""
|
317
|
-
|
318
|
-
#: ../app/controllers/discovered_hosts_controller.rb:226
|
319
|
-
msgid "Miscellaneous"
|
320
|
-
msgstr ""
|
321
|
-
|
322
|
-
#: ../app/controllers/discovered_hosts_controller.rb:304
|
303
|
+
#: ../app/controllers/discovered_hosts_controller.rb:289
|
323
304
|
msgid "No hosts were found with that id or name"
|
324
305
|
msgstr "No s'ha trobat cap amfitrió amb aquest ID o nom"
|
325
306
|
|
326
|
-
#: ../app/controllers/discovered_hosts_controller.rb:
|
307
|
+
#: ../app/controllers/discovered_hosts_controller.rb:293
|
327
308
|
msgid "No hosts selected"
|
328
309
|
msgstr "Cap amfitrió seleccionat"
|
329
310
|
|
330
|
-
#: ../app/controllers/discovered_hosts_controller.rb:
|
311
|
+
#: ../app/controllers/discovered_hosts_controller.rb:299
|
331
312
|
msgid "Something went wrong while selecting hosts - %s"
|
332
313
|
msgstr "Alguna cosa va anar malament mentre se seleccionaven els amfitrions - %s"
|
333
314
|
|
334
|
-
#: ../app/controllers/discovery_rules_controller.rb:
|
315
|
+
#: ../app/controllers/discovery_rules_controller.rb:79
|
335
316
|
msgid "Rule enabled"
|
336
317
|
msgstr "Regla habilitada"
|
337
318
|
|
338
|
-
#: ../app/controllers/discovery_rules_controller.rb:
|
319
|
+
#: ../app/controllers/discovery_rules_controller.rb:79
|
339
320
|
msgid "Rule disabled"
|
340
321
|
msgstr "Regla inhabilitada"
|
341
322
|
|
342
|
-
#: ../app/helpers/discovered_hosts_helper.rb:10
|
343
|
-
msgid "%s ago"
|
344
|
-
msgstr "fa %s"
|
345
|
-
|
346
323
|
#: ../app/helpers/discovered_hosts_helper.rb:14 ../app/helpers/discovered_hosts_helper.rb:29 ../app/views/discovered_hosts/_discovered_hosts_list.html.erb:40
|
347
324
|
msgid "Auto Provision"
|
348
325
|
msgstr "Auto aprovisiona"
|
@@ -428,6 +405,10 @@ msgid "Enable rule '%s'?"
|
|
428
405
|
msgstr ""
|
429
406
|
|
430
407
|
#: ../app/helpers/discovery_rules_helper.rb:33
|
408
|
+
msgid "Clone"
|
409
|
+
msgstr ""
|
410
|
+
|
411
|
+
#: ../app/helpers/discovery_rules_helper.rb:34
|
431
412
|
msgid "Delete rule '%s'?"
|
432
413
|
msgstr ""
|
433
414
|
|
@@ -451,13 +432,13 @@ msgstr "ha de començar amb una lletra o ERB."
|
|
451
432
|
msgid "must be present."
|
452
433
|
msgstr ""
|
453
434
|
|
454
|
-
#: ../app/models/discovery_rule.rb:
|
435
|
+
#: ../app/models/discovery_rule.rb:57
|
455
436
|
msgid "Host group organization %s must also be associated to the discovery rule"
|
456
437
|
msgid_plural "Host group organizations %s must also be associated to the discovery rule"
|
457
438
|
msgstr[0] ""
|
458
439
|
msgstr[1] ""
|
459
440
|
|
460
|
-
#: ../app/models/discovery_rule.rb:
|
441
|
+
#: ../app/models/discovery_rule.rb:61
|
461
442
|
msgid "Host group location %s must also be associated to the discovery rule"
|
462
443
|
msgid_plural "Host group locations %s must also be associated to the discovery rule"
|
463
444
|
msgstr[0] ""
|
@@ -727,6 +708,34 @@ msgstr ""
|
|
727
708
|
msgid "Unable to find primary NIC with %{mac} specified via '%{fact}', NIC filter: %{filter}"
|
728
709
|
msgstr ""
|
729
710
|
|
711
|
+
#: ../app/services/foreman_discovery/fact_to_category_resolver.rb:7
|
712
|
+
msgid "Highlights"
|
713
|
+
msgstr ""
|
714
|
+
|
715
|
+
#: ../app/services/foreman_discovery/fact_to_category_resolver.rb:8
|
716
|
+
msgid "Storage"
|
717
|
+
msgstr ""
|
718
|
+
|
719
|
+
#: ../app/services/foreman_discovery/fact_to_category_resolver.rb:9
|
720
|
+
msgid "Hardware"
|
721
|
+
msgstr ""
|
722
|
+
|
723
|
+
#: ../app/services/foreman_discovery/fact_to_category_resolver.rb:10
|
724
|
+
msgid "Network"
|
725
|
+
msgstr ""
|
726
|
+
|
727
|
+
#: ../app/services/foreman_discovery/fact_to_category_resolver.rb:11
|
728
|
+
msgid "Software"
|
729
|
+
msgstr ""
|
730
|
+
|
731
|
+
#: ../app/services/foreman_discovery/fact_to_category_resolver.rb:12
|
732
|
+
msgid "IPMI"
|
733
|
+
msgstr ""
|
734
|
+
|
735
|
+
#: ../app/services/foreman_discovery/fact_to_category_resolver.rb:13
|
736
|
+
msgid "Miscellaneous"
|
737
|
+
msgstr ""
|
738
|
+
|
730
739
|
#: ../app/services/foreman_discovery/host_converter.rb:47
|
731
740
|
msgid "IPAM must be configured for subnet '%s'"
|
732
741
|
msgstr ""
|
@@ -739,6 +748,10 @@ msgstr ""
|
|
739
748
|
msgid "Image API processing error: %{msg} (HTTP/%{code}, body: %{body})"
|
740
749
|
msgstr ""
|
741
750
|
|
751
|
+
#: ../app/services/foreman_discovery/ui_notifications/new_host.rb:22
|
752
|
+
msgid "Host %s has been dicovered"
|
753
|
+
msgstr ""
|
754
|
+
|
742
755
|
#: ../app/views/dashboard/_discovery_widget.html.erb:5
|
743
756
|
msgid "Discovered Host"
|
744
757
|
msgid_plural "Discovered Hosts"
|
@@ -797,11 +810,11 @@ msgstr ""
|
|
797
810
|
msgid "Disks Size"
|
798
811
|
msgstr ""
|
799
812
|
|
800
|
-
#: ../app/views/discovered_hosts/_discovered_hosts_list.html.erb:16 ../app/views/discovered_hosts/_selected_hosts.html.erb:9
|
813
|
+
#: ../app/views/discovered_hosts/_discovered_hosts_list.html.erb:16 ../app/views/discovered_hosts/_selected_hosts.html.erb:9 ../app/views/discovery_rules/index.html.erb:11
|
801
814
|
msgid "Location"
|
802
815
|
msgstr "Ubicació"
|
803
816
|
|
804
|
-
#: ../app/views/discovered_hosts/_discovered_hosts_list.html.erb:17 ../app/views/discovered_hosts/_selected_hosts.html.erb:10
|
817
|
+
#: ../app/views/discovered_hosts/_discovered_hosts_list.html.erb:17 ../app/views/discovered_hosts/_selected_hosts.html.erb:10 ../app/views/discovery_rules/index.html.erb:12
|
805
818
|
msgid "Organization"
|
806
819
|
msgstr "Organització"
|
807
820
|
|
@@ -813,7 +826,7 @@ msgstr "Subxarxa"
|
|
813
826
|
msgid "Last Facts Upload"
|
814
827
|
msgstr ""
|
815
828
|
|
816
|
-
#: ../app/views/discovered_hosts/_discovered_hosts_list.html.erb:20 ../app/views/discovery_rules/index.html.erb:
|
829
|
+
#: ../app/views/discovered_hosts/_discovered_hosts_list.html.erb:20 ../app/views/discovery_rules/index.html.erb:14
|
817
830
|
msgid "Actions"
|
818
831
|
msgstr "Accions"
|
819
832
|
|
@@ -961,6 +974,10 @@ msgstr ""
|
|
961
974
|
msgid "Hostnames must not start with numbers. A good approach is to use unique information provided by facter (MAC address, BIOS or serial ID)."
|
962
975
|
msgstr ""
|
963
976
|
|
977
|
+
#: ../app/views/discovery_rules/clone.erb:1
|
978
|
+
msgid "Clone %s"
|
979
|
+
msgstr ""
|
980
|
+
|
964
981
|
#: ../app/views/discovery_rules/edit.html.erb:1
|
965
982
|
msgid "Edit %s"
|
966
983
|
msgstr "Edita %s"
|
@@ -993,7 +1010,7 @@ msgstr ""
|
|
993
1010
|
msgid "Hosts/Limit"
|
994
1011
|
msgstr ""
|
995
1012
|
|
996
|
-
#: ../app/views/discovery_rules/index.html.erb:
|
1013
|
+
#: ../app/views/discovery_rules/index.html.erb:13
|
997
1014
|
msgid "DiscoveryRule|Enabled"
|
998
1015
|
msgstr "Habilitada"
|
999
1016
|
|
@@ -1014,7 +1031,7 @@ msgid "A summary of discovered hosts"
|
|
1014
1031
|
msgstr ""
|
1015
1032
|
|
1016
1033
|
#: ../db/seeds.d/80_discovery_ui_notification.rb:4
|
1017
|
-
msgid "
|
1034
|
+
msgid "New hosts"
|
1018
1035
|
msgstr ""
|
1019
1036
|
|
1020
1037
|
#: ../db/seeds.d/80_discovery_ui_notification.rb:6
|
@@ -1025,19 +1042,27 @@ msgstr ""
|
|
1025
1042
|
msgid "Details"
|
1026
1043
|
msgstr ""
|
1027
1044
|
|
1028
|
-
#: ../
|
1045
|
+
#: ../db/seeds.d/80_discovery_ui_notification.rb:18
|
1046
|
+
msgid "Hosts"
|
1047
|
+
msgstr ""
|
1048
|
+
|
1049
|
+
#: ../db/seeds.d/80_discovery_ui_notification.rb:20
|
1050
|
+
msgid "Error message goes here"
|
1051
|
+
msgstr ""
|
1052
|
+
|
1053
|
+
#: ../lib/foreman_discovery/engine.rb:176
|
1029
1054
|
msgid "Discovery Kexec template"
|
1030
1055
|
msgstr ""
|
1031
1056
|
|
1032
|
-
#: ../lib/foreman_discovery/engine.rb:
|
1057
|
+
#: ../lib/foreman_discovery/engine.rb:185
|
1033
1058
|
msgid "Discovery Proxy"
|
1034
1059
|
msgstr ""
|
1035
1060
|
|
1036
|
-
#: ../lib/foreman_discovery/engine.rb:
|
1061
|
+
#: ../lib/foreman_discovery/engine.rb:186
|
1037
1062
|
msgid "Discovery Proxy to use within this subnet for managing connection to discovered hosts"
|
1038
1063
|
msgstr ""
|
1039
1064
|
|
1040
|
-
#: ../lib/foreman_discovery/engine.rb:
|
1065
|
+
#: ../lib/foreman_discovery/engine.rb:187
|
1041
1066
|
msgid "ID of Discovery Proxy to use within this subnet for managing connection to discovered hosts"
|
1042
1067
|
msgstr ""
|
1043
1068
|
|
@@ -1050,17 +1075,21 @@ msgid "documentation"
|
|
1050
1075
|
msgstr ""
|
1051
1076
|
|
1052
1077
|
#: action_names.rb:2
|
1053
|
-
msgid "
|
1078
|
+
msgid "Remote action:"
|
1054
1079
|
msgstr ""
|
1055
1080
|
|
1056
1081
|
#: action_names.rb:3
|
1057
|
-
msgid "Import
|
1082
|
+
msgid "Import Puppet classes"
|
1058
1083
|
msgstr ""
|
1059
1084
|
|
1060
1085
|
#: action_names.rb:4
|
1061
|
-
msgid "Import
|
1086
|
+
msgid "Import facts"
|
1062
1087
|
msgstr ""
|
1063
1088
|
|
1064
1089
|
#: action_names.rb:5
|
1065
|
-
msgid "
|
1090
|
+
msgid "Action with sub plans"
|
1066
1091
|
msgstr ""
|
1092
|
+
|
1093
|
+
#: ../app/helpers/discovered_hosts_helper.rb:10
|
1094
|
+
#~ msgid "%s ago"
|
1095
|
+
#~ msgstr "fa %s"
|