foreman_bootdisk 16.1.0 → 17.0.2
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/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"
|