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.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHORS +1 -0
  3. data/README.md +9 -0
  4. data/app/controllers/foreman_bootdisk/api/v2/disks_controller.rb +5 -7
  5. data/app/controllers/foreman_bootdisk/api/v2/subnet_disks_controller.rb +9 -4
  6. data/app/controllers/foreman_bootdisk/disks_controller.rb +11 -10
  7. data/app/helpers/concerns/foreman_bootdisk/hosts_helper_ext.rb +1 -1
  8. data/app/lib/foreman_bootdisk/scope/bootdisk.rb +4 -1
  9. data/app/lib/foreman_bootdisk/scope/full_host_bootdisk_efi.rb +15 -0
  10. data/app/models/concerns/foreman_bootdisk/compute_resources/vmware.rb +10 -1
  11. data/app/models/concerns/foreman_bootdisk/host_ext.rb +3 -6
  12. data/app/models/concerns/foreman_bootdisk/orchestration/compute.rb +28 -19
  13. data/app/models/setting/bootdisk.rb +4 -0
  14. data/app/services/foreman_bootdisk/iso_generator.rb +114 -54
  15. data/app/services/foreman_bootdisk/renderer.rb +36 -19
  16. data/app/views/foreman_bootdisk/generic_efi_host.erb +64 -0
  17. data/db/seeds.d/50-bootdisk_templates.rb +1 -0
  18. data/lib/foreman_bootdisk/engine.rb +1 -1
  19. data/lib/foreman_bootdisk/version.rb +1 -1
  20. data/lib/tasks/bootdisk.rake +10 -6
  21. data/locale/action_names.rb +5 -0
  22. data/locale/ca/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  23. data/locale/ca/foreman_bootdisk.po +37 -4
  24. data/locale/de/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  25. data/locale/de/foreman_bootdisk.po +40 -7
  26. data/locale/en/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  27. data/locale/en/foreman_bootdisk.po +37 -4
  28. data/locale/en_GB/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  29. data/locale/en_GB/foreman_bootdisk.po +38 -5
  30. data/locale/es/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  31. data/locale/es/foreman_bootdisk.po +40 -7
  32. data/locale/foreman_bootdisk.pot +87 -39
  33. data/locale/fr/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  34. data/locale/fr/foreman_bootdisk.po +38 -5
  35. data/locale/it/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  36. data/locale/it/foreman_bootdisk.po +38 -5
  37. data/locale/ja/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  38. data/locale/ja/foreman_bootdisk.po +38 -5
  39. data/locale/ko/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  40. data/locale/ko/foreman_bootdisk.po +38 -5
  41. data/locale/pt_BR/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  42. data/locale/pt_BR/foreman_bootdisk.po +38 -5
  43. data/locale/ru/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  44. data/locale/ru/foreman_bootdisk.po +38 -5
  45. data/locale/sv_SE/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  46. data/locale/sv_SE/foreman_bootdisk.po +38 -5
  47. data/locale/zh_CN/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  48. data/locale/zh_CN/foreman_bootdisk.po +38 -5
  49. data/locale/zh_TW/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  50. data/locale/zh_TW/foreman_bootdisk.po +38 -5
  51. data/test/functional/foreman_bootdisk/api/v2/disks_controller_test.rb +51 -17
  52. data/test/functional/foreman_bootdisk/api/v2/subnet_disks_controller_test.rb +23 -10
  53. data/test/functional/foreman_bootdisk/disks_controller_test.rb +65 -25
  54. data/test/test_plugin_helper.rb +21 -3
  55. data/test/unit/concerns/host_test.rb +1 -1
  56. data/test/unit/concerns/orchestration/compute_test.rb +32 -13
  57. data/test/unit/foreman_bootdisk/renderer_test.rb +1 -1
  58. data/test/unit/iso_generator_test.rb +6 -7
  59. metadata +19 -2
@@ -4,36 +4,46 @@ require 'uri'
4
4
 
5
5
  module ForemanBootdisk
6
6
  class Renderer
7
- def generic_template_render(subnet = nil)
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
- klass: scope_class
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.24'
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],
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ForemanBootdisk
4
- VERSION = '16.1.0'
4
+ VERSION = '17.0.2'
5
5
  end
@@ -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
- tmpl = host.bootdisk_template_render
23
+ tmpl_bios = host.bootdisk_template_render
24
+ tmpl_efi = host.generic_efi_template_render
24
25
 
25
- ForemanBootdisk::ISOGenerator.generate(ipxe: tmpl, dir: outputdir) do |image|
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
- tmpl = ForemanBootdisk::Renderer.new.generic_template_render
49
+ tmpl_bios = ForemanBootdisk::Renderer.new.generic_template_render
49
50
 
50
- ForemanBootdisk::ISOGenerator.generate(ipxe: tmpl, dir: outputdir) do |image|
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
- tmpl = ForemanBootdisk::Renderer.new.generic_template_render(subnet)
64
- ForemanBootdisk::ISOGenerator.generate(ipxe: tmpl, dir: outputdir) do |image|
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.'
@@ -0,0 +1,5 @@
1
+ # Autogenerated!
2
+ _("Remote action:")
3
+ _("Import facts")
4
+ _("Import Puppet classes")
5
+ _("Action with sub plans")
@@ -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 16.1.0\n"
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 PXELinux template: %s"
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 generate disk template, PXELinux template not found."
247
+ msgid "Unable to mcopy %{path}"
215
248
  msgstr ""
216
249
 
217
250
  msgid "Upload ISO image to datastore for %s"
@@ -8,11 +8,11 @@
8
8
  # Martin Zimmermann <martin.zimmermann@gmx.com>, 2018
9
9
  # Paul Puschmann, 2014
10
10
  # abf90805572190d649c59f7a021d76cb, 2014
11
- # simon11 <simon.stieger.98@live.de>, 2014
12
- # simon11 <simon.stieger.98@live.de>, 2014
11
+ # simon11 <transifex@stieger.co>, 2014
12
+ # simon11 <transifex@stieger.co>, 2014
13
13
  msgid ""
14
14
  msgstr ""
15
- "Project-Id-Version: foreman_bootdisk 16.1.0\n"
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 "ISO hybrid Konvertierung fehlgeschlagen"
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 PXELinux template: %s"
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 generate disk template, PXELinux template not found."
251
+ msgid "Unable to mcopy %{path}"
219
252
  msgstr ""
220
253
 
221
254
  msgid "Upload ISO image to datastore for %s"
@@ -4,7 +4,7 @@
4
4
  #
5
5
  msgid ""
6
6
  msgstr ""
7
- "Project-Id-Version: foreman_bootdisk 16.1.0\n"
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 PXELinux template: %s"
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 generate disk template, PXELinux template not found."
243
+ msgid "Unable to mcopy %{path}"
211
244
  msgstr ""
212
245
 
213
246
  msgid "Upload ISO image to datastore for %s"