foreman_bootdisk 16.1.0 → 18.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/rubocop.yaml +19 -0
- data/.tx/config +1 -1
- data/AUTHORS +5 -0
- data/README.md +11 -3
- data/app/controllers/concerns/allowed_actions.rb +16 -0
- data/app/controllers/foreman_bootdisk/api/v2/disks_controller.rb +15 -8
- data/app/controllers/foreman_bootdisk/api/v2/subnet_disks_controller.rb +16 -4
- data/app/controllers/foreman_bootdisk/disks_controller.rb +29 -23
- data/app/controllers/foreman_bootdisk/subnet_disks_controller.rb +41 -0
- data/app/helpers/bootdisk_links_helper.rb +46 -0
- data/app/helpers/concerns/foreman_bootdisk/hosts_helper_ext.rb +58 -44
- data/app/helpers/concerns/foreman_bootdisk/pretty_error.rb +13 -0
- data/app/helpers/concerns/foreman_bootdisk/subnets_helper_ext.rb +45 -0
- data/app/helpers/disk_helper.rb +8 -0
- data/app/lib/foreman_bootdisk/scope/bootdisk.rb +28 -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 +9 -6
- data/app/models/concerns/foreman_bootdisk/orchestration/compute.rb +38 -22
- data/app/models/setting/bootdisk.rb +14 -1
- data/app/services/foreman_bootdisk/iso_generator.rb +134 -56
- data/app/services/foreman_bootdisk/renderer.rb +36 -19
- data/app/views/foreman_bootdisk/disks/help.html.erb +16 -4
- data/app/views/foreman_bootdisk/generic_efi_host.erb +68 -0
- data/app/views/foreman_bootdisk/host.erb +7 -0
- data/app/views/subnets/_bootdisk_action_buttons.erb +1 -0
- data/app/views/subnets/_bootdisk_title_buttons.erb +1 -0
- data/config/routes.rb +1 -1
- data/db/seeds.d/50-bootdisk_templates.rb +1 -0
- data/lib/foreman_bootdisk/engine.rb +12 -2
- data/lib/foreman_bootdisk/version.rb +1 -1
- data/lib/tasks/bootdisk.rake +10 -24
- data/locale/action_names.rb +5 -0
- data/locale/ca/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/ca/foreman_bootdisk.po +74 -11
- data/locale/de/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/de/foreman_bootdisk.po +81 -17
- data/locale/en/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/en/foreman_bootdisk.po +71 -8
- data/locale/en_GB/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/en_GB/foreman_bootdisk.po +75 -12
- data/locale/es/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/es/foreman_bootdisk.po +88 -24
- data/locale/foreman_bootdisk.pot +167 -74
- data/locale/fr/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/fr/foreman_bootdisk.po +96 -32
- data/locale/it/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/it/foreman_bootdisk.po +75 -12
- data/locale/ja/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/ja/foreman_bootdisk.po +86 -22
- data/locale/ko/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/ko/foreman_bootdisk.po +75 -12
- data/locale/pt_BR/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/pt_BR/foreman_bootdisk.po +96 -33
- data/locale/ru/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/ru/foreman_bootdisk.po +75 -12
- data/locale/sv_SE/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/sv_SE/foreman_bootdisk.po +75 -12
- data/locale/zh_CN/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/zh_CN/foreman_bootdisk.po +129 -66
- data/locale/zh_TW/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/zh_TW/foreman_bootdisk.po +75 -12
- 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 +60 -30
- data/test/functional/foreman_bootdisk/subnet_disks_controller_test.rb +51 -0
- 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 +21 -36
@@ -0,0 +1,68 @@
|
|
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
|
+
echo Trying to ping proxy_httpboot_host: <%= proxy_httpboot_host %>
|
48
|
+
ping --count 1 <%= proxy_httpboot_host %> || echo Ping to proxy_httpboot_host failed or ping command not available.
|
49
|
+
echo Trying to ping proxy_template_host: <%= proxy_template_host %>
|
50
|
+
ping --count 1 <%= proxy_template_host %> || echo Ping to proxy_template_host failed or ping command not available.
|
51
|
+
sleep 5
|
52
|
+
set root=(<%= proxy_proto %>,<%= proxy_httpboot_host %>:<%= proxy_port %>)
|
53
|
+
# The variable will not survive configfile fetch, therefore absolute path
|
54
|
+
# must be used in the chainloaded template.
|
55
|
+
# https://bugzilla.redhat.com/show_bug.cgi?id=1842893
|
56
|
+
set http_path=/httpboot/
|
57
|
+
set default=efi_<%= proxy_proto %>
|
58
|
+
<% (0..32).each do |i| -%>
|
59
|
+
echo "Trying efinet<%= i %> via <%= proxy_proto %>://<%= proxy_template_host %>:<%= proxy_port %>/unattended/PXEGrub2?mac=$net_efinet<%= i %>_dhcp_mac"
|
60
|
+
set net_default_mac=$net_efinet<%= i %>_dhcp_mac
|
61
|
+
sleep 5
|
62
|
+
configfile (<%= proxy_proto %>,<%= proxy_template_host %>:<%= proxy_port %>)/unattended/PXEGrub2?mac=$net_efinet<%= i %>_dhcp_mac
|
63
|
+
<% end -%>
|
64
|
+
|
65
|
+
echo "Could not find a host with PXEGrub2 template and one of the MAC addresses!"
|
66
|
+
echo "The system will poweroff in few minutes..."
|
67
|
+
sleep 500
|
68
|
+
poweroff
|
@@ -58,6 +58,13 @@ set dns <%= dns %>
|
|
58
58
|
set domain <%= interface.domain.to_s %>
|
59
59
|
<% end %>
|
60
60
|
|
61
|
+
echo Trying to ping Gateway: ${netX/gateway}
|
62
|
+
ping --count 1 ${netX/gateway} || echo Ping to Gateway failed or ping command not available.
|
63
|
+
<% if dns.present? -%>
|
64
|
+
echo Trying to ping DNS: ${netX/dns}
|
65
|
+
ping --count 1 ${netX/dns} || echo Ping to DNS failed or ping command not available.
|
66
|
+
<% end %>
|
67
|
+
|
61
68
|
# Chainload from Foreman rather than embedding OS info here, so the behaviour
|
62
69
|
# is entirely dynamic.
|
63
70
|
chain <%= bootdisk_chain_url %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= display_bootdisk_for_subnet(subject) %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= display_bootdisk_title_buttons %>
|
data/config/routes.rb
CHANGED
@@ -7,7 +7,7 @@ ForemanBootdisk::Engine.routes.draw do
|
|
7
7
|
constraints(id: %r{[^/]+}) do
|
8
8
|
get 'hosts/:id', on: :collection, to: 'disks#host'
|
9
9
|
get 'full_hosts/:id', on: :collection, to: 'disks#full_host'
|
10
|
-
get 'subnet/:id', on: :collection, to: '
|
10
|
+
get 'subnet/:id', on: :collection, to: 'subnet_disks#subnet'
|
11
11
|
end
|
12
12
|
end
|
13
13
|
|
@@ -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,10 +38,11 @@ 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 '>=
|
41
|
+
requires_foreman '>= 3.0'
|
42
42
|
|
43
43
|
security_block :bootdisk do |_map|
|
44
|
-
permission :download_bootdisk, 'foreman_bootdisk/disks': %i[generic host full_host
|
44
|
+
permission :download_bootdisk, 'foreman_bootdisk/disks': %i[generic host full_host help],
|
45
|
+
'foreman_bootdisk/subnet_disks': [:subnet],
|
45
46
|
'foreman_bootdisk/api/v2/disks': %i[generic host],
|
46
47
|
'foreman_bootdisk/api/v2/subnet_disks': [:subnet]
|
47
48
|
end
|
@@ -51,9 +52,17 @@ module ForemanBootdisk
|
|
51
52
|
add_all_permissions_to_default_roles
|
52
53
|
|
53
54
|
apipie_documented_controllers ["#{ForemanBootdisk::Engine.root}/app/controllers/foreman_bootdisk/api/v2/*.rb"]
|
55
|
+
ApipieDSL.configuration.dsl_classes_matchers += [
|
56
|
+
"#{ForemanBootdisk::Engine.root}/app/lib/foreman_bootdisk/scope/*.rb"
|
57
|
+
]
|
54
58
|
provision_method 'bootdisk', N_('Boot disk based')
|
55
59
|
template_labels 'Bootdisk' => N_('Boot disk embedded template')
|
56
60
|
allowed_template_helpers :bootdisk_chain_url, :bootdisk_raise
|
61
|
+
|
62
|
+
extend_page "subnets/index" do |cx|
|
63
|
+
cx.add_pagelet :subnet_index_action_buttons, name: 'Bootdisk', partial: 'subnets/bootdisk_action_buttons'
|
64
|
+
cx.add_pagelet :subnet_index_title_buttons, name: 'Bootdisk', partial: 'subnets/bootdisk_title_buttons'
|
65
|
+
end
|
57
66
|
end
|
58
67
|
end
|
59
68
|
|
@@ -68,6 +77,7 @@ module ForemanBootdisk
|
|
68
77
|
Host::Managed.prepend ForemanBootdisk::HostExt
|
69
78
|
Host::Managed.include ForemanBootdisk::Orchestration::Compute if SETTINGS[:unattended]
|
70
79
|
HostsHelper.prepend ForemanBootdisk::HostsHelperExt
|
80
|
+
SubnetsHelper.prepend ForemanBootdisk::SubnetsHelperExt
|
71
81
|
Foreman::Model::Vmware.prepend ForemanBootdisk::ComputeResources::Vmware if Foreman::Model::Vmware.available?
|
72
82
|
rescue StandardError => e
|
73
83
|
Rails.logger.warn "#{ForemanBootdisk::ENGINE_NAME}: skipping engine hook (#{e})"
|
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}"
|
@@ -85,22 +88,5 @@ end
|
|
85
88
|
|
86
89
|
Rake::Task[:test].enhance ['test:foreman_bootdisk']
|
87
90
|
|
88
|
-
namespace :foreman_bootdisk do
|
89
|
-
task :rubocop do
|
90
|
-
begin
|
91
|
-
require 'rubocop/rake_task'
|
92
|
-
RuboCop::RakeTask.new(:rubocop_foreman_bootdisk) do |task|
|
93
|
-
task.patterns = ["#{ForemanBootdisk::Engine.root}/app/**/*.rb",
|
94
|
-
"#{ForemanBootdisk::Engine.root}/lib/**/*.rb",
|
95
|
-
"#{ForemanBootdisk::Engine.root}/test/**/*.rb"]
|
96
|
-
end
|
97
|
-
rescue StandardError
|
98
|
-
puts 'Rubocop not loaded.'
|
99
|
-
end
|
100
|
-
|
101
|
-
Rake::Task['rubocop_foreman_bootdisk'].invoke
|
102
|
-
end
|
103
|
-
end
|
104
|
-
|
105
91
|
load 'tasks/jenkins.rake'
|
106
|
-
Rake::Task['jenkins:unit'].enhance ['test:foreman_bootdisk'
|
92
|
+
Rake::Task['jenkins:unit'].enhance ['test:foreman_bootdisk'] if Rake::Task.task_defined?(:'jenkins:unit')
|
Binary file
|
@@ -7,10 +7,10 @@
|
|
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 18.0.0\n"
|
11
11
|
"Report-Msgid-Bugs-To: \n"
|
12
|
-
"PO-Revision-Date:
|
13
|
-
"Last-Translator:
|
12
|
+
"PO-Revision-Date: 2021-09-24 07:25+0000\n"
|
13
|
+
"Last-Translator: Transifex Bot <>\n"
|
14
14
|
"Language-Team: Catalan (http://www.transifex.com/foreman/foreman/language/ca/)"
|
15
15
|
"\n"
|
16
16
|
"MIME-Version: 1.0\n"
|
@@ -19,6 +19,9 @@ msgstr ""
|
|
19
19
|
"Language: ca\n"
|
20
20
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
21
21
|
|
22
|
+
msgid "* - These bootdisk types were disabled, you can enable them in Administer - Settings."
|
23
|
+
msgstr ""
|
24
|
+
|
22
25
|
msgid "A variant of the per-host image which contains the OS bootloader embedded inside the disk. This may be useful if chainloading fails on certain hardware, but has the downside that the image must be regenerated for any change in the OS, bootloader or PXELinux templates."
|
23
26
|
msgstr ""
|
24
27
|
|
@@ -28,6 +31,9 @@ msgstr ""
|
|
28
31
|
msgid "All images are usable as either ISOs or as disk images, including being written to a USB disk with `dd`."
|
29
32
|
msgstr ""
|
30
33
|
|
34
|
+
msgid "Allowed bootdisk types"
|
35
|
+
msgstr ""
|
36
|
+
|
31
37
|
msgid "Attach ISO image to CDROM drive for %s"
|
32
38
|
msgstr ""
|
33
39
|
|
@@ -37,6 +43,9 @@ msgstr "Enrere"
|
|
37
43
|
msgid "Boot disk"
|
38
44
|
msgstr "Disc d'arrencada"
|
39
45
|
|
46
|
+
msgid "Boot disk Help"
|
47
|
+
msgstr ""
|
48
|
+
|
40
49
|
msgid "Boot disk based"
|
41
50
|
msgstr ""
|
42
51
|
|
@@ -55,6 +64,12 @@ msgstr ""
|
|
55
64
|
msgid "Command to generate ISO image, use genisoimage or mkisofs"
|
56
65
|
msgstr "L'ordre per generar la imatge ISO, utilitzeu genisoimage o mkisofs"
|
57
66
|
|
67
|
+
msgid "Creating new image failed, install truncate utility"
|
68
|
+
msgstr ""
|
69
|
+
|
70
|
+
msgid "Detach ISO image from CDROM drive for %s"
|
71
|
+
msgstr ""
|
72
|
+
|
58
73
|
msgid "Download generic image"
|
59
74
|
msgstr "Baixa la imatge genèrica"
|
60
75
|
|
@@ -64,9 +79,21 @@ msgstr "Baixa la imatge d'amfitrió"
|
|
64
79
|
msgid "Download subnet generic image"
|
65
80
|
msgstr "Baixa la imatge genèrica de subxarxa"
|
66
81
|
|
82
|
+
msgid "Ensure %{file} is readable (or update \"Grub2 directory\" setting)"
|
83
|
+
msgstr ""
|
84
|
+
|
67
85
|
msgid "Failed to attach ISO image to CDROM drive of instance %{name}: %{message}"
|
68
86
|
msgstr ""
|
69
87
|
|
88
|
+
msgid "Failed to create a directory within the ESP image"
|
89
|
+
msgstr ""
|
90
|
+
|
91
|
+
msgid "Failed to detach ISO image from CDROM drive of instance %{name}: %{message}"
|
92
|
+
msgstr ""
|
93
|
+
|
94
|
+
msgid "Failed to format the ESP image via mkfs.msdos"
|
95
|
+
msgstr ""
|
96
|
+
|
70
97
|
msgid "Failed to generate ISO image for instance %{name}: %{message}"
|
71
98
|
msgstr ""
|
72
99
|
|
@@ -85,17 +112,26 @@ msgstr "Imatge completa d'amfitrió"
|
|
85
112
|
msgid "Generating ISO image for %s"
|
86
113
|
msgstr ""
|
87
114
|
|
115
|
+
msgid "Generic Grub2 EFI image template"
|
116
|
+
msgstr ""
|
117
|
+
|
88
118
|
msgid "Generic image"
|
89
119
|
msgstr "Imatge genèrica"
|
90
120
|
|
91
121
|
msgid "Generic image template"
|
92
122
|
msgstr ""
|
93
123
|
|
124
|
+
msgid "Generic images"
|
125
|
+
msgstr ""
|
126
|
+
|
94
127
|
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
128
|
msgstr ""
|
96
129
|
|
97
|
-
msgid "
|
98
|
-
msgstr "
|
130
|
+
msgid "Grub2 directory"
|
131
|
+
msgstr ""
|
132
|
+
|
133
|
+
msgid "Grub2 template to use for generic EFI host boot disks"
|
134
|
+
msgstr ""
|
99
135
|
|
100
136
|
msgid "Host '%s' image"
|
101
137
|
msgstr ""
|
@@ -121,16 +157,25 @@ msgstr "Imatge d'amfitrió"
|
|
121
157
|
msgid "Host image template"
|
122
158
|
msgstr ""
|
123
159
|
|
160
|
+
msgid "Host images"
|
161
|
+
msgstr ""
|
162
|
+
|
163
|
+
msgid "Host is not in build mode"
|
164
|
+
msgstr ""
|
165
|
+
|
124
166
|
msgid "Host is not in build mode, so the template cannot be rendered"
|
125
167
|
msgstr ""
|
126
168
|
|
169
|
+
msgid "Host is not in build mode."
|
170
|
+
msgstr ""
|
171
|
+
|
127
172
|
msgid "ISO build failed"
|
128
173
|
msgstr "No s'ha pogut construir l'ISO"
|
129
174
|
|
130
175
|
msgid "ISO generation command"
|
131
176
|
msgstr ""
|
132
177
|
|
133
|
-
msgid "ISO hybrid conversion failed"
|
178
|
+
msgid "ISO hybrid conversion failed: %s"
|
134
179
|
msgstr ""
|
135
180
|
|
136
181
|
msgid "ISOLINUX directory"
|
@@ -148,9 +193,15 @@ msgstr ""
|
|
148
193
|
msgid "Installation media files will be cached for full host images"
|
149
194
|
msgstr "Els fitxers dels mitjans d'instal·lació s'emmagatzemaran en memòria cau per a les imatges completes dels amfitrions"
|
150
195
|
|
196
|
+
msgid "List of allowed bootdisk types, remove type to disable it"
|
197
|
+
msgstr ""
|
198
|
+
|
151
199
|
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
200
|
msgstr ""
|
153
201
|
|
202
|
+
msgid "Path to directory containing grubx64.efi and shimx64.efi"
|
203
|
+
msgstr ""
|
204
|
+
|
154
205
|
msgid "Path to directory containing iPXE images"
|
155
206
|
msgstr "El camí al directori que conté les imatges iPXE"
|
156
207
|
|
@@ -184,34 +235,46 @@ msgstr ""
|
|
184
235
|
msgid "Subnet boot disks"
|
185
236
|
msgstr "Discs d'arrencada de subxarxa"
|
186
237
|
|
238
|
+
msgid "Subnet generic image"
|
239
|
+
msgstr ""
|
240
|
+
|
187
241
|
msgid "Subnet image"
|
188
242
|
msgstr "Imatge de subxarxa"
|
189
243
|
|
190
244
|
msgid "Subnet images are similar to generic images, but chain-loading is done via the TFTP Smart Proxy assigned to the Subnet of the host. The smart proxy must have the \"Templates\" module enabled and configured."
|
191
245
|
msgstr ""
|
192
246
|
|
193
|
-
msgid "Subnet is not assigned to the host %s"
|
194
|
-
msgstr "La subxarxa no està assignada a l'amfitrió %s"
|
195
|
-
|
196
247
|
msgid "TFTP feature not enabled for subnet %s"
|
197
248
|
msgstr "La funcionalitat TFTP no està habilitada per a la subxarxa %s"
|
198
249
|
|
199
250
|
msgid "The OS install continues using the installation media configured in Foreman, and it will typically configure static networking, depending on how the OS iPXE template is configured."
|
200
251
|
msgstr ""
|
201
252
|
|
253
|
+
msgid "These images are more generic than previous images. You can find them at subnet index page."
|
254
|
+
msgstr ""
|
255
|
+
|
256
|
+
msgid "These images are used for host. You can find them at host detail page."
|
257
|
+
msgstr ""
|
258
|
+
|
202
259
|
msgid "This image is generic for all hosts with a provisioning NIC on that subnet."
|
203
260
|
msgstr ""
|
204
261
|
|
262
|
+
msgid "This type of bootdisk is not allowed. Please contact administrator."
|
263
|
+
msgstr ""
|
264
|
+
|
205
265
|
msgid "True for full, false for basic reusable image"
|
206
266
|
msgstr ""
|
207
267
|
|
208
268
|
msgid "Unable to find template specified by %s setting"
|
209
269
|
msgstr "No es pot trobar la plantilla especificada per l'ajust %s"
|
210
270
|
|
211
|
-
msgid "Unable to generate disk
|
271
|
+
msgid "Unable to generate disk %{kind} template: %{error}"
|
272
|
+
msgstr ""
|
273
|
+
|
274
|
+
msgid "Unable to generate disk template, %{kind} template not found."
|
212
275
|
msgstr ""
|
213
276
|
|
214
|
-
msgid "Unable to
|
277
|
+
msgid "Unable to mcopy %{file}"
|
215
278
|
msgstr ""
|
216
279
|
|
217
280
|
msgid "Upload ISO image to datastore for %s"
|
Binary file
|
@@ -6,16 +6,17 @@
|
|
6
6
|
# Christina Gurski <Gurski_christina@yahoo.de>, 2015
|
7
7
|
# Ettore Atalan <atalanttore@googlemail.com>, 2014,2016
|
8
8
|
# Martin Zimmermann <martin.zimmermann@gmx.com>, 2018
|
9
|
+
# Patrick Dolinic, 2021
|
9
10
|
# Paul Puschmann, 2014
|
10
11
|
# abf90805572190d649c59f7a021d76cb, 2014
|
11
|
-
# simon11 <
|
12
|
-
# simon11 <
|
12
|
+
# simon11 <transifex@stieger.co>, 2014
|
13
|
+
# simon11 <transifex@stieger.co>, 2014
|
13
14
|
msgid ""
|
14
15
|
msgstr ""
|
15
|
-
"Project-Id-Version: foreman_bootdisk
|
16
|
+
"Project-Id-Version: foreman_bootdisk 18.0.0\n"
|
16
17
|
"Report-Msgid-Bugs-To: \n"
|
17
|
-
"PO-Revision-Date:
|
18
|
-
"Last-Translator:
|
18
|
+
"PO-Revision-Date: 2021-10-14 23:10+0000\n"
|
19
|
+
"Last-Translator: Patrick Dolinic\n"
|
19
20
|
"Language-Team: German (http://www.transifex.com/foreman/foreman/language/de/)\n"
|
20
21
|
"MIME-Version: 1.0\n"
|
21
22
|
"Content-Type: text/plain; charset=UTF-8\n"
|
@@ -23,6 +24,9 @@ msgstr ""
|
|
23
24
|
"Language: de\n"
|
24
25
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
25
26
|
|
27
|
+
msgid "* - These bootdisk types were disabled, you can enable them in Administer - Settings."
|
28
|
+
msgstr "* - Diese Bootdisk-Typen wurden deaktiviert, Sie können sie unter Verwalten - Einstellungen aktivieren."
|
29
|
+
|
26
30
|
msgid "A variant of the per-host image which contains the OS bootloader embedded inside the disk. This may be useful if chainloading fails on certain hardware, but has the downside that the image must be regenerated for any change in the OS, bootloader or PXELinux templates."
|
27
31
|
msgstr "Eine Variante des Abbildes pro Host mit im im Medium eingebetteten Betriebssystem-Bootloader. Dies ist hilfreich, falls Chainloading auf einer bestimmten Hardware fehlschlägt, hat jedoch den Nachteil, dass das Abbild bei jeglicher Änderung von Betriebssystem, Bootloader oder PXELinux-Vorlagen neu generiert werden muss."
|
28
32
|
|
@@ -32,6 +36,9 @@ msgstr "Aktion mit Unterplänen"
|
|
32
36
|
msgid "All images are usable as either ISOs or as disk images, including being written to a USB disk with `dd`."
|
33
37
|
msgstr "Alle Abbilder können entweder als ISOs oder als Festplattenabbilder verwendet werden und auch mit `dd` auf eine USB-Festplatte geschrieben."
|
34
38
|
|
39
|
+
msgid "Allowed bootdisk types"
|
40
|
+
msgstr "Zulässige Bootdisk-Typen"
|
41
|
+
|
35
42
|
msgid "Attach ISO image to CDROM drive for %s"
|
36
43
|
msgstr "ISO-Abbild dem CDROM-Laufwerk für %s anhängen"
|
37
44
|
|
@@ -41,6 +48,9 @@ msgstr "Zurück"
|
|
41
48
|
msgid "Boot disk"
|
42
49
|
msgstr "Startmedium"
|
43
50
|
|
51
|
+
msgid "Boot disk Help"
|
52
|
+
msgstr "Hilfe zur Bootdiskette"
|
53
|
+
|
44
54
|
msgid "Boot disk based"
|
45
55
|
msgstr "Startmedium-basiert"
|
46
56
|
|
@@ -59,6 +69,12 @@ msgstr ""
|
|
59
69
|
msgid "Command to generate ISO image, use genisoimage or mkisofs"
|
60
70
|
msgstr "Kommando zur Erstellung von ISO-Abbildern, verwende genisoimage oder mkisofs"
|
61
71
|
|
72
|
+
msgid "Creating new image failed, install truncate utility"
|
73
|
+
msgstr "Das Erstellen eines neuen Images ist fehlgeschlagen. Installieren Sie die Truncate-Utility"
|
74
|
+
|
75
|
+
msgid "Detach ISO image from CDROM drive for %s"
|
76
|
+
msgstr "Trennen Sie das ISO-Image vom CD-ROM-Laufwerk für %s"
|
77
|
+
|
62
78
|
msgid "Download generic image"
|
63
79
|
msgstr "Generisches Abbild herunterladen"
|
64
80
|
|
@@ -68,9 +84,21 @@ msgstr "Host-Abbild herunterladen"
|
|
68
84
|
msgid "Download subnet generic image"
|
69
85
|
msgstr "Generisches Abbild von Subnetz herunterladen"
|
70
86
|
|
87
|
+
msgid "Ensure %{file} is readable (or update \"Grub2 directory\" setting)"
|
88
|
+
msgstr "Stellen Sie sicher, dass %{file} lesbar ist (oder aktualisieren Sie die Einstellung \"Grub2 directory\")"
|
89
|
+
|
71
90
|
msgid "Failed to attach ISO image to CDROM drive of instance %{name}: %{message}"
|
72
91
|
msgstr "Fehler beim Einhängen des ISO-Abbild am CDROM-Laufwerk für Instanz %{name}: %{message}"
|
73
92
|
|
93
|
+
msgid "Failed to create a directory within the ESP image"
|
94
|
+
msgstr "Fehler beim Erstellen eines Verzeichnisses im ESP-Image"
|
95
|
+
|
96
|
+
msgid "Failed to detach ISO image from CDROM drive of instance %{name}: %{message}"
|
97
|
+
msgstr "Fehler beim Trennen des ISO-Image vom CD-ROM-Laufwerk der Instanz %{name}: %{message}"
|
98
|
+
|
99
|
+
msgid "Failed to format the ESP image via mkfs.msdos"
|
100
|
+
msgstr "Fehler beim Formatieren des ESP-Image über mkfs.msdos"
|
101
|
+
|
74
102
|
msgid "Failed to generate ISO image for instance %{name}: %{message}"
|
75
103
|
msgstr "Fehler beim Erzeugen des ISO-Abbild für Instanz %{name}: %{message}"
|
76
104
|
|
@@ -89,17 +117,26 @@ msgstr "Vollständiges Host-Abbild"
|
|
89
117
|
msgid "Generating ISO image for %s"
|
90
118
|
msgstr "ISO-Abbild für %s wird erzeugt"
|
91
119
|
|
120
|
+
msgid "Generic Grub2 EFI image template"
|
121
|
+
msgstr "Generische Grub2-EFI-Image-Vorlage"
|
122
|
+
|
92
123
|
msgid "Generic image"
|
93
124
|
msgstr "Generisches Abbild"
|
94
125
|
|
95
126
|
msgid "Generic image template"
|
96
127
|
msgstr "Generische Abbildvorlage"
|
97
128
|
|
129
|
+
msgid "Generic images"
|
130
|
+
msgstr "Generische Images"
|
131
|
+
|
98
132
|
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
133
|
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
134
|
|
101
|
-
msgid "
|
102
|
-
msgstr "
|
135
|
+
msgid "Grub2 directory"
|
136
|
+
msgstr "Grub2-Verzeichnis"
|
137
|
+
|
138
|
+
msgid "Grub2 template to use for generic EFI host boot disks"
|
139
|
+
msgstr "Grub2-Vorlage zur Verwendung für generische EFI-Host-Bootlaufwerke"
|
103
140
|
|
104
141
|
msgid "Host '%s' image"
|
105
142
|
msgstr "Host '%s'-Abbild"
|
@@ -108,7 +145,7 @@ msgid "Host bootdisk does not work with static IPv6"
|
|
108
145
|
msgstr ""
|
109
146
|
|
110
147
|
msgid "Host has no IPv4 or IPv6 address defined"
|
111
|
-
msgstr ""
|
148
|
+
msgstr "Host hat keine definierte IPv4- oder IPv6-Adresse"
|
112
149
|
|
113
150
|
msgid "Host has no domain defined"
|
114
151
|
msgstr "Host hat keine Domäne definiert"
|
@@ -125,17 +162,26 @@ msgstr "Host-Abbild"
|
|
125
162
|
msgid "Host image template"
|
126
163
|
msgstr "Host-Abbildvorlage"
|
127
164
|
|
165
|
+
msgid "Host images"
|
166
|
+
msgstr "Host-Images"
|
167
|
+
|
168
|
+
msgid "Host is not in build mode"
|
169
|
+
msgstr "Host befindet sich nicht im Build-Modus"
|
170
|
+
|
128
171
|
msgid "Host is not in build mode, so the template cannot be rendered"
|
129
172
|
msgstr "Host ist nicht im Buildmodus. Daher kann die Vorlage nicht erstellt werden."
|
130
173
|
|
174
|
+
msgid "Host is not in build mode."
|
175
|
+
msgstr "Host befindet sich nicht im Build-Modus."
|
176
|
+
|
131
177
|
msgid "ISO build failed"
|
132
178
|
msgstr "ISO-Erstellung fehlgeschlagen"
|
133
179
|
|
134
180
|
msgid "ISO generation command"
|
135
181
|
msgstr "ISO-Erzeugungsbefehl"
|
136
182
|
|
137
|
-
msgid "ISO hybrid conversion failed"
|
138
|
-
msgstr "ISO
|
183
|
+
msgid "ISO hybrid conversion failed: %s"
|
184
|
+
msgstr "ISO-Hybrid-Konvertierung fehlgeschlagen: %s"
|
139
185
|
|
140
186
|
msgid "ISOLINUX directory"
|
141
187
|
msgstr "ISOLINUX-Verzeichnis"
|
@@ -152,9 +198,15 @@ msgstr "Installationsmedien-Dateien Caching"
|
|
152
198
|
msgid "Installation media files will be cached for full host images"
|
153
199
|
msgstr "Installationsmedien-Dateien werden für vollständige Host-Images zwischengespeichert."
|
154
200
|
|
201
|
+
msgid "List of allowed bootdisk types, remove type to disable it"
|
202
|
+
msgstr "Liste der zulässigen Bootdisk-Typen, entfernen Sie den Typ, um ihn zu deaktivieren"
|
203
|
+
|
155
204
|
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
205
|
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
206
|
|
207
|
+
msgid "Path to directory containing grubx64.efi and shimx64.efi"
|
208
|
+
msgstr "Pfad zum Verzeichnis mit grubx64.efi und shimx64.efi"
|
209
|
+
|
158
210
|
msgid "Path to directory containing iPXE images"
|
159
211
|
msgstr "Pfad zum Verzeichnis mit iPXE-Abbildern"
|
160
212
|
|
@@ -188,35 +240,47 @@ msgstr "Subnetz '%s' generisches Abbild"
|
|
188
240
|
msgid "Subnet boot disks"
|
189
241
|
msgstr "Subnetz-Startmedien"
|
190
242
|
|
243
|
+
msgid "Subnet generic image"
|
244
|
+
msgstr "Generisches Subnetz-Image"
|
245
|
+
|
191
246
|
msgid "Subnet image"
|
192
247
|
msgstr "Subnetzabbild"
|
193
248
|
|
194
249
|
msgid "Subnet images are similar to generic images, but chain-loading is done via the TFTP Smart Proxy assigned to the Subnet of the host. The smart proxy must have the \"Templates\" module enabled and configured."
|
195
250
|
msgstr "Subnetz-Abbilder sind generischen Abbildern ähnlich, aber Chainloading erfolgt über den TFTP Smart Proxy, der dem Host-Subnetz zu gewiesen ist. Das \"Vorlagen\"-Modul muss auf dem Smart-Proxy aktiviert und konfiguriert sein."
|
196
251
|
|
197
|
-
msgid "Subnet is not assigned to the host %s"
|
198
|
-
msgstr "Subnetz ist dem Host %s nicht zugewiesen"
|
199
|
-
|
200
252
|
msgid "TFTP feature not enabled for subnet %s"
|
201
253
|
msgstr "TFTP-Funktion für Subnetz %s nicht aktiviert"
|
202
254
|
|
203
255
|
msgid "The OS install continues using the installation media configured in Foreman, and it will typically configure static networking, depending on how the OS iPXE template is configured."
|
204
256
|
msgstr "Die Installation des Betriebssystems wird unter Verwendung eines in Foreman konfigurierten Installationsmediums fortgesetzt und konfiguriert für gewöhnlich eine statische Verbindung in Abhängigkeit davon, wie die Betriebssystem-iPXE-Vorlage konfiguriert ist."
|
205
257
|
|
258
|
+
msgid "These images are more generic than previous images. You can find them at subnet index page."
|
259
|
+
msgstr "Diese Images sind allgemeiner als die vorherigen Images. Sie finden sie auf der Subnetz-Indexseite."
|
260
|
+
|
261
|
+
msgid "These images are used for host. You can find them at host detail page."
|
262
|
+
msgstr "Diese Images werden für Host verwendet. Sie finden sie auf der Host-Detailseite."
|
263
|
+
|
206
264
|
msgid "This image is generic for all hosts with a provisioning NIC on that subnet."
|
207
265
|
msgstr "Dieses Abbild ist für alle Hosts mit Provisioning-NIC auf diesem Subnetz generisch."
|
208
266
|
|
267
|
+
msgid "This type of bootdisk is not allowed. Please contact administrator."
|
268
|
+
msgstr "Dieser Typ von Bootdisk ist nicht zulässig. Bitte wenden Sie sich an den Administrator."
|
269
|
+
|
209
270
|
msgid "True for full, false for basic reusable image"
|
210
271
|
msgstr "\"True\" für vollständiges, \"false\" für einfaches wiederverwendbares Image"
|
211
272
|
|
212
273
|
msgid "Unable to find template specified by %s setting"
|
213
274
|
msgstr "Konnte Vorlage mit der %s-Einstellung nicht finden"
|
214
275
|
|
215
|
-
msgid "Unable to generate disk
|
216
|
-
msgstr ""
|
276
|
+
msgid "Unable to generate disk %{kind} template: %{error}"
|
277
|
+
msgstr "Datenträger %{kind}-Vorlage kann nicht generiert werden: %{error}"
|
217
278
|
|
218
|
-
msgid "Unable to generate disk template,
|
219
|
-
msgstr ""
|
279
|
+
msgid "Unable to generate disk template, %{kind} template not found."
|
280
|
+
msgstr "Datenträgervorlage kann nicht generiert werden, %{kind}-Vorlage nicht gefunden."
|
281
|
+
|
282
|
+
msgid "Unable to mcopy %{file}"
|
283
|
+
msgstr "%{file} kann nicht mcopy werden"
|
220
284
|
|
221
285
|
msgid "Upload ISO image to datastore for %s"
|
222
286
|
msgstr "ISO-Abbild zum Datenspeicher für %s hochladen"
|
Binary file
|