foreman_bootdisk 9.0.0 → 10.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGES.md +7 -0
- data/README.md +8 -1
- data/app/controllers/concerns/foreman_bootdisk/unattended_controller_ext.rb +2 -8
- data/app/controllers/foreman_bootdisk/api/v2/disks_controller.rb +9 -5
- data/app/controllers/foreman_bootdisk/api/v2/subnet_disks_controller.rb +2 -2
- data/app/controllers/foreman_bootdisk/disks_controller.rb +9 -5
- data/app/helpers/concerns/foreman_bootdisk/hosts_helper_ext.rb +2 -8
- data/app/models/concerns/foreman_bootdisk/compute_resources/vmware.rb +5 -11
- data/app/models/concerns/foreman_bootdisk/host_ext.rb +4 -11
- data/db/migrate/20171009225200_remove_duplicate_bootdisk_templates.rb +9 -0
- data/db/seeds.d/50-bootdisk_templates.rb +4 -4
- data/lib/foreman_bootdisk/engine.rb +7 -5
- data/lib/foreman_bootdisk/version.rb +1 -1
- data/locale/ca/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/ca/foreman_bootdisk.po +5 -2
- data/locale/de/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/de/foreman_bootdisk.po +20 -17
- data/locale/en/foreman_bootdisk.po +3 -0
- data/locale/en_GB/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/en_GB/foreman_bootdisk.po +17 -14
- data/locale/es/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/es/foreman_bootdisk.po +14 -11
- data/locale/foreman_bootdisk.pot +18 -12
- data/locale/fr/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/fr/foreman_bootdisk.po +17 -14
- data/locale/it/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/it/foreman_bootdisk.po +4 -1
- data/locale/ja/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/ja/foreman_bootdisk.po +32 -29
- data/locale/ko/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/ko/foreman_bootdisk.po +15 -12
- data/locale/pt_BR/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/pt_BR/foreman_bootdisk.po +23 -19
- data/locale/ru/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/ru/foreman_bootdisk.po +17 -13
- data/locale/sv_SE/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/sv_SE/foreman_bootdisk.po +4 -1
- data/locale/zh_CN/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/zh_CN/foreman_bootdisk.po +16 -13
- data/locale/zh_TW/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/zh_TW/foreman_bootdisk.po +15 -12
- data/test/functional/foreman_bootdisk/api/v2/disks_controller_test.rb +9 -4
- data/test/functional/foreman_bootdisk/disks_controller_test.rb +4 -4
- data/test/test_plugin_helper.rb +5 -4
- data/test/unit/concerns/compute_resources/vmware_test.rb +6 -4
- data/test/unit/concerns/host_test.rb +11 -11
- data/test/unit/concerns/orchestration/compute_test.rb +3 -3
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 22c86a63777cd84947eaaa64505cd6ab37910773
|
4
|
+
data.tar.gz: 6095c49c84e7c98a4addd7426e280ae33b6ed47a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 06ac35157d5df78c69f34e6cbeb79c89eb0c121341617adbbf504a569b1e9522cec3e540c0b49b3184a8225ede573286bd917e6626f1f00e91786acdbac45406
|
7
|
+
data.tar.gz: 4c90bda0e2f90075b3065e9eebb192bae0ea27f87bd95f830a5d21256d3267d481baac3a1e7060ef2bdbcd41f22f72690dc726660fec68476931c0652750f11b
|
data/CHANGES.md
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## v10.0.0
|
4
|
+
* retry vmware iso boot 10 times before giving up (#19013)
|
5
|
+
* fix duplicate template creation during database seeding (#19733)
|
6
|
+
* add plugin permissions to core permissions (#17963)
|
7
|
+
* Replace alias_method_chain with Module#prepend
|
8
|
+
* Replace controller 'filter' callbacks with 'action'
|
9
|
+
|
3
10
|
## v9.0.0
|
4
11
|
* add missing bootdisk helpers for template previews (#17893)
|
5
12
|
* disable boot disk button on non-Intel architectures (#17497)
|
data/README.md
CHANGED
@@ -44,6 +44,7 @@ gPXE images are unsupported due to lack of initrd support.
|
|
44
44
|
| >= 1.11 | >= 6.1, < 8.0 |
|
45
45
|
| >= 1.12 | ~> 8.0 |
|
46
46
|
| >= 1.13 | ~> 9.0 |
|
47
|
+
| >= 1.15 | ~> 10.0 |
|
47
48
|
|
48
49
|
# Usage
|
49
50
|
|
@@ -67,6 +68,10 @@ preconfigured and have a per-host image attached before first boot. This allows
|
|
67
68
|
a fully automated provisioning of hosts via ISO boot. This feature can be used by
|
68
69
|
selecting the Bootdisk Based provisioning method under the OS tab when creating
|
69
70
|
the host, or by setting provision_method: "bootdisk" using the API.
|
71
|
+
Foreman will create an ISO image as part of the orchestration. This image is then
|
72
|
+
uploaded to a VMWare datastore and attached to the VM.
|
73
|
+
The user you configured during compute resource setup needs the permissions
|
74
|
+
`Datastore > Browse Datastore` and `Datastore > Low level file operations`.
|
70
75
|
|
71
76
|
## Templates
|
72
77
|
|
@@ -121,7 +126,7 @@ TFTP settings are needed.
|
|
121
126
|
<tr>
|
122
127
|
<td>Full host image</td>
|
123
128
|
<td>No</td>
|
124
|
-
<td>
|
129
|
+
<td>No (*)</td>
|
125
130
|
<td>No</td>
|
126
131
|
<td>Yes</td>
|
127
132
|
<td>Yes</td>
|
@@ -144,6 +149,8 @@ TFTP settings are needed.
|
|
144
149
|
</tr>
|
145
150
|
</table>
|
146
151
|
|
152
|
+
(*) - Foreman 1.14 or older do require DHCP
|
153
|
+
|
147
154
|
### Per-host images
|
148
155
|
|
149
156
|
Using the host and subnet data in Foreman, per-host images can be created with
|
@@ -1,12 +1,6 @@
|
|
1
1
|
module ForemanBootdisk::UnattendedControllerExt
|
2
|
-
|
3
|
-
|
4
|
-
included do
|
5
|
-
alias_method_chain :find_host_by_ip_or_mac, :param_mac
|
6
|
-
end
|
7
|
-
|
8
|
-
def find_host_by_ip_or_mac_with_param_mac
|
2
|
+
def find_host_by_ip_or_mac
|
9
3
|
request.env['HTTP_X_RHN_PROVISIONING_MAC_0'] = "unknown #{params['mac']}" unless request.env.has_key?('HTTP_X_RHN_PROVISIONING_MAC_0') || params['mac'].nil?
|
10
|
-
|
4
|
+
super
|
11
5
|
end
|
12
6
|
end
|
@@ -10,8 +10,8 @@ module ForemanBootdisk
|
|
10
10
|
api_base_url "/bootdisk/api"
|
11
11
|
end
|
12
12
|
|
13
|
-
|
14
|
-
|
13
|
+
before_action :find_resource, :only => :host
|
14
|
+
skip_after_action :log_response_body
|
15
15
|
|
16
16
|
# no-op, but required for apipie documentation
|
17
17
|
api :GET, '', N_('Boot disks')
|
@@ -21,7 +21,7 @@ module ForemanBootdisk
|
|
21
21
|
def generic
|
22
22
|
tmpl = ForemanBootdisk::Renderer.new.generic_template_render
|
23
23
|
ForemanBootdisk::ISOGenerator.generate(:ipxe => tmpl) do |iso|
|
24
|
-
send_data
|
24
|
+
send_data read_file(iso), :filename => "bootdisk_#{URI.parse(Setting[:foreman_url]).host}.iso"
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
@@ -32,18 +32,22 @@ module ForemanBootdisk
|
|
32
32
|
host = @disk
|
33
33
|
if params[:full]
|
34
34
|
ForemanBootdisk::ISOGenerator.generate_full_host(host) do |iso|
|
35
|
-
send_data
|
35
|
+
send_data read_file(iso), :filename => "#{host.name}#{ForemanBootdisk::ISOGenerator.token_expiry(host)}.iso"
|
36
36
|
end
|
37
37
|
else
|
38
38
|
tmpl = host.bootdisk_template_render
|
39
39
|
ForemanBootdisk::ISOGenerator.generate(:ipxe => tmpl) do |iso|
|
40
|
-
send_data
|
40
|
+
send_data read_file(iso), :filename => "#{host.name}.iso"
|
41
41
|
end
|
42
42
|
end
|
43
43
|
end
|
44
44
|
|
45
45
|
private
|
46
46
|
|
47
|
+
def read_file(filename)
|
48
|
+
File.read(filename)
|
49
|
+
end
|
50
|
+
|
47
51
|
def resource_scope
|
48
52
|
Host::Managed.authorized('view_hosts')
|
49
53
|
end
|
@@ -8,9 +8,9 @@ module ForemanBootdisk::Api::V2
|
|
8
8
|
api_base_url "/bootdisk/api"
|
9
9
|
end
|
10
10
|
|
11
|
-
|
11
|
+
before_action :find_resource, :only => :subnet
|
12
12
|
|
13
|
-
|
13
|
+
skip_after_action :log_response_body
|
14
14
|
|
15
15
|
# no-op, but required for apipie documentation
|
16
16
|
api :GET, '', N_('Subnet boot disks')
|
@@ -2,7 +2,7 @@ require 'uri'
|
|
2
2
|
|
3
3
|
module ForemanBootdisk
|
4
4
|
class DisksController < ::ApplicationController
|
5
|
-
|
5
|
+
before_action :find_resource, :only => %w[host full_host subnet]
|
6
6
|
|
7
7
|
def generic
|
8
8
|
begin
|
@@ -14,7 +14,7 @@ module ForemanBootdisk
|
|
14
14
|
end
|
15
15
|
|
16
16
|
ForemanBootdisk::ISOGenerator.generate(:ipxe => tmpl) do |iso|
|
17
|
-
send_data
|
17
|
+
send_data read_file(iso), :filename => "bootdisk_#{URI.parse(Setting[:foreman_url]).host}.iso"
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
@@ -29,14 +29,14 @@ module ForemanBootdisk
|
|
29
29
|
end
|
30
30
|
|
31
31
|
ForemanBootdisk::ISOGenerator.generate(:ipxe => tmpl) do |iso|
|
32
|
-
send_data
|
32
|
+
send_data read_file(iso), :filename => "#{host.name}.iso"
|
33
33
|
end
|
34
34
|
end
|
35
35
|
|
36
36
|
def full_host
|
37
37
|
host = @disk
|
38
38
|
ForemanBootdisk::ISOGenerator.generate_full_host(host) do |iso|
|
39
|
-
send_data
|
39
|
+
send_data read_file(iso), :filename => "#{host.name}#{ForemanBootdisk::ISOGenerator.token_expiry(host)}.iso"
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|
@@ -53,7 +53,7 @@ module ForemanBootdisk
|
|
53
53
|
end
|
54
54
|
|
55
55
|
ForemanBootdisk::ISOGenerator.generate(:ipxe => tmpl) do |iso|
|
56
|
-
send_data
|
56
|
+
send_data read_file(iso), :filename => "bootdisk_subnet_#{subnet.name}.iso"
|
57
57
|
end
|
58
58
|
end
|
59
59
|
|
@@ -62,6 +62,10 @@ module ForemanBootdisk
|
|
62
62
|
|
63
63
|
private
|
64
64
|
|
65
|
+
def read_file(filename)
|
66
|
+
File.read(filename)
|
67
|
+
end
|
68
|
+
|
65
69
|
def resource_scope(controller = controller_name)
|
66
70
|
Host::Managed.authorized(:view_hosts)
|
67
71
|
end
|
@@ -1,11 +1,5 @@
|
|
1
1
|
module ForemanBootdisk::HostsHelperExt
|
2
|
-
|
3
|
-
|
4
|
-
included do
|
5
|
-
alias_method_chain :host_title_actions, :bootdisk
|
6
|
-
end
|
7
|
-
|
8
|
-
def host_title_actions_with_bootdisk(*args)
|
2
|
+
def host_title_actions(*args)
|
9
3
|
if @host.bootdisk_downloadable?
|
10
4
|
title_actions(
|
11
5
|
button_group(
|
@@ -24,7 +18,7 @@ module ForemanBootdisk::HostsHelperExt
|
|
24
18
|
bootdisk_button_disabled
|
25
19
|
end
|
26
20
|
|
27
|
-
|
21
|
+
super
|
28
22
|
end
|
29
23
|
|
30
24
|
def bootdisk_button_disabled
|
@@ -1,22 +1,16 @@
|
|
1
1
|
module ForemanBootdisk
|
2
2
|
module ComputeResources
|
3
3
|
module Vmware
|
4
|
-
|
5
|
-
|
6
|
-
included do
|
7
|
-
alias_method_chain :capabilities, :bootdisk
|
8
|
-
alias_method_chain :parse_args, :bootdisk
|
9
|
-
end
|
10
|
-
|
11
|
-
def capabilities_with_bootdisk
|
12
|
-
capabilities_without_bootdisk + [:bootdisk]
|
4
|
+
def capabilities
|
5
|
+
super + [:bootdisk]
|
13
6
|
end
|
14
7
|
|
15
|
-
def
|
16
|
-
args =
|
8
|
+
def parse_args(args = {})
|
9
|
+
args = super
|
17
10
|
if args[:provision_method] == 'bootdisk'
|
18
11
|
args[:cdroms] = [new_cdrom]
|
19
12
|
args[:boot_order] = ['cdrom', 'disk']
|
13
|
+
args[:boot_retry] = 10
|
20
14
|
end
|
21
15
|
args
|
22
16
|
end
|
@@ -1,13 +1,6 @@
|
|
1
1
|
require 'uri'
|
2
2
|
|
3
3
|
module ForemanBootdisk::HostExt
|
4
|
-
extend ActiveSupport::Concern
|
5
|
-
|
6
|
-
included do
|
7
|
-
alias_method_chain :validate_media?, :bootdisk
|
8
|
-
alias_method_chain :can_be_built?, :bootdisk
|
9
|
-
end
|
10
|
-
|
11
4
|
def bootdisk_template
|
12
5
|
ProvisioningTemplate.find_by_name(Setting[:bootdisk_host_template]) || raise(::Foreman::Exception.new(N_('Unable to find template specified by %s setting'), 'bootdisk_host_template'))
|
13
6
|
end
|
@@ -41,11 +34,11 @@ module ForemanBootdisk::HostExt
|
|
41
34
|
/i.86|x86[_-]64/ =~ architecture.name
|
42
35
|
end
|
43
36
|
|
44
|
-
def
|
45
|
-
|
37
|
+
def validate_media?
|
38
|
+
super || (managed && bootdisk_build? && build?)
|
46
39
|
end
|
47
40
|
|
48
|
-
def
|
49
|
-
|
41
|
+
def can_be_built?
|
42
|
+
super || (managed? and SETTINGS[:unattended] and bootdisk_build? and !build?)
|
50
43
|
end
|
51
44
|
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
class RemoveDuplicateBootdiskTemplates < ActiveRecord::Migration
|
2
|
+
def up
|
3
|
+
template_names = ['Boot disk iPXE - host', 'Boot disk iPXE - generic host']
|
4
|
+
template_names.each do |template_name|
|
5
|
+
duplicate_template_ids = ProvisioningTemplate.unscoped.where(:name => template_name, :locked => true).order(:created_at => :asc).pluck(:id).drop(1)
|
6
|
+
ProvisioningTemplate.unscoped.where(:id => duplicate_template_ids).destroy_all if duplicate_template_ids.any?
|
7
|
+
end
|
8
|
+
end
|
9
|
+
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
kind = TemplateKind.where(:name => 'Bootdisk').first_or_create
|
1
|
+
kind = TemplateKind.unscoped.where(:name => 'Bootdisk').first_or_create
|
2
2
|
|
3
3
|
organizations = Organization.all
|
4
4
|
locations = Location.all
|
@@ -7,7 +7,7 @@ created = []
|
|
7
7
|
ProvisioningTemplate.without_auditing do
|
8
8
|
content = File.read(File.join(ForemanBootdisk::Engine.root, 'app', 'views', 'foreman_bootdisk', 'host.erb'))
|
9
9
|
created << 'Boot disk iPXE - host' unless ProvisioningTemplate.find_by_name('Boot disk iPXE - host')
|
10
|
-
tmpl = ProvisioningTemplate.where(:name => 'Boot disk iPXE - host').first_or_create do |template|
|
10
|
+
tmpl = ProvisioningTemplate.unscoped.where(:name => 'Boot disk iPXE - host').first_or_create do |template|
|
11
11
|
template.attributes = {
|
12
12
|
:template_kind_id => kind.id,
|
13
13
|
:snippet => false,
|
@@ -24,7 +24,7 @@ ProvisioningTemplate.without_auditing do
|
|
24
24
|
|
25
25
|
content = File.read(File.join(ForemanBootdisk::Engine.root, 'app', 'views', 'foreman_bootdisk', 'generic_host.erb'))
|
26
26
|
created << 'Boot disk iPXE - generic host' unless ProvisioningTemplate.find_by_name('Boot disk iPXE - generic host')
|
27
|
-
tmpl = ProvisioningTemplate.where(:name => 'Boot disk iPXE - generic host').first_or_create do |template|
|
27
|
+
tmpl = ProvisioningTemplate.unscoped.where(:name => 'Boot disk iPXE - generic host').first_or_create do |template|
|
28
28
|
template.attributes = {
|
29
29
|
:template_kind_id => kind.id,
|
30
30
|
:snippet => false,
|
@@ -39,7 +39,7 @@ ProvisioningTemplate.without_auditing do
|
|
39
39
|
tmpl.locked = true
|
40
40
|
tmpl.save!(:validate => false) if tmpl.changes.present?
|
41
41
|
|
42
|
-
ProvisioningTemplate.where(:name => created, :default => true).each do |tmpl|
|
42
|
+
ProvisioningTemplate.unscoped.where(:name => created, :default => true).each do |tmpl|
|
43
43
|
tmpl.organizations = organizations if SETTINGS[:organizations_enabled]
|
44
44
|
tmpl.locations = locations if SETTINGS[:locations_enabled]
|
45
45
|
end
|
@@ -48,7 +48,7 @@ module ForemanBootdisk
|
|
48
48
|
|
49
49
|
initializer 'foreman_bootdisk.register_plugin', :before => :finisher_hook do |app|
|
50
50
|
Foreman::Plugin.register :foreman_bootdisk do
|
51
|
-
requires_foreman '>= 1.
|
51
|
+
requires_foreman '>= 1.15'
|
52
52
|
|
53
53
|
security_block :bootdisk do |map|
|
54
54
|
permission :download_bootdisk, {:'foreman_bootdisk/disks' => [:generic, :host, :full_host, :subnet, :help],
|
@@ -58,6 +58,8 @@ module ForemanBootdisk
|
|
58
58
|
|
59
59
|
role "Boot disk access", [:download_bootdisk]
|
60
60
|
|
61
|
+
add_all_permissions_to_default_roles
|
62
|
+
|
61
63
|
allowed_template_helpers :bootdisk_chain_url, :bootdisk_raise
|
62
64
|
apipie_documented_controllers ["#{ForemanBootdisk::Engine.root}/app/controllers/foreman_bootdisk/api/v2/*.rb"]
|
63
65
|
provision_method 'bootdisk', N_('Boot disk based')
|
@@ -74,11 +76,11 @@ module ForemanBootdisk
|
|
74
76
|
|
75
77
|
config.to_prepare do
|
76
78
|
begin
|
77
|
-
Host::Managed.send(:
|
79
|
+
Host::Managed.send(:prepend, ForemanBootdisk::HostExt)
|
78
80
|
Host::Managed.send(:include, ForemanBootdisk::Orchestration::Compute) if SETTINGS[:unattended]
|
79
|
-
HostsHelper.send(:
|
80
|
-
UnattendedController.send(:
|
81
|
-
Foreman::Model::Vmware.send(:
|
81
|
+
HostsHelper.send(:prepend, ForemanBootdisk::HostsHelperExt)
|
82
|
+
UnattendedController.send(:prepend, ForemanBootdisk::UnattendedControllerExt)
|
83
|
+
Foreman::Model::Vmware.send(:prepend, ForemanBootdisk::ComputeResources::Vmware) if Foreman::Model::Vmware.available?
|
82
84
|
rescue => e
|
83
85
|
puts "#{ForemanBootdisk::ENGINE_NAME}: skipping engine hook (#{e.to_s})"
|
84
86
|
end
|
Binary file
|
@@ -3,12 +3,12 @@
|
|
3
3
|
# This file is distributed under the same license as the foreman_bootdisk package.
|
4
4
|
#
|
5
5
|
# Translators:
|
6
|
-
# Robert Antoni Buj
|
6
|
+
# Robert Antoni Buj Gelonch <rbuj@fedoraproject.org>, 2015-2016
|
7
7
|
msgid ""
|
8
8
|
msgstr ""
|
9
9
|
"Project-Id-Version: Foreman\n"
|
10
10
|
"Report-Msgid-Bugs-To: \n"
|
11
|
-
"PO-Revision-Date:
|
11
|
+
"PO-Revision-Date: 2017-09-20 00:09+0000\n"
|
12
12
|
"Last-Translator: Lukáš Zapletal\n"
|
13
13
|
"Language-Team: Catalan (http://www.transifex.com/foreman/foreman/language/ca/)"
|
14
14
|
"\n"
|
@@ -36,6 +36,9 @@ msgstr "Disc d'arrencada"
|
|
36
36
|
msgid "Boot disk based"
|
37
37
|
msgstr ""
|
38
38
|
|
39
|
+
msgid "Boot disk download not available for %s architecture"
|
40
|
+
msgstr ""
|
41
|
+
|
39
42
|
msgid "Boot disk embedded template"
|
40
43
|
msgstr ""
|
41
44
|
|
Binary file
|
@@ -11,8 +11,8 @@ msgid ""
|
|
11
11
|
msgstr ""
|
12
12
|
"Project-Id-Version: Foreman\n"
|
13
13
|
"Report-Msgid-Bugs-To: \n"
|
14
|
-
"PO-Revision-Date:
|
15
|
-
"Last-Translator:
|
14
|
+
"PO-Revision-Date: 2017-09-20 00:09+0000\n"
|
15
|
+
"Last-Translator: Bryan Kearney <bryan.kearney@gmail.com>\n"
|
16
16
|
"Language-Team: German (http://www.transifex.com/foreman/foreman/language/de/)\n"
|
17
17
|
"MIME-Version: 1.0\n"
|
18
18
|
"Content-Type: text/plain; charset=UTF-8\n"
|
@@ -21,13 +21,13 @@ msgstr ""
|
|
21
21
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
22
22
|
|
23
23
|
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."
|
24
|
-
msgstr ""
|
24
|
+
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."
|
25
25
|
|
26
26
|
msgid "All images are usable as either ISOs or as disk images, including being written to a USB disk with `dd`."
|
27
27
|
msgstr "Alle Abbilder können entweder als ISOs oder als Festplattenabbilder verwendet werden und auch mit `dd` auf eine USB-Festplatte geschrieben."
|
28
28
|
|
29
29
|
msgid "Attach ISO image to CDROM drive for %s"
|
30
|
-
msgstr ""
|
30
|
+
msgstr "ISO-Abbild dem CDROM-Laufwerk für %s anhängen"
|
31
31
|
|
32
32
|
msgid "Back"
|
33
33
|
msgstr "Zurück"
|
@@ -36,6 +36,9 @@ msgid "Boot disk"
|
|
36
36
|
msgstr "Startmedium"
|
37
37
|
|
38
38
|
msgid "Boot disk based"
|
39
|
+
msgstr "Startmedium-basiert"
|
40
|
+
|
41
|
+
msgid "Boot disk download not available for %s architecture"
|
39
42
|
msgstr ""
|
40
43
|
|
41
44
|
msgid "Boot disk embedded template"
|
@@ -54,7 +57,7 @@ msgid "Download host image"
|
|
54
57
|
msgstr "Host-Abbild herunterladen"
|
55
58
|
|
56
59
|
msgid "Download subnet generic image"
|
57
|
-
msgstr ""
|
60
|
+
msgstr "Generisches Abbild von Subnetz herunterladen"
|
58
61
|
|
59
62
|
msgid "Failed to attach ISO image to CDROM drive of instance %{name}: %{message}"
|
60
63
|
msgstr ""
|
@@ -63,7 +66,7 @@ msgid "Failed to generate ISO image for instance %{name}: %{message}"
|
|
63
66
|
msgstr ""
|
64
67
|
|
65
68
|
msgid "Failed to render boot disk template"
|
66
|
-
msgstr ""
|
69
|
+
msgstr "Fehler beim Rendern der Vorlage für Startmedium"
|
67
70
|
|
68
71
|
msgid "Failed to upload ISO image for instance %{name}: %{message}"
|
69
72
|
msgstr ""
|
@@ -75,13 +78,13 @@ msgid "Full host image"
|
|
75
78
|
msgstr "Vollständiges Host-Abbild"
|
76
79
|
|
77
80
|
msgid "Generating ISO image for %s"
|
78
|
-
msgstr ""
|
81
|
+
msgstr "ISO-Abbild für %s wird erzeugt"
|
79
82
|
|
80
83
|
msgid "Generic image"
|
81
84
|
msgstr "Generisches Abbild"
|
82
85
|
|
83
86
|
msgid "Generic image template"
|
84
|
-
msgstr ""
|
87
|
+
msgstr "Generische Abbildvorlage"
|
85
88
|
|
86
89
|
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."
|
87
90
|
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."
|
@@ -108,7 +111,7 @@ msgid "Host image"
|
|
108
111
|
msgstr "Host-Abbild"
|
109
112
|
|
110
113
|
msgid "Host image template"
|
111
|
-
msgstr ""
|
114
|
+
msgstr "Host-Abbildvorlage"
|
112
115
|
|
113
116
|
msgid "Host is not in build mode, so the template cannot be rendered"
|
114
117
|
msgstr "Host ist nicht im Buildmodus. Daher kann die Vorlage nicht erstellt werden."
|
@@ -117,13 +120,13 @@ msgid "ISO build failed"
|
|
117
120
|
msgstr "ISO-Erstellung fehlgeschlagen"
|
118
121
|
|
119
122
|
msgid "ISO generation command"
|
120
|
-
msgstr ""
|
123
|
+
msgstr "ISO-Erzeugungsbefehl"
|
121
124
|
|
122
125
|
msgid "ISO hybrid conversion failed"
|
123
126
|
msgstr "ISO hybrid Konvertierung fehlgeschlagen"
|
124
127
|
|
125
128
|
msgid "ISOLINUX directory"
|
126
|
-
msgstr ""
|
129
|
+
msgstr "ISOLINUX-Verzeichnis"
|
127
130
|
|
128
131
|
msgid "Installation media caching"
|
129
132
|
msgstr ""
|
@@ -156,7 +159,7 @@ msgid "Plugin for Foreman that creates iPXE-based boot disks to provision hosts
|
|
156
159
|
msgstr "Plugin für Foreman, welches iPXE-basierte Startmedien erstellt, um Hosts ohne die Notwendigkeit einer PXE-Infrastruktur bereitzustellen."
|
157
160
|
|
158
161
|
msgid "SYSLINUX directory"
|
159
|
-
msgstr ""
|
162
|
+
msgstr "SYSLINUX-Verzeichnis"
|
160
163
|
|
161
164
|
msgid "Subnet '%s' generic image"
|
162
165
|
msgstr "Subnetz '%s' generisches Abbild"
|
@@ -174,10 +177,10 @@ msgid "Subnet image"
|
|
174
177
|
msgstr "Subnetzabbild"
|
175
178
|
|
176
179
|
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."
|
177
|
-
msgstr ""
|
180
|
+
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."
|
178
181
|
|
179
182
|
msgid "Subnet is not assigned to the host %s"
|
180
|
-
msgstr ""
|
183
|
+
msgstr "Subnetz ist dem Host %s nicht zugewiesen"
|
181
184
|
|
182
185
|
msgid "TFTP feature not enabled for subnet %s"
|
183
186
|
msgstr "TFTP-Funktion für Subnetz %s nicht aktiviert"
|
@@ -186,7 +189,7 @@ msgid "The OS install continues using the installation media configured in Forem
|
|
186
189
|
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."
|
187
190
|
|
188
191
|
msgid "This image is generic for all hosts with a provisioning NIC on that subnet."
|
189
|
-
msgstr ""
|
192
|
+
msgstr "Dieses Abbild ist für alle Hosts mit Provisioning-NIC auf diesem Subnetz generisch."
|
190
193
|
|
191
194
|
msgid "True for full, false for basic reusable image"
|
192
195
|
msgstr "\"True\" für vollständiges, \"false\" für einfaches wiederverwendbares Image"
|
@@ -198,13 +201,13 @@ msgid "Unable to generate disk template: %s"
|
|
198
201
|
msgstr "Startmedium-Vorlage konnte nicht erzeugt werden: %s"
|
199
202
|
|
200
203
|
msgid "Upload ISO image to datastore for %s"
|
201
|
-
msgstr ""
|
204
|
+
msgstr "ISO-Abbild zum Datenspeicher für %s hochladen"
|
202
205
|
|
203
206
|
msgid "Various types of boot disks can be created to provision hosts without the need for PXE services. Boot disks can be attached to the host (physical or virtual) which boots from the disk, contacts Foreman and begins the OS installation."
|
204
207
|
msgstr "Verschiedene Arten von Startmedien können erstellt werden, um Hosts ohne die Notwendigkeit von PXE-Diensten bereitzustellen. Startmedien können mit dem Host (physisch oder virtuell) verbunden werden, der von der Festplatte bootet, Foreman kontaktiert und die OS-Installation beginnt."
|
205
208
|
|
206
209
|
msgid "iPXE directory"
|
207
|
-
msgstr ""
|
210
|
+
msgstr "iPXE-Verzeichnis"
|
208
211
|
|
209
212
|
msgid "iPXE template to use for generic host boot disks"
|
210
213
|
msgstr "iPXE Vorlage zur Verwendung für generische Host-Startmedien"
|