foreman_bootdisk 16.0.0 → 18.0.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 +9 -1
- 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 +13 -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 +18 -8
- 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 +76 -13
- data/locale/de/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/de/foreman_bootdisk.po +81 -18
- 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 +79 -16
- data/locale/es/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/es/foreman_bootdisk.po +92 -28
- data/locale/foreman_bootdisk.pot +164 -71
- data/locale/fr/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/fr/foreman_bootdisk.po +100 -36
- data/locale/it/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/it/foreman_bootdisk.po +78 -15
- data/locale/ja/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/ja/foreman_bootdisk.po +90 -26
- data/locale/ko/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/ko/foreman_bootdisk.po +79 -16
- data/locale/pt_BR/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/pt_BR/foreman_bootdisk.po +99 -36
- data/locale/ru/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/ru/foreman_bootdisk.po +79 -16
- 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 +131 -68
- data/locale/zh_TW/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/zh_TW/foreman_bootdisk.po +79 -16
- 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 +12 -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 -37
@@ -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,22 +38,31 @@ 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
|
48
49
|
|
49
|
-
role 'Boot disk access', [:download_bootdisk]
|
50
|
+
role 'Boot disk access', [:download_bootdisk], 'Role granting permissions to download bootdisks'
|
50
51
|
|
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
|
-
allowed_template_helpers :bootdisk_chain_url, :bootdisk_raise
|
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
|
|
@@ -65,10 +74,11 @@ module ForemanBootdisk
|
|
65
74
|
|
66
75
|
config.to_prepare do
|
67
76
|
begin
|
68
|
-
Host::Managed.
|
69
|
-
Host::Managed.
|
70
|
-
HostsHelper.
|
71
|
-
|
77
|
+
Host::Managed.prepend ForemanBootdisk::HostExt
|
78
|
+
Host::Managed.include ForemanBootdisk::Orchestration::Compute if SETTINGS[:unattended]
|
79
|
+
HostsHelper.prepend ForemanBootdisk::HostsHelperExt
|
80
|
+
SubnetsHelper.prepend ForemanBootdisk::SubnetsHelperExt
|
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})"
|
74
84
|
end
|
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
|
@@ -3,14 +3,14 @@
|
|
3
3
|
# This file is distributed under the same license as the foreman_bootdisk package.
|
4
4
|
#
|
5
5
|
# Translators:
|
6
|
-
# Robert Antoni Buj Gelonch <rbuj@fedoraproject.org>, 2017
|
7
|
-
# Robert Antoni Buj Gelonch <rbuj@fedoraproject.org>, 2015-2016
|
6
|
+
# Robert Antoni Buj i Gelonch <rbuj@fedoraproject.org>, 2017
|
7
|
+
# Robert Antoni Buj i 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-04-29 10:23+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
|