foreman_bootdisk 15.1.0 → 16.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHORS +3 -1
  3. data/README.md +16 -0
  4. data/app/helpers/concerns/foreman_bootdisk/hosts_helper_ext.rb +14 -14
  5. data/app/models/setting/bootdisk.rb +12 -19
  6. data/app/services/foreman_bootdisk/iso_generator.rb +8 -8
  7. data/app/views/foreman_bootdisk/generic_static_host.erb +34 -0
  8. data/db/seeds.d/50-bootdisk_templates.rb +14 -31
  9. data/lib/foreman_bootdisk/engine.rb +2 -2
  10. data/lib/foreman_bootdisk/version.rb +1 -1
  11. data/locale/ca/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  12. data/locale/ca/foreman_bootdisk.po +22 -4
  13. data/locale/de/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  14. data/locale/de/foreman_bootdisk.po +22 -4
  15. data/locale/en/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  16. data/locale/en/foreman_bootdisk.po +13 -4
  17. data/locale/en_GB/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  18. data/locale/en_GB/foreman_bootdisk.po +24 -6
  19. data/locale/es/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  20. data/locale/es/foreman_bootdisk.po +22 -4
  21. data/locale/foreman_bootdisk.pot +18 -6
  22. data/locale/fr/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  23. data/locale/fr/foreman_bootdisk.po +23 -5
  24. data/locale/it/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  25. data/locale/it/foreman_bootdisk.po +22 -4
  26. data/locale/ja/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  27. data/locale/ja/foreman_bootdisk.po +23 -5
  28. data/locale/ko/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  29. data/locale/ko/foreman_bootdisk.po +22 -4
  30. data/locale/pt_BR/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  31. data/locale/pt_BR/foreman_bootdisk.po +22 -4
  32. data/locale/ru/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  33. data/locale/ru/foreman_bootdisk.po +22 -4
  34. data/locale/sv_SE/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  35. data/locale/sv_SE/foreman_bootdisk.po +22 -4
  36. data/locale/zh_CN/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  37. data/locale/zh_CN/foreman_bootdisk.po +22 -4
  38. data/locale/zh_TW/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  39. data/locale/zh_TW/foreman_bootdisk.po +22 -4
  40. data/release-gem +2 -0
  41. metadata +33 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 503b42016922a0ebae27cf03e23dfa8f5b28ce63233cafccacde615c03def07d
4
- data.tar.gz: 8c41666a3da10f0dbe4e48faa648953b5af89fad3f349a4c31b1320a4ed1e13b
3
+ metadata.gz: 3a69fd6de3a18c8670dfe431cf989b8c02f94b9aa48da2c17aa93e504d98f869
4
+ data.tar.gz: 7354aff9025bfdd9f1acd3e312b2350268866b108a534dc3143b99ff731de1b9
5
5
  SHA512:
6
- metadata.gz: a76d03e9e3495adf3dbd4e9bb47d52aed9adc5b14211c5ff5bc386a7c091e8ecdc30c16e911205ceaee0b62e1e48934e09ef111bf113bbf80db57963432cc14d
7
- data.tar.gz: 1d333f7d357938013998632b3460a0d50b25ff0dc082bcc87b3e46f7f424f35a5bed7da446ee3cf311b8bd0c9573b4df48462427c5e1057d2db62d56989e431b
6
+ metadata.gz: 1fe67673899bbaf6b8588103341bf6f8436aecc7d761e574f9c835940d530eb199bbc29c44a61234710abd7ec00a76e2e89dc7ecbcb17211a0c7ff5df27d8c16
7
+ data.tar.gz: 70838f0a73b4c1541bc728de2f0399aa3946da0714e31b05d1dee08a7254aa6be8c1cd0a3b769dcfa566b21963fd9fb0591792e23758c6ceeb4885a1a2a3ff20
data/AUTHORS CHANGED
@@ -1,5 +1,4 @@
1
1
  Bryan Kearney
2
- crito
3
2
  Dominic Cleal
4
3
  Greg Sutcliffe
5
4
  Ido Kanner
@@ -14,11 +13,14 @@ Michael Hofer
14
13
  Michael Moll
15
14
  Ohad Levy
16
15
  Ondrej Prazak
16
+ Ondřej Ezr
17
17
  Ondřej Pražák
18
18
  Robert Antoni Buj Gelonch
19
+ Rohan21Lobo
19
20
  Ronald van Zantvoort
20
21
  Sam Kottler
21
22
  Sean O'Keeffe
22
23
  Stephen Benjamin
23
24
  Swapnil Abnave
24
25
  Timo Goebel
26
+ crito
data/README.md CHANGED
@@ -236,6 +236,22 @@ To generate from the command line on the Foreman server:
236
236
  Set `OUTPUT=/path` to change the output destination path (directory or file).
237
237
  It must be writable by the 'foreman' user.
238
238
 
239
+ ### Generic static image
240
+
241
+ This is generic image type which asks for network credentials instead of doing
242
+ DHCP request. Tokens must be turned off in order to find the host by MAC
243
+ address. To do that, set Token duration to 0 in Administer - Settings.
244
+
245
+ - Network interface name
246
+ - IP Address
247
+ - Netmask
248
+ - Gateway
249
+ - DNS
250
+
251
+ To use generic static host image, set "Generic image template" to "Bootdisk
252
+ iPXE - host template" in Administer - Settings - Boot disk. Only one template
253
+ can be used at one time across all hosts.
254
+
239
255
  ### Subnet images
240
256
 
241
257
  Subnet images are similar to generic images, but chain-loading is done via the
@@ -2,27 +2,27 @@
2
2
 
3
3
  module ForemanBootdisk
4
4
  module HostsHelperExt
5
- def host_title_actions(*args)
6
- if @host.bootdisk_downloadable?
5
+ def host_title_actions(host)
6
+ if host.bootdisk_downloadable?
7
7
  title_actions(
8
8
  button_group(
9
9
  select_action_button(
10
10
  _('Boot disk'), { class: 'btn btn-group' },
11
11
  display_bootdisk_link_if_authorized(
12
- _("Host '%s' image") % @host.name.split('.')[0],
12
+ _("Host '%s' image") % host.name.split('.')[0],
13
13
  {
14
14
  controller: 'foreman_bootdisk/disks',
15
15
  action: 'host',
16
- id: @host
16
+ id: host
17
17
  },
18
18
  class: 'la'
19
19
  ),
20
20
  display_bootdisk_link_if_authorized(
21
- _("Full host '%s' image") % @host.name.split('.')[0],
21
+ _("Full host '%s' image") % host.name.split('.')[0],
22
22
  {
23
23
  controller: 'foreman_bootdisk/disks',
24
24
  action: 'full_host',
25
- id: @host
25
+ id: host
26
26
  },
27
27
  class: 'la'
28
28
  ),
@@ -35,7 +35,7 @@ module ForemanBootdisk
35
35
  },
36
36
  class: 'la'
37
37
  ),
38
- display_bootdisk_for_subnet,
38
+ display_bootdisk_for_subnet(host),
39
39
  content_tag(:li, '', class: 'divider'),
40
40
  display_bootdisk_link_if_authorized(
41
41
  _('Help'), {
@@ -48,29 +48,29 @@ module ForemanBootdisk
48
48
  )
49
49
  )
50
50
  else
51
- bootdisk_button_disabled
51
+ bootdisk_button_disabled(host)
52
52
  end
53
53
 
54
54
  super
55
55
  end
56
56
 
57
- def bootdisk_button_disabled
57
+ def bootdisk_button_disabled(host)
58
58
  title_actions(
59
59
  button_group(
60
60
  link_to(_('Boot disk'), '#', disabled: true, class: 'btn btn-default',
61
- title: _('Boot disk download not available for %s architecture') % @host.architecture.name)
61
+ title: _('Boot disk download not available for %s architecture') % host.architecture.name)
62
62
  )
63
63
  )
64
64
  end
65
65
 
66
66
  # need to wrap this one in a test for template proxy presence
67
- def display_bootdisk_for_subnet
68
- if (proxy = @host.try(:subnet).try(:tftp)) && proxy.has_feature?('Templates')
67
+ def display_bootdisk_for_subnet(host)
68
+ if (proxy = host.try(:subnet).try(:tftp)) && proxy.has_feature?('Templates')
69
69
  display_bootdisk_link_if_authorized(
70
- _("Subnet '%s' generic image") % @host.subnet.name, {
70
+ _("Subnet '%s' generic image") % host.subnet.name, {
71
71
  controller: 'foreman_bootdisk/disks',
72
72
  action: 'subnet',
73
- id: @host
73
+ id: host
74
74
  },
75
75
  class: 'la'
76
76
  )
@@ -2,30 +2,23 @@
2
2
 
3
3
  class Setting
4
4
  class Bootdisk < ::Setting
5
- def self.load_defaults
6
- return unless ApplicationRecord.connection.table_exists?('settings')
7
- return unless super
8
-
5
+ def self.default_settings
9
6
  ipxe = ['/usr/lib/ipxe'].find { |p| File.exist?(p) } || '/usr/share/ipxe'
10
7
  isolinux = ['/usr/lib/ISOLINUX'].find { |p| File.exist?(p) } || '/usr/share/syslinux'
11
8
  syslinux = ['/usr/lib/syslinux/modules/bios', '/usr/lib/syslinux'].find { |p| File.exist?(p) } || '/usr/share/syslinux'
12
9
  templates = -> { Hash[ProvisioningTemplate.where(template_kind: TemplateKind.where(name: 'Bootdisk')).map { |temp| [temp[:name], temp[:name]] }] }
13
10
 
14
- Setting.transaction do
15
- [
16
- set('bootdisk_ipxe_dir', N_('Path to directory containing iPXE images'), ipxe, N_('iPXE directory')),
17
- set('bootdisk_isolinux_dir', N_('Path to directory containing isolinux images'), isolinux, N_('ISOLINUX directory')),
18
- set('bootdisk_syslinux_dir', N_('Path to directory containing syslinux images'), syslinux, N_('SYSLINUX directory')),
19
- set('bootdisk_host_template', N_('iPXE template to use for host-specific boot disks'),
20
- 'Boot disk iPXE - host', N_('Host image template'), nil, collection: templates),
21
- set('bootdisk_generic_host_template', N_('iPXE template to use for generic host boot disks'),
22
- 'Boot disk iPXE - generic host', N_('Generic image template'), nil, collection: templates),
23
- set('bootdisk_mkiso_command', N_('Command to generate ISO image, use genisoimage or mkisofs'), 'genisoimage', N_('ISO generation command')),
24
- set('bootdisk_cache_media', N_('Installation media files will be cached for full host images'), true, N_('Installation media caching'))
25
- ].compact.each { |s| create s.update(category: 'Setting::Bootdisk') }
26
- end
27
-
28
- true
11
+ [
12
+ set('bootdisk_ipxe_dir', N_('Path to directory containing iPXE images'), ipxe, N_('iPXE directory')),
13
+ set('bootdisk_isolinux_dir', N_('Path to directory containing isolinux images'), isolinux, N_('ISOLINUX directory')),
14
+ set('bootdisk_syslinux_dir', N_('Path to directory containing syslinux images'), syslinux, N_('SYSLINUX directory')),
15
+ set('bootdisk_host_template', N_('iPXE template to use for host-specific boot disks'),
16
+ 'Boot disk iPXE - host', N_('Host image template'), nil, collection: templates),
17
+ set('bootdisk_generic_host_template', N_('iPXE template to use for generic host boot disks'),
18
+ 'Boot disk iPXE - generic host', N_('Generic image template'), nil, collection: templates),
19
+ set('bootdisk_mkiso_command', N_('Command to generate ISO image, use genisoimage or mkisofs'), 'genisoimage', N_('ISO generation command')),
20
+ set('bootdisk_cache_media', N_('Installation media files will be cached for full host images'), true, N_('Installation media caching'))
21
+ ]
29
22
  end
30
23
 
31
24
  def self.humanized_category
@@ -11,7 +11,7 @@ require 'uri'
11
11
  module ForemanBootdisk
12
12
  class ISOGenerator
13
13
  def self.generate_full_host(host, opts = {}, &block)
14
- raise Foreman::Exception, N_('Host is not in build mode, so the template cannot be rendered') unless host.build?
14
+ raise(Foreman::Exception, N_('Host is not in build mode, so the template cannot be rendered')) unless host.build?
15
15
 
16
16
  tmpl = render_pxelinux_template(host)
17
17
 
@@ -30,7 +30,7 @@ module ForemanBootdisk
30
30
  def self.render_pxelinux_template(host)
31
31
  pxelinux_template = host.provisioning_template(kind: :PXELinux)
32
32
 
33
- raise Foreman::Exception, N_('Unable to generate disk template, PXELinux template not found.') unless pxelinux_template
33
+ raise(Foreman::Exception, N_('Unable to generate disk template, PXELinux template not found.')) unless pxelinux_template
34
34
 
35
35
  template = ForemanBootdisk::Renderer.new.render_template(
36
36
  template: pxelinux_template,
@@ -40,7 +40,7 @@ module ForemanBootdisk
40
40
 
41
41
  unless template
42
42
  err = host.errors.full_messages.to_sentence
43
- raise ::Foreman::Exception.new(N_('Unable to generate disk PXELinux template: %s'), err)
43
+ raise(::Foreman::Exception.new(N_('Unable to generate disk PXELinux template: %s'), err))
44
44
  end
45
45
 
46
46
  template
@@ -59,7 +59,7 @@ module ForemanBootdisk
59
59
 
60
60
  if opts[:isolinux]
61
61
  isolinux_source_file = File.join(Setting[:bootdisk_isolinux_dir], 'isolinux.bin')
62
- raise Foreman::Exception, N_('Please ensure the isolinux/syslinux package(s) are installed.') unless File.exist?(isolinux_source_file)
62
+ raise(Foreman::Exception, N_('Please ensure the isolinux/syslinux package(s) are installed.')) unless File.exist?(isolinux_source_file)
63
63
 
64
64
  FileUtils.cp(isolinux_source_file, File.join(wd, 'build', 'isolinux.bin'))
65
65
 
@@ -76,7 +76,7 @@ module ForemanBootdisk
76
76
 
77
77
  if opts[:ipxe]
78
78
  ipxe_source_file = File.join(Setting[:bootdisk_ipxe_dir], 'ipxe.lkrn')
79
- raise Foreman::Exception, N_('Please ensure the ipxe-bootimgs package is installed.') unless File.exist?(ipxe_source_file)
79
+ raise(Foreman::Exception, N_('Please ensure the ipxe-bootimgs package is installed.')) unless File.exist?(ipxe_source_file)
80
80
 
81
81
  FileUtils.cp(ipxe_source_file, File.join(wd, 'build', 'ipxe'))
82
82
  File.open(File.join(wd, 'build', 'script'), 'w') { |file| file.write(opts[:ipxe]) }
@@ -95,10 +95,10 @@ module ForemanBootdisk
95
95
  else
96
96
  File.join(wd, 'output.iso')
97
97
  end
98
- raise Foreman::Exception, N_('ISO build failed') unless system(build_mkiso_command(output_file: iso, source_directory: File.join(wd, 'build')))
98
+ raise(Foreman::Exception, N_('ISO build failed')) unless system(build_mkiso_command(output_file: iso, source_directory: File.join(wd, 'build')))
99
99
 
100
100
  # Make the ISO bootable as a HDD/USB disk too
101
- raise Foreman::Exception, N_('ISO hybrid conversion failed') unless system('isohybrid', iso)
101
+ raise(Foreman::Exception, N_('ISO hybrid conversion failed')) unless system('isohybrid', iso)
102
102
 
103
103
  yield iso
104
104
  end
@@ -156,7 +156,7 @@ module ForemanBootdisk
156
156
  # prevent multiple writes to the cache
157
157
  write_cache = false
158
158
  else
159
- raise(::Foreman::Exception.new N_("Unable to download boot file %{uri}, HTTP return code %{code}" % { uri: uri, code: response.code }))
159
+ raise ::Foreman::Exception, N_(format("Unable to download boot file %{uri}, HTTP return code %{code}", uri: uri, code: response.code))
160
160
  end
161
161
  end
162
162
  end
@@ -0,0 +1,34 @@
1
+ #!ipxe
2
+ #
3
+ # Generic host template with interactive static IP configuration. Tokens
4
+ # must be disabled in order to access templates via MAC addresses.
5
+ #
6
+
7
+ <% (0..32).each do |i| -%>
8
+ :net<%= i %>
9
+ isset ${net<%= i -%>/mac} || goto configure
10
+ echo Found ${net<%= i -%>/mac} as net<%= i -%> on a ${net<%= i -%>/chip}
11
+ goto net<%= i+1 %>
12
+ <% end -%>
13
+
14
+ :configure
15
+ echo -n Interface (e.g. net0): && read interface
16
+ iseq ${interface} n && goto reboot ||
17
+ iseq ${interface} N && goto reboot ||
18
+
19
+ ifopen ${interface}
20
+ echo Please enter IPv4 details for ${interface}
21
+ echo
22
+
23
+ echo -n IP address: && read ${interface}/ip
24
+ echo -n Subnet mask: && read ${interface}/netmask
25
+ echo -n Default gateway: && read ${interface}/gateway
26
+ echo -n DNS server: && read dns
27
+
28
+ chain <%= bootdisk_chain_url %>${${interface}/mac} || goto reboot
29
+ exit 0
30
+
31
+ :reboot
32
+ echo Unable to continue, rebooting...
33
+ sleep 30
34
+ exit 1
@@ -1,32 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- kind = TemplateKind.unscoped.where(name: 'Bootdisk').first_or_create
4
-
5
- organizations = Organization.all
6
- locations = Location.all
7
- created = []
8
-
9
- ProvisioningTemplate.without_auditing do
10
- content = File.read(File.join(ForemanBootdisk::Engine.root, 'app', 'views', 'foreman_bootdisk', 'host.erb'))
11
- created << 'Boot disk iPXE - host' unless ProvisioningTemplate.find_by(name: 'Boot disk iPXE - host')
12
- tmpl = ProvisioningTemplate.unscoped.where(name: 'Boot disk iPXE - host').first_or_create do |template|
13
- template.attributes = {
14
- template_kind_id: kind.id,
15
- snippet: false,
16
- template: content
17
- }
18
- end
19
- tmpl.attributes = {
20
- template: content,
21
- default: true,
22
- vendor: 'Foreman boot disk'
23
- }
24
- tmpl.locked = true
25
- tmpl.save!(validate: false) if tmpl.changes.present?
3
+ def read_bootdisk_template(filename)
4
+ File.read(File.join(ForemanBootdisk::Engine.root, 'app', 'views', 'foreman_bootdisk', filename))
5
+ end
26
6
 
27
- content = File.read(File.join(ForemanBootdisk::Engine.root, 'app', 'views', 'foreman_bootdisk', 'generic_host.erb'))
28
- created << 'Boot disk iPXE - generic host' unless ProvisioningTemplate.find_by(name: 'Boot disk iPXE - generic host')
29
- tmpl = ProvisioningTemplate.unscoped.where(name: 'Boot disk iPXE - generic host').first_or_create do |template|
7
+ def ensure_bootdisk_template(name, content)
8
+ kind = TemplateKind.unscoped.where(name: 'Bootdisk').first_or_create
9
+ tmpl = ProvisioningTemplate.unscoped.where(name: name).first_or_create do |template|
30
10
  template.attributes = {
31
11
  template_kind_id: kind.id,
32
12
  snippet: false,
@@ -36,13 +16,16 @@ ProvisioningTemplate.without_auditing do
36
16
  tmpl.attributes = {
37
17
  template: content,
38
18
  default: true,
39
- vendor: 'Foreman boot disk'
19
+ vendor: "Foreman boot disk"
40
20
  }
41
21
  tmpl.locked = true
22
+ tmpl.organizations = Organization.unscoped.all if SETTINGS[:organizations_enabled]
23
+ tmpl.locations = Location.unscoped.all if SETTINGS[:locations_enabled]
42
24
  tmpl.save!(validate: false) if tmpl.changes.present?
25
+ end
43
26
 
44
- ProvisioningTemplate.unscoped.where(name: created, default: true).each do |template|
45
- template.organizations = organizations if SETTINGS[:organizations_enabled]
46
- template.locations = locations if SETTINGS[:locations_enabled]
47
- end
27
+ ProvisioningTemplate.without_auditing do
28
+ ensure_bootdisk_template("Boot disk iPXE - host", read_bootdisk_template("host.erb"))
29
+ ensure_bootdisk_template("Boot disk iPXE - generic host", read_bootdisk_template("generic_host.erb"))
30
+ ensure_bootdisk_template("Boot disk iPXE - generic static host", read_bootdisk_template("generic_static_host.erb"))
48
31
  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.22'
41
+ requires_foreman '>= 1.24'
42
42
 
43
43
  security_block :bootdisk do |_map|
44
44
  permission :download_bootdisk, 'foreman_bootdisk/disks': %i[generic host full_host subnet help],
@@ -53,7 +53,7 @@ module ForemanBootdisk
53
53
  apipie_documented_controllers ["#{ForemanBootdisk::Engine.root}/app/controllers/foreman_bootdisk/api/v2/*.rb"]
54
54
  provision_method 'bootdisk', N_('Boot disk based')
55
55
  template_labels 'Bootdisk' => N_('Boot disk embedded template')
56
- allowed_template_helpers :bootdisk_chain_url, :bootdisk_raise
56
+ allowed_template_helpers :bootdisk_chain_url, :bootdisk_raise, :bootdisk_build?
57
57
  end
58
58
  end
59
59
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ForemanBootdisk
4
- VERSION = '15.1.0'
4
+ VERSION = '16.0.0'
5
5
  end
@@ -7,9 +7,9 @@
7
7
  # Robert Antoni Buj Gelonch <rbuj@fedoraproject.org>, 2015-2016
8
8
  msgid ""
9
9
  msgstr ""
10
- "Project-Id-Version: foreman_bootdisk 15.0.0\n"
10
+ "Project-Id-Version: foreman_bootdisk 15.1.0\n"
11
11
  "Report-Msgid-Bugs-To: \n"
12
- "PO-Revision-Date: 2019-04-18 20:22+0000\n"
12
+ "PO-Revision-Date: 2019-08-12 08:51+0000\n"
13
13
  "Last-Translator: Lukáš Zapletal\n"
14
14
  "Language-Team: Catalan (http://www.transifex.com/foreman/foreman/language/ca/)"
15
15
  "\n"
@@ -22,6 +22,9 @@ msgstr ""
22
22
  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
23
  msgstr ""
24
24
 
25
+ msgid "Action with sub plans"
26
+ msgstr ""
27
+
25
28
  msgid "All images are usable as either ISOs or as disk images, including being written to a USB disk with `dd`."
26
29
  msgstr ""
27
30
 
@@ -46,6 +49,9 @@ msgstr ""
46
49
  msgid "Boot disks"
47
50
  msgstr "Discs d'arrencada"
48
51
 
52
+ msgid "Both IP and Subnet must be set"
53
+ msgstr ""
54
+
49
55
  msgid "Command to generate ISO image, use genisoimage or mkisofs"
50
56
  msgstr "L'ordre per generar la imatge ISO, utilitzeu genisoimage o mkisofs"
51
57
 
@@ -94,8 +100,11 @@ msgstr "Ajuda"
94
100
  msgid "Host '%s' image"
95
101
  msgstr ""
96
102
 
97
- msgid "Host has no IP address defined"
98
- msgstr "L'amfitrió no té definida cap adreça IP"
103
+ msgid "Host bootdisk does not work with static IPv6"
104
+ msgstr ""
105
+
106
+ msgid "Host has no IPv4 or IPv6 address defined"
107
+ msgstr ""
99
108
 
100
109
  msgid "Host has no domain defined"
101
110
  msgstr "L'amfitrió no té definit cap domini"
@@ -127,6 +136,12 @@ msgstr ""
127
136
  msgid "ISOLINUX directory"
128
137
  msgstr ""
129
138
 
139
+ msgid "Import Puppet classes"
140
+ msgstr ""
141
+
142
+ msgid "Import facts"
143
+ msgstr ""
144
+
130
145
  msgid "Installation media caching"
131
146
  msgstr ""
132
147
 
@@ -157,6 +172,9 @@ msgstr ""
157
172
  msgid "Plugin for Foreman that creates iPXE-based boot disks to provision hosts without the need for PXE infrastructure."
158
173
  msgstr ""
159
174
 
175
+ msgid "Remote action:"
176
+ msgstr ""
177
+
160
178
  msgid "SYSLINUX directory"
161
179
  msgstr ""
162
180
 
@@ -12,9 +12,9 @@
12
12
  # simon11 <simon.stieger.98@live.de>, 2014
13
13
  msgid ""
14
14
  msgstr ""
15
- "Project-Id-Version: foreman_bootdisk 15.0.0\n"
15
+ "Project-Id-Version: foreman_bootdisk 15.1.0\n"
16
16
  "Report-Msgid-Bugs-To: \n"
17
- "PO-Revision-Date: 2019-04-18 20:22+0000\n"
17
+ "PO-Revision-Date: 2019-08-12 08:51+0000\n"
18
18
  "Last-Translator: Lukáš Zapletal\n"
19
19
  "Language-Team: German (http://www.transifex.com/foreman/foreman/language/de/)\n"
20
20
  "MIME-Version: 1.0\n"
@@ -26,6 +26,9 @@ msgstr ""
26
26
  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
27
  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
28
 
29
+ msgid "Action with sub plans"
30
+ msgstr ""
31
+
29
32
  msgid "All images are usable as either ISOs or as disk images, including being written to a USB disk with `dd`."
30
33
  msgstr "Alle Abbilder können entweder als ISOs oder als Festplattenabbilder verwendet werden und auch mit `dd` auf eine USB-Festplatte geschrieben."
31
34
 
@@ -50,6 +53,9 @@ msgstr "Im Startmedium eingebettete Vorlage"
50
53
  msgid "Boot disks"
51
54
  msgstr "Startmedien"
52
55
 
56
+ msgid "Both IP and Subnet must be set"
57
+ msgstr ""
58
+
53
59
  msgid "Command to generate ISO image, use genisoimage or mkisofs"
54
60
  msgstr "Kommando zur Erstellung von ISO-Abbildern, verwende genisoimage oder mkisofs"
55
61
 
@@ -98,8 +104,11 @@ msgstr "Hilfe"
98
104
  msgid "Host '%s' image"
99
105
  msgstr "Host '%s'-Abbild"
100
106
 
101
- msgid "Host has no IP address defined"
102
- msgstr "Host hat keine IP-Adresse definiert"
107
+ msgid "Host bootdisk does not work with static IPv6"
108
+ msgstr ""
109
+
110
+ msgid "Host has no IPv4 or IPv6 address defined"
111
+ msgstr ""
103
112
 
104
113
  msgid "Host has no domain defined"
105
114
  msgstr "Host hat keine Domäne definiert"
@@ -131,6 +140,12 @@ msgstr "ISO hybrid Konvertierung fehlgeschlagen"
131
140
  msgid "ISOLINUX directory"
132
141
  msgstr "ISOLINUX-Verzeichnis"
133
142
 
143
+ msgid "Import Puppet classes"
144
+ msgstr ""
145
+
146
+ msgid "Import facts"
147
+ msgstr ""
148
+
134
149
  msgid "Installation media caching"
135
150
  msgstr "Installationsmedien-Dateien Caching"
136
151
 
@@ -161,6 +176,9 @@ msgstr "Bitte die Installation des/der ISOLINUX/SYSLINUX Paket(e) sicherstellen.
161
176
  msgid "Plugin for Foreman that creates iPXE-based boot disks to provision hosts without the need for PXE infrastructure."
162
177
  msgstr "Plugin für Foreman, welches iPXE-basierte Startmedien erstellt, um Hosts ohne die Notwendigkeit einer PXE-Infrastruktur bereitzustellen."
163
178
 
179
+ msgid "Remote action:"
180
+ msgstr ""
181
+
164
182
  msgid "SYSLINUX directory"
165
183
  msgstr "SYSLINUX-Verzeichnis"
166
184