foreman_bootdisk 16.1.0 → 17.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/AUTHORS +1 -0
- data/README.md +9 -0
- data/app/controllers/foreman_bootdisk/api/v2/disks_controller.rb +5 -7
- data/app/controllers/foreman_bootdisk/api/v2/subnet_disks_controller.rb +9 -4
- data/app/controllers/foreman_bootdisk/disks_controller.rb +11 -10
- data/app/helpers/concerns/foreman_bootdisk/hosts_helper_ext.rb +1 -1
- data/app/lib/foreman_bootdisk/scope/bootdisk.rb +4 -1
- data/app/lib/foreman_bootdisk/scope/full_host_bootdisk_efi.rb +15 -0
- data/app/models/concerns/foreman_bootdisk/compute_resources/vmware.rb +10 -1
- data/app/models/concerns/foreman_bootdisk/host_ext.rb +3 -6
- data/app/models/concerns/foreman_bootdisk/orchestration/compute.rb +28 -19
- data/app/models/setting/bootdisk.rb +4 -0
- data/app/services/foreman_bootdisk/iso_generator.rb +114 -54
- data/app/services/foreman_bootdisk/renderer.rb +36 -19
- data/app/views/foreman_bootdisk/generic_efi_host.erb +64 -0
- data/db/seeds.d/50-bootdisk_templates.rb +1 -0
- data/lib/foreman_bootdisk/engine.rb +1 -1
- data/lib/foreman_bootdisk/version.rb +1 -1
- data/lib/tasks/bootdisk.rake +10 -6
- data/locale/action_names.rb +5 -0
- data/locale/ca/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/ca/foreman_bootdisk.po +37 -4
- data/locale/de/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/de/foreman_bootdisk.po +40 -7
- data/locale/en/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/en/foreman_bootdisk.po +37 -4
- data/locale/en_GB/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/en_GB/foreman_bootdisk.po +38 -5
- data/locale/es/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/es/foreman_bootdisk.po +40 -7
- data/locale/foreman_bootdisk.pot +87 -39
- data/locale/fr/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/fr/foreman_bootdisk.po +38 -5
- data/locale/it/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/it/foreman_bootdisk.po +38 -5
- data/locale/ja/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/ja/foreman_bootdisk.po +38 -5
- data/locale/ko/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/ko/foreman_bootdisk.po +38 -5
- data/locale/pt_BR/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/pt_BR/foreman_bootdisk.po +38 -5
- data/locale/ru/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/ru/foreman_bootdisk.po +38 -5
- data/locale/sv_SE/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/sv_SE/foreman_bootdisk.po +38 -5
- data/locale/zh_CN/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/zh_CN/foreman_bootdisk.po +38 -5
- data/locale/zh_TW/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/zh_TW/foreman_bootdisk.po +38 -5
- data/test/functional/foreman_bootdisk/api/v2/disks_controller_test.rb +51 -17
- data/test/functional/foreman_bootdisk/api/v2/subnet_disks_controller_test.rb +23 -10
- data/test/functional/foreman_bootdisk/disks_controller_test.rb +65 -25
- data/test/test_plugin_helper.rb +21 -3
- data/test/unit/concerns/host_test.rb +1 -1
- data/test/unit/concerns/orchestration/compute_test.rb +32 -13
- data/test/unit/foreman_bootdisk/renderer_test.rb +1 -1
- data/test/unit/iso_generator_test.rb +6 -7
- metadata +19 -2
@@ -4,36 +4,46 @@ require 'uri'
|
|
4
4
|
|
5
5
|
module ForemanBootdisk
|
6
6
|
class Renderer
|
7
|
-
def
|
8
|
-
host = if subnet.present?
|
9
|
-
# rendering a subnet-level bootdisk requires tricking the renderer into thinking it has a
|
10
|
-
# valid host, without a token, but with a tftp proxy
|
11
|
-
Struct.new(:token, :provision_interface, :content_source).new(
|
12
|
-
nil,
|
13
|
-
Struct.new(:subnet).new(subnet),
|
14
|
-
nil
|
15
|
-
)
|
16
|
-
else
|
17
|
-
Struct.new(:token, :subnet, :content_source).new(nil, nil, nil)
|
18
|
-
end
|
19
|
-
|
20
|
-
render_template(template: generic_host_template, host: host)
|
21
|
-
end
|
22
|
-
|
23
|
-
def render_template(template:, host:, scope_class: renderer_scope)
|
7
|
+
def render_template(template:, host:, scope_class: renderer_scope, subnet: nil)
|
24
8
|
source = Foreman::Renderer.get_source(
|
25
9
|
template: template,
|
26
|
-
host: host
|
27
10
|
)
|
28
11
|
scope = Foreman::Renderer.get_scope(
|
29
12
|
host: host,
|
30
|
-
|
13
|
+
variables: { subnet: subnet, bootdisk: true },
|
14
|
+
klass: scope_class,
|
31
15
|
)
|
32
16
|
Foreman::Renderer.render(source, scope)
|
33
17
|
end
|
34
18
|
|
19
|
+
def generic_template_render(subnet = nil)
|
20
|
+
render_template(template: generic_host_template, host: stub_host(subnet), subnet: subnet)
|
21
|
+
end
|
22
|
+
|
23
|
+
def generic_efi_template_render(subnet)
|
24
|
+
if subnet.httpboot?
|
25
|
+
render_template(template: generic_efi_host_template, host: stub_host(subnet), subnet: subnet)
|
26
|
+
else
|
27
|
+
ForemanBootdisk.logger.warn('HTTPBOOT feature is not enabled for subnet %s, UEFI may not be available for bootdisk' % subnet.name)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
35
31
|
private
|
36
32
|
|
33
|
+
def stub_host(subnet)
|
34
|
+
if subnet.present?
|
35
|
+
# rendering a subnet-level bootdisk requires tricking the renderer into thinking it has a
|
36
|
+
# valid host, without a token, but with a tftp proxy
|
37
|
+
Struct.new(:token, :provision_interface, :content_source).new(
|
38
|
+
nil,
|
39
|
+
Struct.new(:subnet).new(subnet),
|
40
|
+
nil
|
41
|
+
)
|
42
|
+
else
|
43
|
+
Struct.new(:token, :subnet, :content_source).new(nil, nil, nil)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
37
47
|
def renderer_scope
|
38
48
|
ForemanBootdisk::Scope::Bootdisk
|
39
49
|
end
|
@@ -44,5 +54,12 @@ module ForemanBootdisk
|
|
44
54
|
|
45
55
|
template
|
46
56
|
end
|
57
|
+
|
58
|
+
def generic_efi_host_template
|
59
|
+
template = ProvisioningTemplate.unscoped.find_by(name: Setting[:bootdisk_generic_efi_host_template])
|
60
|
+
raise ::Foreman::Exception.new(N_('Unable to find template specified by %s setting'), 'bootdisk_generic_efi_host_template') unless template
|
61
|
+
|
62
|
+
template
|
63
|
+
end
|
47
64
|
end
|
48
65
|
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
#
|
2
|
+
# Boot disk Grub2 EFI - generic host
|
3
|
+
#
|
4
|
+
#set debug="http,efinet,net"
|
5
|
+
#set debug=all
|
6
|
+
echo "Foreman Bootdisk: 'Boot disk Grub2 EFI - generic host' template"
|
7
|
+
echo
|
8
|
+
echo "********************************************************"
|
9
|
+
echo " REQUIREMENTS:"
|
10
|
+
echo " * SUBNET GENERIC IMAGE ONLY (host image not supported)"
|
11
|
+
echo " * HOST PARAM default_grub_install_entry set to efi_http"
|
12
|
+
echo " * PROXY WITH HTTPBOOT FEATURE"
|
13
|
+
echo " * HTTP UEFI BOOT ONLY (Legacy/PXE not supported)"
|
14
|
+
echo " * IPv4 ONLY (IPv6 not tested, change the template)"
|
15
|
+
echo " * HTTP ONLY (change the template for HTTPS)"
|
16
|
+
echo " * ISC DHCP (other servers not tested)"
|
17
|
+
echo " * GRUB FROM RHEL 8.3+/7.9+ (when generating the image)"
|
18
|
+
echo " * EFI HTTP or HTTPS grub entry must be selected in menu"
|
19
|
+
echo " * DNS must resolve proxy hostname via DNS proxy if set"
|
20
|
+
echo "*******************************************************"
|
21
|
+
sleep 5
|
22
|
+
<%
|
23
|
+
# possible values are: "http" or "https"
|
24
|
+
proxy_proto = "http"
|
25
|
+
|
26
|
+
@subnet || bootdisk_raise("Generic disk not supported for EFI, use subnet disk")
|
27
|
+
@subnet.template? || bootdisk_raise("Requires a proxy with template feature")
|
28
|
+
proxy_port = if proxy_proto == "http"
|
29
|
+
@subnet.httpboot.httpboot_http_port
|
30
|
+
else
|
31
|
+
@subnet.httpboot.httpboot_https_port
|
32
|
+
end
|
33
|
+
# Workaround for "no DNS server configured" https://bugzilla.redhat.com/show_bug.cgi?id=1842509
|
34
|
+
proxy_httpboot_host = dns_lookup(@subnet.httpboot.hostname)
|
35
|
+
proxy_template_host = dns_lookup(@subnet.template.hostname)
|
36
|
+
-%>
|
37
|
+
echo
|
38
|
+
net_ls_cards
|
39
|
+
echo "Configuring ALL cards via BOOTP/IPv4"
|
40
|
+
net_bootp
|
41
|
+
# uncomment here for IPv6 support (not tested)
|
42
|
+
#echo "Configuring ALL cards via BOOTP/IPv6"
|
43
|
+
#net_ipv6_autoconf
|
44
|
+
net_ls_addr
|
45
|
+
net_ls_routes
|
46
|
+
net_ls_dns
|
47
|
+
sleep 5
|
48
|
+
set root=(<%= proxy_proto %>,<%= proxy_httpboot_host %>:<%= proxy_port %>)
|
49
|
+
# The variable will not survive configfile fetch, therefore absolute path
|
50
|
+
# must be used in the chainloaded template.
|
51
|
+
# https://bugzilla.redhat.com/show_bug.cgi?id=1842893
|
52
|
+
set http_path=/httpboot/
|
53
|
+
set default=efi_<%= proxy_proto %>
|
54
|
+
<% (0..32).each do |i| -%>
|
55
|
+
echo "Trying efinet<%= i %> via <%= proxy_proto %>://<%= proxy_template_host %>:<%= proxy_port %>/unattended/PXEGrub2?mac=$net_efinet<%= i %>_dhcp_mac"
|
56
|
+
set net_default_mac=$net_efinet<%= i %>_dhcp_mac
|
57
|
+
sleep 5
|
58
|
+
configfile (<%= proxy_proto %>,<%= proxy_template_host %>:<%= proxy_port %>)/unattended/PXEGrub2?mac=$net_efinet<%= i %>_dhcp_mac
|
59
|
+
<% end -%>
|
60
|
+
|
61
|
+
echo "Could not find a host with PXEGrub2 template and one of the MAC addresses!"
|
62
|
+
echo "The system will poweroff in few minutes..."
|
63
|
+
sleep 500
|
64
|
+
poweroff
|
@@ -27,5 +27,6 @@ end
|
|
27
27
|
ProvisioningTemplate.without_auditing do
|
28
28
|
ensure_bootdisk_template("Boot disk iPXE - host", read_bootdisk_template("host.erb"))
|
29
29
|
ensure_bootdisk_template("Boot disk iPXE - generic host", read_bootdisk_template("generic_host.erb"))
|
30
|
+
ensure_bootdisk_template("Boot disk Grub2 EFI - generic host", read_bootdisk_template("generic_efi_host.erb"))
|
30
31
|
ensure_bootdisk_template("Boot disk iPXE - generic static host", read_bootdisk_template("generic_static_host.erb"))
|
31
32
|
end
|
@@ -38,7 +38,7 @@ module ForemanBootdisk
|
|
38
38
|
|
39
39
|
initializer 'foreman_bootdisk.register_plugin', before: :finisher_hook do |_app|
|
40
40
|
Foreman::Plugin.register :foreman_bootdisk do
|
41
|
-
requires_foreman '>= 1
|
41
|
+
requires_foreman '>= 2.1'
|
42
42
|
|
43
43
|
security_block :bootdisk do |_map|
|
44
44
|
permission :download_bootdisk, 'foreman_bootdisk/disks': %i[generic host full_host subnet help],
|
data/lib/tasks/bootdisk.rake
CHANGED
@@ -20,9 +20,10 @@ namespace :bootdisk do
|
|
20
20
|
task host: :environment do
|
21
21
|
User.as_anonymous_admin do
|
22
22
|
host = Host::Base.unscoped.find_by(name: ENV['NAME']) || raise("cannot find host '#{ENV['NAME']}', specify NAME=fqdn")
|
23
|
-
|
23
|
+
tmpl_bios = host.bootdisk_template_render
|
24
|
+
tmpl_efi = host.generic_efi_template_render
|
24
25
|
|
25
|
-
ForemanBootdisk::ISOGenerator.generate(ipxe:
|
26
|
+
ForemanBootdisk::ISOGenerator.generate(ipxe: tmpl_bios, grub: tmpl_efi, dir: outputdir) do |image|
|
26
27
|
output = ENV['OUTPUT'] || File.join(outputdir, "#{host.name}.iso")
|
27
28
|
FileUtils.mv image, output
|
28
29
|
puts "Wrote #{output}"
|
@@ -45,9 +46,9 @@ namespace :bootdisk do
|
|
45
46
|
desc 'Generate a generic boot disk. OUTPUT=path'
|
46
47
|
task generic: :environment do
|
47
48
|
User.as_anonymous_admin do
|
48
|
-
|
49
|
+
tmpl_bios = ForemanBootdisk::Renderer.new.generic_template_render
|
49
50
|
|
50
|
-
ForemanBootdisk::ISOGenerator.generate(ipxe:
|
51
|
+
ForemanBootdisk::ISOGenerator.generate(ipxe: tmpl_bios, dir: outputdir) do |image|
|
51
52
|
output = ENV['OUTPUT'] || File.join(outputdir, "bootdisk_#{URI.parse(Setting[:foreman_url]).host}.iso")
|
52
53
|
FileUtils.cp image, output
|
53
54
|
puts "Wrote #{output}"
|
@@ -60,8 +61,10 @@ namespace :bootdisk do
|
|
60
61
|
User.as_anonymous_admin do
|
61
62
|
subnet = Subnet.unscoped.find_by(name: ENV['NAME']) || raise("cannot find subnet '#{ENV['NAME']}', specify NAME=subnet")
|
62
63
|
subnet.tftp || raise(::Foreman::Exception.new(N_('TFTP feature not enabled for subnet %s'), subnet.name))
|
63
|
-
|
64
|
-
ForemanBootdisk::
|
64
|
+
subnet.httpboot || ForemanBootdisk.logger.warn('HTTPBOOT feature is not enabled for subnet %s, UEFI may not be available for bootdisk' % subnet.name)
|
65
|
+
tmpl_bios = ForemanBootdisk::Renderer.new.generic_template_render(subnet)
|
66
|
+
tmpl_efi = ForemanBootdisk::Renderer.new.generic_efi_template_render(subnet)
|
67
|
+
ForemanBootdisk::ISOGenerator.generate(ipxe: tmpl_bios, grub: tmpl_efi, dir: outputdir) do |image|
|
65
68
|
output = ENV['OUTPUT'] || File.join(outputdir, "bootdisk_subnet_#{subnet.name}.iso")
|
66
69
|
FileUtils.cp image, output
|
67
70
|
puts "Wrote #{output}"
|
@@ -93,6 +96,7 @@ namespace :foreman_bootdisk do
|
|
93
96
|
task.patterns = ["#{ForemanBootdisk::Engine.root}/app/**/*.rb",
|
94
97
|
"#{ForemanBootdisk::Engine.root}/lib/**/*.rb",
|
95
98
|
"#{ForemanBootdisk::Engine.root}/test/**/*.rb"]
|
99
|
+
task.options << '--auto-correct' if ENV['RUBOCOP_AUTOCORRECT']
|
96
100
|
end
|
97
101
|
rescue StandardError
|
98
102
|
puts 'Rubocop not loaded.'
|
Binary file
|
@@ -7,7 +7,7 @@
|
|
7
7
|
# Robert Antoni Buj Gelonch <rbuj@fedoraproject.org>, 2015-2016
|
8
8
|
msgid ""
|
9
9
|
msgstr ""
|
10
|
-
"Project-Id-Version: foreman_bootdisk
|
10
|
+
"Project-Id-Version: foreman_bootdisk 17.0.0\n"
|
11
11
|
"Report-Msgid-Bugs-To: \n"
|
12
12
|
"PO-Revision-Date: 2019-10-22 20:06+0000\n"
|
13
13
|
"Last-Translator: Lukáš Zapletal\n"
|
@@ -55,6 +55,12 @@ msgstr ""
|
|
55
55
|
msgid "Command to generate ISO image, use genisoimage or mkisofs"
|
56
56
|
msgstr "L'ordre per generar la imatge ISO, utilitzeu genisoimage o mkisofs"
|
57
57
|
|
58
|
+
msgid "Creating new image failed, install truncate utility"
|
59
|
+
msgstr ""
|
60
|
+
|
61
|
+
msgid "Detach ISO image from CDROM drive for %s"
|
62
|
+
msgstr ""
|
63
|
+
|
58
64
|
msgid "Download generic image"
|
59
65
|
msgstr "Baixa la imatge genèrica"
|
60
66
|
|
@@ -64,9 +70,21 @@ msgstr "Baixa la imatge d'amfitrió"
|
|
64
70
|
msgid "Download subnet generic image"
|
65
71
|
msgstr "Baixa la imatge genèrica de subxarxa"
|
66
72
|
|
73
|
+
msgid "Ensure %{path} contains grubx64.efi and shimx64.efi: install TFTP module or copy those files into /var/lib/foreman/bootdisk (Grub2 directory setting)"
|
74
|
+
msgstr ""
|
75
|
+
|
67
76
|
msgid "Failed to attach ISO image to CDROM drive of instance %{name}: %{message}"
|
68
77
|
msgstr ""
|
69
78
|
|
79
|
+
msgid "Failed to create a directory within the ESP image"
|
80
|
+
msgstr ""
|
81
|
+
|
82
|
+
msgid "Failed to detach ISO image from CDROM drive of instance %{name}: %{message}"
|
83
|
+
msgstr ""
|
84
|
+
|
85
|
+
msgid "Failed to format the ESP image via mkfs.msdos"
|
86
|
+
msgstr ""
|
87
|
+
|
70
88
|
msgid "Failed to generate ISO image for instance %{name}: %{message}"
|
71
89
|
msgstr ""
|
72
90
|
|
@@ -85,6 +103,9 @@ msgstr "Imatge completa d'amfitrió"
|
|
85
103
|
msgid "Generating ISO image for %s"
|
86
104
|
msgstr ""
|
87
105
|
|
106
|
+
msgid "Generic Grub2 EFI image template"
|
107
|
+
msgstr ""
|
108
|
+
|
88
109
|
msgid "Generic image"
|
89
110
|
msgstr "Imatge genèrica"
|
90
111
|
|
@@ -94,6 +115,12 @@ msgstr ""
|
|
94
115
|
msgid "Generic images are a reusable disk image that works for any host registered in Foreman. It requires a basic DHCP and DNS service to function and contact the server, but does not require DHCP reservations or static IP addresses."
|
95
116
|
msgstr ""
|
96
117
|
|
118
|
+
msgid "Grub2 directory"
|
119
|
+
msgstr ""
|
120
|
+
|
121
|
+
msgid "Grub2 template to use for generic EFI host boot disks"
|
122
|
+
msgstr ""
|
123
|
+
|
97
124
|
msgid "Help"
|
98
125
|
msgstr "Ajuda"
|
99
126
|
|
@@ -130,7 +157,7 @@ msgstr "No s'ha pogut construir l'ISO"
|
|
130
157
|
msgid "ISO generation command"
|
131
158
|
msgstr ""
|
132
159
|
|
133
|
-
msgid "ISO hybrid conversion failed"
|
160
|
+
msgid "ISO hybrid conversion failed: %s"
|
134
161
|
msgstr ""
|
135
162
|
|
136
163
|
msgid "ISOLINUX directory"
|
@@ -151,6 +178,9 @@ msgstr "Els fitxers dels mitjans d'instal·lació s'emmagatzemaran en memòria c
|
|
151
178
|
msgid "Once chainloaded, the OS bootloader and installer are downloaded directly from the installation media configured in Foreman, and the provisioning script (kickstart/preseed) is downloaded from Foreman."
|
152
179
|
msgstr ""
|
153
180
|
|
181
|
+
msgid "Path to directory containing grubx64.efi and shimx64.efi"
|
182
|
+
msgstr ""
|
183
|
+
|
154
184
|
msgid "Path to directory containing iPXE images"
|
155
185
|
msgstr "El camí al directori que conté les imatges iPXE"
|
156
186
|
|
@@ -208,10 +238,13 @@ msgstr ""
|
|
208
238
|
msgid "Unable to find template specified by %s setting"
|
209
239
|
msgstr "No es pot trobar la plantilla especificada per l'ajust %s"
|
210
240
|
|
211
|
-
msgid "Unable to generate disk
|
241
|
+
msgid "Unable to generate disk %{kind} template: %{error}"
|
242
|
+
msgstr ""
|
243
|
+
|
244
|
+
msgid "Unable to generate disk template, %{kind} template not found."
|
212
245
|
msgstr ""
|
213
246
|
|
214
|
-
msgid "Unable to
|
247
|
+
msgid "Unable to mcopy %{path}"
|
215
248
|
msgstr ""
|
216
249
|
|
217
250
|
msgid "Upload ISO image to datastore for %s"
|
Binary file
|
@@ -8,11 +8,11 @@
|
|
8
8
|
# Martin Zimmermann <martin.zimmermann@gmx.com>, 2018
|
9
9
|
# Paul Puschmann, 2014
|
10
10
|
# abf90805572190d649c59f7a021d76cb, 2014
|
11
|
-
# simon11 <
|
12
|
-
# simon11 <
|
11
|
+
# simon11 <transifex@stieger.co>, 2014
|
12
|
+
# simon11 <transifex@stieger.co>, 2014
|
13
13
|
msgid ""
|
14
14
|
msgstr ""
|
15
|
-
"Project-Id-Version: foreman_bootdisk
|
15
|
+
"Project-Id-Version: foreman_bootdisk 17.0.0\n"
|
16
16
|
"Report-Msgid-Bugs-To: \n"
|
17
17
|
"PO-Revision-Date: 2019-10-22 20:06+0000\n"
|
18
18
|
"Last-Translator: Bryan Kearney <bryan.kearney@gmail.com>\n"
|
@@ -59,6 +59,12 @@ msgstr ""
|
|
59
59
|
msgid "Command to generate ISO image, use genisoimage or mkisofs"
|
60
60
|
msgstr "Kommando zur Erstellung von ISO-Abbildern, verwende genisoimage oder mkisofs"
|
61
61
|
|
62
|
+
msgid "Creating new image failed, install truncate utility"
|
63
|
+
msgstr ""
|
64
|
+
|
65
|
+
msgid "Detach ISO image from CDROM drive for %s"
|
66
|
+
msgstr ""
|
67
|
+
|
62
68
|
msgid "Download generic image"
|
63
69
|
msgstr "Generisches Abbild herunterladen"
|
64
70
|
|
@@ -68,9 +74,21 @@ msgstr "Host-Abbild herunterladen"
|
|
68
74
|
msgid "Download subnet generic image"
|
69
75
|
msgstr "Generisches Abbild von Subnetz herunterladen"
|
70
76
|
|
77
|
+
msgid "Ensure %{path} contains grubx64.efi and shimx64.efi: install TFTP module or copy those files into /var/lib/foreman/bootdisk (Grub2 directory setting)"
|
78
|
+
msgstr ""
|
79
|
+
|
71
80
|
msgid "Failed to attach ISO image to CDROM drive of instance %{name}: %{message}"
|
72
81
|
msgstr "Fehler beim Einhängen des ISO-Abbild am CDROM-Laufwerk für Instanz %{name}: %{message}"
|
73
82
|
|
83
|
+
msgid "Failed to create a directory within the ESP image"
|
84
|
+
msgstr ""
|
85
|
+
|
86
|
+
msgid "Failed to detach ISO image from CDROM drive of instance %{name}: %{message}"
|
87
|
+
msgstr ""
|
88
|
+
|
89
|
+
msgid "Failed to format the ESP image via mkfs.msdos"
|
90
|
+
msgstr ""
|
91
|
+
|
74
92
|
msgid "Failed to generate ISO image for instance %{name}: %{message}"
|
75
93
|
msgstr "Fehler beim Erzeugen des ISO-Abbild für Instanz %{name}: %{message}"
|
76
94
|
|
@@ -89,6 +107,9 @@ msgstr "Vollständiges Host-Abbild"
|
|
89
107
|
msgid "Generating ISO image for %s"
|
90
108
|
msgstr "ISO-Abbild für %s wird erzeugt"
|
91
109
|
|
110
|
+
msgid "Generic Grub2 EFI image template"
|
111
|
+
msgstr ""
|
112
|
+
|
92
113
|
msgid "Generic image"
|
93
114
|
msgstr "Generisches Abbild"
|
94
115
|
|
@@ -98,6 +119,12 @@ msgstr "Generische Abbildvorlage"
|
|
98
119
|
msgid "Generic images are a reusable disk image that works for any host registered in Foreman. It requires a basic DHCP and DNS service to function and contact the server, but does not require DHCP reservations or static IP addresses."
|
99
120
|
msgstr "Generische Abbilder sind wiederverwendbare Festplattenabbilder die für beliebige in Foreman registrierte Hosts funktionieren. Sie erfordern einen einfachen DHCP- und DNS-Service, um zu funktionieren und den Server zu kontaktieren. Jedoch benötigen sie keinerlei DHCP-Reservierungen oder statische IP-Adressen."
|
100
121
|
|
122
|
+
msgid "Grub2 directory"
|
123
|
+
msgstr ""
|
124
|
+
|
125
|
+
msgid "Grub2 template to use for generic EFI host boot disks"
|
126
|
+
msgstr ""
|
127
|
+
|
101
128
|
msgid "Help"
|
102
129
|
msgstr "Hilfe"
|
103
130
|
|
@@ -134,8 +161,8 @@ msgstr "ISO-Erstellung fehlgeschlagen"
|
|
134
161
|
msgid "ISO generation command"
|
135
162
|
msgstr "ISO-Erzeugungsbefehl"
|
136
163
|
|
137
|
-
msgid "ISO hybrid conversion failed"
|
138
|
-
msgstr "
|
164
|
+
msgid "ISO hybrid conversion failed: %s"
|
165
|
+
msgstr ""
|
139
166
|
|
140
167
|
msgid "ISOLINUX directory"
|
141
168
|
msgstr "ISOLINUX-Verzeichnis"
|
@@ -155,6 +182,9 @@ msgstr "Installationsmedien-Dateien werden für vollständige Host-Images zwisch
|
|
155
182
|
msgid "Once chainloaded, the OS bootloader and installer are downloaded directly from the installation media configured in Foreman, and the provisioning script (kickstart/preseed) is downloaded from Foreman."
|
156
183
|
msgstr "Sobald sie nacheinander geladen (Chainloading) sind, werden der OS-Bootloader und das OS-Installationsprogramm direkt von den in Foreman konfigurierten Installationsmedien heruntergeladen, und das Bereitstellungsskript (kickstart/preseed) wird von Foreman heruntergeladen."
|
157
184
|
|
185
|
+
msgid "Path to directory containing grubx64.efi and shimx64.efi"
|
186
|
+
msgstr ""
|
187
|
+
|
158
188
|
msgid "Path to directory containing iPXE images"
|
159
189
|
msgstr "Pfad zum Verzeichnis mit iPXE-Abbildern"
|
160
190
|
|
@@ -212,10 +242,13 @@ msgstr "\"True\" für vollständiges, \"false\" für einfaches wiederverwendbare
|
|
212
242
|
msgid "Unable to find template specified by %s setting"
|
213
243
|
msgstr "Konnte Vorlage mit der %s-Einstellung nicht finden"
|
214
244
|
|
215
|
-
msgid "Unable to generate disk
|
245
|
+
msgid "Unable to generate disk %{kind} template: %{error}"
|
246
|
+
msgstr ""
|
247
|
+
|
248
|
+
msgid "Unable to generate disk template, %{kind} template not found."
|
216
249
|
msgstr ""
|
217
250
|
|
218
|
-
msgid "Unable to
|
251
|
+
msgid "Unable to mcopy %{path}"
|
219
252
|
msgstr ""
|
220
253
|
|
221
254
|
msgid "Upload ISO image to datastore for %s"
|
Binary file
|
@@ -4,7 +4,7 @@
|
|
4
4
|
#
|
5
5
|
msgid ""
|
6
6
|
msgstr ""
|
7
|
-
"Project-Id-Version: foreman_bootdisk
|
7
|
+
"Project-Id-Version: foreman_bootdisk 17.0.0\n"
|
8
8
|
"Report-Msgid-Bugs-To: \n"
|
9
9
|
"PO-Revision-Date: 2014-02-13 12:09+0000\n"
|
10
10
|
"Last-Translator: Dominic Cleal <dcleal@redhat.com>\n"
|
@@ -51,6 +51,12 @@ msgstr ""
|
|
51
51
|
msgid "Command to generate ISO image, use genisoimage or mkisofs"
|
52
52
|
msgstr ""
|
53
53
|
|
54
|
+
msgid "Creating new image failed, install truncate utility"
|
55
|
+
msgstr ""
|
56
|
+
|
57
|
+
msgid "Detach ISO image from CDROM drive for %s"
|
58
|
+
msgstr ""
|
59
|
+
|
54
60
|
msgid "Download generic image"
|
55
61
|
msgstr ""
|
56
62
|
|
@@ -60,9 +66,21 @@ msgstr ""
|
|
60
66
|
msgid "Download subnet generic image"
|
61
67
|
msgstr ""
|
62
68
|
|
69
|
+
msgid "Ensure %{path} contains grubx64.efi and shimx64.efi: install TFTP module or copy those files into /var/lib/foreman/bootdisk (Grub2 directory setting)"
|
70
|
+
msgstr ""
|
71
|
+
|
63
72
|
msgid "Failed to attach ISO image to CDROM drive of instance %{name}: %{message}"
|
64
73
|
msgstr ""
|
65
74
|
|
75
|
+
msgid "Failed to create a directory within the ESP image"
|
76
|
+
msgstr ""
|
77
|
+
|
78
|
+
msgid "Failed to detach ISO image from CDROM drive of instance %{name}: %{message}"
|
79
|
+
msgstr ""
|
80
|
+
|
81
|
+
msgid "Failed to format the ESP image via mkfs.msdos"
|
82
|
+
msgstr ""
|
83
|
+
|
66
84
|
msgid "Failed to generate ISO image for instance %{name}: %{message}"
|
67
85
|
msgstr ""
|
68
86
|
|
@@ -81,6 +99,9 @@ msgstr ""
|
|
81
99
|
msgid "Generating ISO image for %s"
|
82
100
|
msgstr ""
|
83
101
|
|
102
|
+
msgid "Generic Grub2 EFI image template"
|
103
|
+
msgstr ""
|
104
|
+
|
84
105
|
msgid "Generic image"
|
85
106
|
msgstr ""
|
86
107
|
|
@@ -90,6 +111,12 @@ msgstr ""
|
|
90
111
|
msgid "Generic images are a reusable disk image that works for any host registered in Foreman. It requires a basic DHCP and DNS service to function and contact the server, but does not require DHCP reservations or static IP addresses."
|
91
112
|
msgstr ""
|
92
113
|
|
114
|
+
msgid "Grub2 directory"
|
115
|
+
msgstr ""
|
116
|
+
|
117
|
+
msgid "Grub2 template to use for generic EFI host boot disks"
|
118
|
+
msgstr ""
|
119
|
+
|
93
120
|
msgid "Help"
|
94
121
|
msgstr ""
|
95
122
|
|
@@ -126,7 +153,7 @@ msgstr ""
|
|
126
153
|
msgid "ISO generation command"
|
127
154
|
msgstr ""
|
128
155
|
|
129
|
-
msgid "ISO hybrid conversion failed"
|
156
|
+
msgid "ISO hybrid conversion failed: %s"
|
130
157
|
msgstr ""
|
131
158
|
|
132
159
|
msgid "ISOLINUX directory"
|
@@ -147,6 +174,9 @@ msgstr ""
|
|
147
174
|
msgid "Once chainloaded, the OS bootloader and installer are downloaded directly from the installation media configured in Foreman, and the provisioning script (kickstart/preseed) is downloaded from Foreman."
|
148
175
|
msgstr ""
|
149
176
|
|
177
|
+
msgid "Path to directory containing grubx64.efi and shimx64.efi"
|
178
|
+
msgstr ""
|
179
|
+
|
150
180
|
msgid "Path to directory containing iPXE images"
|
151
181
|
msgstr ""
|
152
182
|
|
@@ -204,10 +234,13 @@ msgstr ""
|
|
204
234
|
msgid "Unable to find template specified by %s setting"
|
205
235
|
msgstr ""
|
206
236
|
|
207
|
-
msgid "Unable to generate disk
|
237
|
+
msgid "Unable to generate disk %{kind} template: %{error}"
|
238
|
+
msgstr ""
|
239
|
+
|
240
|
+
msgid "Unable to generate disk template, %{kind} template not found."
|
208
241
|
msgstr ""
|
209
242
|
|
210
|
-
msgid "Unable to
|
243
|
+
msgid "Unable to mcopy %{path}"
|
211
244
|
msgstr ""
|
212
245
|
|
213
246
|
msgid "Upload ISO image to datastore for %s"
|