foreman_bootdisk 6.1.0 → 7.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/.tx/config +1 -1
  3. data/CHANGES.md +6 -0
  4. data/README.md +11 -2
  5. data/app/assets/javascripts/foreman_bootdisk/host_edit.js +7 -0
  6. data/app/models/concerns/foreman_bootdisk/compute_resources/vmware.rb +55 -0
  7. data/app/models/concerns/foreman_bootdisk/host_ext.rb +22 -1
  8. data/app/models/concerns/foreman_bootdisk/orchestration/compute.rb +86 -0
  9. data/app/views/hosts/provision_method/bootdisk/_form.html.erb +4 -0
  10. data/lib/foreman_bootdisk/engine.rb +23 -2
  11. data/lib/foreman_bootdisk/version.rb +1 -1
  12. data/locale/Makefile +18 -20
  13. data/locale/ca/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  14. data/locale/ca/foreman_bootdisk.po +73 -59
  15. data/locale/de/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  16. data/locale/de/foreman_bootdisk.po +63 -50
  17. data/locale/en/foreman_bootdisk.po +62 -68
  18. data/locale/en_GB/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  19. data/locale/en_GB/foreman_bootdisk.po +66 -51
  20. data/locale/es/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  21. data/locale/es/foreman_bootdisk.po +64 -50
  22. data/locale/foreman_bootdisk.pot +31 -3
  23. data/locale/fr/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  24. data/locale/fr/foreman_bootdisk.po +60 -47
  25. data/locale/it/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  26. data/locale/it/foreman_bootdisk.po +74 -60
  27. data/locale/ja/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  28. data/locale/ja/foreman_bootdisk.po +67 -53
  29. data/locale/ko/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  30. data/locale/ko/foreman_bootdisk.po +72 -59
  31. data/locale/pt_BR/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  32. data/locale/pt_BR/foreman_bootdisk.po +73 -59
  33. data/locale/ru/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  34. data/locale/ru/foreman_bootdisk.po +67 -51
  35. data/locale/sv_SE/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  36. data/locale/sv_SE/foreman_bootdisk.po +63 -49
  37. data/locale/zh_CN/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  38. data/locale/zh_CN/foreman_bootdisk.po +74 -60
  39. data/locale/zh_TW/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  40. data/locale/zh_TW/foreman_bootdisk.po +74 -60
  41. data/test/unit/concerns/compute_resources/vmware_test.rb +76 -0
  42. data/test/unit/concerns/host_test.rb +43 -0
  43. data/test/unit/concerns/orchestration/compute_test.rb +48 -0
  44. metadata +9 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a8a61c973be01e36e750806d001adeb4787dd22c
4
- data.tar.gz: 759b57674e0090025cbbf30bbae4b31a3ff9a994
3
+ metadata.gz: c4cae342fdce305a1ef37aa490220f5f688696ba
4
+ data.tar.gz: 95527d0b5e50214b9a4f5e29c2e1fd8b68cdf5ea
5
5
  SHA512:
6
- metadata.gz: 0e1f1a9790e67338e9e846f075da4ad20da44c8d659c15a973712d5f020c3f40fe40225593339c2b704bec1c956179eb316039b11e462433ed449eef3d649054
7
- data.tar.gz: 76bcadb8a821cd544a2d912058e6c72e920134b01f5e216cb1ed6a638ed08a14e6e85413d622302b9f41aede0e18bedfbf42462cdaeef43011707d1cda7e9656
6
+ metadata.gz: 7c68354a0657bfa35aac430090ffa22a4be8bd6b847eb293628e6f5abcf9303df840dfb118228bb2312d7494f3903c5f1181872aff3beefd77ed466c525095ab
7
+ data.tar.gz: a3bd89f2fcd364027362562446d1b17b058d7ebd3d8bd7be32ebcc8c9976fdc2be3c07672258e7008c373e21903621e4dc13e25a82c03cdbd361f75cc2972d36
data/.tx/config CHANGED
@@ -2,7 +2,7 @@
2
2
  host = https://www.transifex.com
3
3
 
4
4
  [foreman.bootdisk]
5
- file_filter = locale/<lang>/foreman_bootdisk.po
5
+ file_filter = locale/<lang>/foreman_bootdisk.edit.po
6
6
  source_file = locale/foreman_bootdisk.pot
7
7
  source_lang = en
8
8
  type = PO
data/CHANGES.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## v7.0.0
4
+ * add automated "bootdisk" provisioning method when creating hosts on VMware
5
+ compute resources, attaching a host ISO image to the virtual CDROM (#3287)
6
+ * fix RPM installation instructions
7
+ * fix gettext compatibility with Foreman 1.11
8
+
3
9
  ## v6.1.0
4
10
  * add subnet-level generic image relying on template smart proxy (#8146)
5
11
  * add Catalan translation
data/README.md CHANGED
@@ -18,7 +18,7 @@ Please see the Foreman manual for appropriate instructions:
18
18
  The gem name is "foreman_bootdisk". Run `foreman-rake db:migrate`,
19
19
  `foreman-rake db:seed` after installation.
20
20
 
21
- RPM users can install the "ruby193-rubygem-foreman_bootdisk" or
21
+ RPM users can install the "tfm-rubygem-foreman_bootdisk" or
22
22
  "rubygem-foreman_bootdisk" packages.
23
23
 
24
24
  Debian users can install the "ruby-foreman-bootdisk" package.
@@ -41,13 +41,14 @@ gPXE images are unsupported due to lack of initrd support.
41
41
  | >= 1.7 | ~> 4.0 |
42
42
  | >= 1.8 | ~> 5.0 |
43
43
  | >= 1.9 | ~> 6.0 |
44
+ | >= 1.11 | >= 6.1, < 8.0 |
44
45
 
45
46
  # Usage
46
47
 
47
48
  ## Configuration
48
49
 
49
50
  With all image types, hosts have to be registered to Foreman prior to booting
50
- the image. Hosts will be identified by their MAC or IP address to provide
51
+ the image by hand. Hosts will be identified by their MAC or IP address to provide
51
52
  the correct provisioning template if the host is in build mode.
52
53
 
53
54
  For per-host images, ensure host IP addresses and subnets are populated, and
@@ -57,6 +58,14 @@ under Infrastructure>Subnets in Foreman.
57
58
  To permit access to images for non-admin users, add the "Boot disk access" role
58
59
  to a user or the "download_bootdisk" permission to an existing role.
59
60
 
61
+ ## Fully Automated Provisioning
62
+
63
+ On VMWare compute resources it is possible to create a new host with a cd-drive
64
+ preconfigured and have a per-host image attached before first boot. This allows
65
+ a fully automated provisioning of hosts via ISO boot. This feature can be used by
66
+ selecting the Bootdisk Based provisioning method under the OS tab when creating
67
+ the host, or by setting provision_method: "bootdisk" using the API.
68
+
60
69
  ## Templates
61
70
 
62
71
  An OS iPXE provisioning template is required, see the list below for the name.
@@ -0,0 +1,7 @@
1
+ function bootdisk_provision_method_selected() {
2
+ $('div[id*=_provisioning]').hide();
3
+ $('#network_provisioning').show();
4
+ $('#bootdisk_provisioning').show();
5
+ $('#image_selection select').attr('disabled', true);
6
+ }
7
+ $(document).on('change', '#host_provision_method_bootdisk', bootdisk_provision_method_selected);
@@ -0,0 +1,55 @@
1
+ module ForemanBootdisk
2
+ module ComputeResources
3
+ module Vmware
4
+ extend ActiveSupport::Concern
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]
13
+ end
14
+
15
+ def new_cdrom(attr = {})
16
+ client.cdroms.new attr
17
+ end
18
+
19
+ def parse_args_with_bootdisk(args = {})
20
+ args = parse_args_without_bootdisk args
21
+ if args[:provision_method] == 'bootdisk'
22
+ args[:cdroms] = [new_cdrom]
23
+ args[:boot_order] = ['cdrom', 'disk']
24
+ end
25
+ args
26
+ end
27
+
28
+ def bootdisk_datastore(vm_uuid)
29
+ find_vm_by_uuid(vm_uuid).volumes.first.datastore
30
+ end
31
+
32
+ def iso_upload(iso, vm_uuid)
33
+ options = {
34
+ 'local_path' => iso,
35
+ 'datacenter' => dc.name,
36
+ 'datastore' => bootdisk_datastore(vm_uuid),
37
+ 'upload_directory' => 'foreman_isos' # fog creates the directory if it does not exist
38
+ }
39
+ client.upload_iso options
40
+ end
41
+
42
+ def iso_attach(iso, vm_uuid)
43
+ options = {
44
+ 'instance_uuid' => vm_uuid,
45
+ 'iso' => "foreman_isos/#{iso}",
46
+ 'datastore' => bootdisk_datastore(vm_uuid),
47
+ 'start_connected' => false,
48
+ 'connected' => true,
49
+ 'allow_guest_control' => true
50
+ }
51
+ client.vm_reconfig_cdrom options
52
+ end
53
+ end
54
+ end
55
+ end
@@ -1,7 +1,12 @@
1
1
  require 'uri'
2
2
 
3
3
  module ForemanBootdisk::HostExt
4
- extend ActiveSupport::Concerns
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
5
10
 
6
11
  def bootdisk_template
7
12
  ProvisioningTemplate.find_by_name(Setting[:bootdisk_host_template]) || raise(::Foreman::Exception.new(N_('Unable to find template specified by %s setting'), 'bootdisk_host_template'))
@@ -19,4 +24,20 @@ module ForemanBootdisk::HostExt
19
24
  def bootdisk_raise(*args)
20
25
  raise ::Foreman::Exception.new(*args)
21
26
  end
27
+
28
+ def bootdisk_build?
29
+ provision_method == 'bootdisk'
30
+ end
31
+
32
+ def bootdisk?
33
+ managed? && bootdisk_build? && SETTINGS[:unattended]
34
+ end
35
+
36
+ def validate_media_with_bootdisk?
37
+ validate_media_without_bootdisk? || (managed && bootdisk_build? && build?)
38
+ end
39
+
40
+ def can_be_built_with_bootdisk?
41
+ can_be_built_without_bootdisk? || (managed? and SETTINGS[:unattended] and bootdisk_build? and !build?)
42
+ end
22
43
  end
@@ -0,0 +1,86 @@
1
+ require 'tmpdir'
2
+
3
+ module ForemanBootdisk
4
+ module Orchestration
5
+ module Compute
6
+ extend ActiveSupport::Concern
7
+
8
+ included do
9
+ after_validation :queue_bootdisk_compute
10
+ after_build :rebuild_with_bootdisk
11
+ end
12
+
13
+ def bootdisk_isodir
14
+ @bootdisk_isodir ||= Dir.mktmpdir
15
+ end
16
+
17
+ def bootdisk_isofile
18
+ File.join(bootdisk_isodir, "#{name}.iso")
19
+ end
20
+
21
+ def queue_bootdisk_compute
22
+ return unless compute? && errors.empty? && new_record?
23
+ return unless provision_method == 'bootdisk'
24
+ queue.create(name: _('Generating ISO image for %s') % self, priority: 5,
25
+ action: [self, :setGenerateIsoImage])
26
+ queue.create(name: _('Upload ISO image to datastore for %s') % self, priority: 6,
27
+ action: [self, :setIsoImage])
28
+ queue.create(name: _('Attach ISO image to CDROM drive for %s') % self, priority: 1001,
29
+ action: [self, :setAttachIsoImage])
30
+ end
31
+
32
+ def bootdisk_generate_iso_image
33
+ ForemanBootdisk::ISOGenerator.generate(ipxe: bootdisk_template_render, dir: Dir.tmpdir) do |image|
34
+ FileUtils.mv image, bootdisk_isofile
35
+ end
36
+ end
37
+
38
+ def bootdisk_upload_iso
39
+ compute_resource.iso_upload(bootdisk_isofile, uuid)
40
+ end
41
+
42
+ def bootdisk_attach_iso
43
+ compute_resource.iso_attach(File.basename(bootdisk_isofile), uuid)
44
+ end
45
+
46
+ def setGenerateIsoImage
47
+ logger.info 'Generating ISO image for %s' % name
48
+ bootdisk_generate_iso_image
49
+ rescue => e
50
+ failure _('Failed to generate ISO image for instance %{name}: %{message}') % { name: name, message: e.message }, e
51
+ end
52
+
53
+ def delGenerateIsoImage; end
54
+
55
+ def setIsoImage
56
+ logger.info "Uploading ISO image #{bootdisk_isofile} for #{name}"
57
+ bootdisk_upload_iso
58
+ rescue => e
59
+ failure _('Failed to upload ISO image for instance %{name}: %{message}') % { name: name, message: e.message }, e
60
+ end
61
+
62
+ def delIsoImage; end
63
+
64
+ def setAttachIsoImage
65
+ logger.info 'Attaching ISO image to CDROM drive for %s' % name
66
+ bootdisk_attach_iso
67
+ rescue => e
68
+ failure _('Failed to attach ISO image to CDROM drive of instance %{name}: %{message}') % { name: name, message: e.message }, e
69
+ end
70
+
71
+ def delAttachIsoImage; end
72
+
73
+ def rebuild_with_bootdisk
74
+ return true unless bootdisk?
75
+ begin
76
+ bootdisk_generate_iso_image
77
+ bootdisk_upload_iso
78
+ bootdisk_attach_iso
79
+ rescue => e
80
+ Foreman::Logging.exception "Failed to rebuild Bootdisk image for #{name}", e, :level => :error
81
+ return false
82
+ end
83
+ end
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,4 @@
1
+ <%= javascript 'foreman_bootdisk/host_edit' %>
2
+ <div id='bootdisk_provisioning' <%= display? !@host.bootdisk_build? %> >
3
+
4
+ </div>
@@ -28,9 +28,27 @@ module ForemanBootdisk
28
28
  Apipie.configuration.checksum_path += ['/bootdisk/api/']
29
29
  end
30
30
 
31
- initializer 'foreman_bootdisk.register_plugin', :after=> :finisher_hook do |app|
31
+ # Precompile any JS or CSS files under app/assets/
32
+ # If requiring files from each other, list them explicitly here to avoid precompiling the same
33
+ # content twice.
34
+ assets_to_precompile =
35
+ Dir.chdir(root) do
36
+ Dir['app/assets/javascripts/**/*', 'app/assets/stylesheets/**/*'].map do |f|
37
+ f.split(File::SEPARATOR, 4).last
38
+ end
39
+ end
40
+
41
+ initializer 'foreman_bootdisk.assets.precompile' do |app|
42
+ app.config.assets.precompile += assets_to_precompile
43
+ end
44
+
45
+ initializer 'foreman_bootdisk.configure_assets', group: :assets do
46
+ SETTINGS[:foreman_bootdisk] = { assets: { precompile: assets_to_precompile } }
47
+ end
48
+
49
+ initializer 'foreman_bootdisk.register_plugin', :before => :finisher_hook do |app|
32
50
  Foreman::Plugin.register :foreman_bootdisk do
33
- requires_foreman '>= 1.9'
51
+ requires_foreman '>= 1.11'
34
52
 
35
53
  security_block :bootdisk do |map|
36
54
  permission :download_bootdisk, {:'foreman_bootdisk/disks' => [:generic, :host, :full_host, :subnet, :help],
@@ -41,6 +59,7 @@ module ForemanBootdisk
41
59
 
42
60
  allowed_template_helpers :bootdisk_chain_url, :bootdisk_raise
43
61
  apipie_documented_controllers ["#{ForemanBootdisk::Engine.root}/app/controllers/foreman_bootdisk/api/v2/*.rb"]
62
+ provision_method 'bootdisk', N_('Bootdisk Based')
44
63
  end
45
64
  end
46
65
 
@@ -53,8 +72,10 @@ module ForemanBootdisk
53
72
  config.to_prepare do
54
73
  begin
55
74
  Host::Managed.send(:include, ForemanBootdisk::HostExt)
75
+ Host::Managed.send(:include, ForemanBootdisk::Orchestration::Compute) if SETTINGS[:unattended]
56
76
  HostsHelper.send(:include, ForemanBootdisk::HostsHelperExt)
57
77
  UnattendedController.send(:include, ForemanBootdisk::UnattendedControllerExt)
78
+ Foreman::Model::Vmware.send(:include, ForemanBootdisk::ComputeResources::Vmware) if SETTINGS[:vmware]
58
79
  rescue => e
59
80
  puts "#{ForemanBootdisk::ENGINE_NAME}: skipping engine hook (#{e.to_s})"
60
81
  end
@@ -1,3 +1,3 @@
1
1
  module ForemanBootdisk
2
- VERSION = '6.1.0'
2
+ VERSION = '7.0.0'
3
3
  end
data/locale/Makefile CHANGED
@@ -10,9 +10,10 @@ DOMAIN = foreman_bootdisk
10
10
  VERSION = $(shell ruby -e 'require "rubygems";spec = Gem::Specification::load(Dir.glob("../*.gemspec")[0]);puts spec.version')
11
11
  POTFILE = $(DOMAIN).pot
12
12
  MOFILE = $(DOMAIN).mo
13
- POFILES = $(shell find . -name '*.po')
13
+ POFILES = $(shell find . -name '$(DOMAIN).po')
14
14
  MOFILES = $(patsubst %.po,%.mo,$(POFILES))
15
15
  POXFILES = $(patsubst %.po,%.pox,$(POFILES))
16
+ EDITFILES = $(patsubst %.po,%.edit.po,$(POFILES))
16
17
 
17
18
  %.mo: %.po
18
19
  mkdir -p $(shell dirname $@)/LC_MESSAGES
@@ -29,14 +30,10 @@ all-mo: $(MOFILES)
29
30
  cat $@
30
31
  ! grep -q msgid $@
31
32
 
32
- check: $(POXFILES)
33
- msgfmt -c ${POTFILE}
33
+ %.edit.po:
34
+ touch $@
34
35
 
35
- # Merge PO files
36
- update-po:
37
- for f in $(shell find ./ -name "*.po") ; do \
38
- msgmerge -N --backup=none -U $$f ${POTFILE} ; \
39
- done
36
+ check: $(POXFILES)
40
37
 
41
38
  # Unify duplicate translations
42
39
  uniq-po:
@@ -44,19 +41,20 @@ uniq-po:
44
41
  msguniq $$f -o $$f ; \
45
42
  done
46
43
 
47
- tx-pull:
44
+ tx-pull: $(EDITFILES)
48
45
  tx pull -f
49
- for f in $(POFILES) ; do \
46
+ for f in $(EDITFILES) ; do \
50
47
  sed -i 's/^\("Project-Id-Version: \).*$$/\1$(DOMAIN) $(VERSION)\\n"/' $$f; \
51
48
  done
52
- -git commit -a -m "i18n - pulling from tx"
53
-
54
- reset-po:
55
- # merging po files is unnecessary when using transifex.com
56
- git checkout -- ../locale/*/*po
57
49
 
58
- tx-update: tx-pull reset-po $(MOFILES)
59
- # amend mo files
60
- git add ../locale/*/LC_MESSAGES
61
- git commit -a --amend -m "i18n - pulling from tx"
62
- -echo Changes commited!
50
+ tx-update: tx-pull
51
+ @echo
52
+ @echo Run rake plugin:gettext[$(DOMAIN)] from the Foreman installation, then make -C locale mo-files to finish
53
+ @echo
54
+
55
+ mo-files: $(MOFILES)
56
+ git add $(POFILES) $(POTFILE) ../locale/*/LC_MESSAGES
57
+ git commit -m "i18n - pulling from tx"
58
+ @echo
59
+ @echo Changes commited!
60
+ @echo
@@ -1,33 +1,30 @@
1
- # foreman_bootdisk
2
- #
3
- # This file is distributed under the same license as foreman_bootdisk.
4
- #
1
+ # SOME DESCRIPTIVE TITLE.
2
+ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
3
+ # This file is distributed under the same license as the foreman_bootdisk package.
4
+ #
5
5
  # Translators:
6
- # Robert Antoni Buj i Gelonch <rbuj@fedoraproject.org>, 2015
6
+ # Robert Antoni Buj i Gelonch <rbuj@fedoraproject.org>, 2015-2016
7
7
  msgid ""
8
8
  msgstr ""
9
- "Project-Id-Version: foreman_bootdisk 6.0.0\n"
9
+ "Project-Id-Version: Foreman\n"
10
10
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2015-02-20 11:19+0000\n"
12
- "PO-Revision-Date: 2015-12-10 08:15+0000\n"
13
- "Last-Translator: Robert Antoni Buj i Gelonch <rbuj@fedoraproject.org>\n"
14
- "Language-Team: Catalan (http://www.transifex.com/foreman/foreman/language/ca/)\n"
11
+ "PO-Revision-Date: 2016-03-24 09:54+0000\n"
12
+ "Last-Translator: Lukáš Zapletal\n"
13
+ "Language-Team: Catalan (http://www.transifex.com/foreman/foreman/language/ca/)"
14
+ "\n"
15
15
  "MIME-Version: 1.0\n"
16
16
  "Content-Type: text/plain; charset=UTF-8\n"
17
17
  "Content-Transfer-Encoding: 8bit\n"
18
18
  "Language: ca\n"
19
19
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
20
20
 
21
- msgid ""
22
- "A variant of the per-host image which contains the OS bootloader embedded "
23
- "inside the disk. This may be useful if chainloading fails on certain "
24
- "hardware, but has the downside that the image must be regenerated for any "
25
- "change in the OS, bootloader or templates."
26
- msgstr "Una variant de la imatge per amfitrió que conté el gestor d'arrencada del SO incrustat a l'interior del disc. Això pot ser útil si falla la cadena d'arrencada en algun maquinari, però té l'inconvenient que la imatge ha de ser regenerada en qualsevol canvi realitzat al sistema operatiu, al gestor d'arrencada o a les plantilles."
21
+ 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."
22
+ msgstr ""
27
23
 
28
- msgid ""
29
- "All images are usable as either ISOs or as disk images, including being "
30
- "written to a USB disk with `dd`."
24
+ msgid "All images are usable as either ISOs or as disk images, including being written to a USB disk with `dd`."
25
+ msgstr ""
26
+
27
+ msgid "Attach ISO image to CDROM drive for %s"
31
28
  msgstr ""
32
29
 
33
30
  msgid "Back"
@@ -39,13 +36,11 @@ msgstr "Disc d'arrencada"
39
36
  msgid "Boot disks"
40
37
  msgstr "Discs d'arrencada"
41
38
 
42
- msgid ""
43
- "Bootdisk is not supported with safemode rendering, please disable "
44
- "safemode_render under Adminster>Settings"
39
+ msgid "Bootdisk Based"
45
40
  msgstr ""
46
41
 
47
42
  msgid "Command to generate ISO image, use genisoimage or mkisofs"
48
- msgstr ""
43
+ msgstr "L'ordre per generar la imatge ISO, utilitzeu genisoimage o mkisofs"
49
44
 
50
45
  msgid "Download generic image"
51
46
  msgstr "Baixa la imatge genèrica"
@@ -53,23 +48,34 @@ msgstr "Baixa la imatge genèrica"
53
48
  msgid "Download host image"
54
49
  msgstr "Baixa la imatge d'amfitrió"
55
50
 
56
- msgid "Failed to render boot disk template: %s"
51
+ msgid "Download subnet generic image"
52
+ msgstr "Baixa la imatge genèrica de subxarxa"
53
+
54
+ msgid "Failed to attach ISO image to CDROM drive of instance %{name}: %{message}"
55
+ msgstr ""
56
+
57
+ msgid "Failed to generate ISO image for instance %{name}: %{message}"
58
+ msgstr ""
59
+
60
+ msgid "Failed to render boot disk template"
61
+ msgstr ""
62
+
63
+ msgid "Failed to upload ISO image for instance %{name}: %{message}"
57
64
  msgstr ""
58
65
 
59
66
  msgid "Full host '%s' image"
60
67
  msgstr ""
61
68
 
62
69
  msgid "Full host image"
70
+ msgstr "Imatge completa d'amfitrió"
71
+
72
+ msgid "Generating ISO image for %s"
63
73
  msgstr ""
64
74
 
65
75
  msgid "Generic image"
66
76
  msgstr "Imatge genèrica"
67
77
 
68
- msgid ""
69
- "Generic images are a reusable disk image that works for any host registered "
70
- "in Foreman. It requires a basic DHCP and DNS service to function and "
71
- "contact the server, but does not require DHCP reservations or static IP "
72
- "addresses."
78
+ 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."
73
79
  msgstr ""
74
80
 
75
81
  msgid "Help"
@@ -79,16 +85,16 @@ msgid "Host '%s' image"
79
85
  msgstr ""
80
86
 
81
87
  msgid "Host has no IP address defined"
82
- msgstr ""
88
+ msgstr "L'amfitrió no té definida cap adreça IP"
83
89
 
84
90
  msgid "Host has no domain defined"
85
- msgstr ""
91
+ msgstr "L'amfitrió no té definit cap domini"
86
92
 
87
93
  msgid "Host has no provisioning interface defined"
88
- msgstr ""
94
+ msgstr "L'amfitrió no té definida cap interfície d'aprovisionament"
89
95
 
90
96
  msgid "Host has no subnet defined"
91
- msgstr ""
97
+ msgstr "L'amfitrió no té definida cap subxarxa"
92
98
 
93
99
  msgid "Host image"
94
100
  msgstr "Imatge d'amfitrió"
@@ -97,7 +103,7 @@ msgid "Host is not in build mode, so the template cannot be rendered"
97
103
  msgstr ""
98
104
 
99
105
  msgid "ISO build failed"
100
- msgstr ""
106
+ msgstr "No s'ha pogut construir la ISO"
101
107
 
102
108
  msgid "ISO hybrid conversion failed"
103
109
  msgstr ""
@@ -105,59 +111,67 @@ msgstr ""
105
111
  msgid "Installation media files will be cached for full host images"
106
112
  msgstr "Els fitxers dels mitjans d'instal·lació s'emmagatzemaran en memòria cau per a les imatges completes dels amfitrions"
107
113
 
108
- msgid ""
109
- "Once chainloaded, the OS bootloader and installer are downloaded directly "
110
- "from the installation media configured in Foreman, and the provisioning "
111
- "script (kickstart/preseed) is downloaded from Foreman."
114
+ 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."
112
115
  msgstr ""
113
116
 
114
117
  msgid "Path to directory containing iPXE images"
115
- msgstr ""
118
+ msgstr "El camí al directori que conté les imatges iPXE"
116
119
 
117
120
  msgid "Path to directory containing syslinux images"
118
- msgstr ""
121
+ msgstr "El camí al directori que conté les imatges syslinux"
119
122
 
120
- msgid ""
121
- "Per-host images contain data about a particular host registered in Foreman "
122
- "and set up fully static networking, avoiding the requirement for DHCP. "
123
- "After networking is configured, they chainload from Foreman, picking up the "
124
- "current OS configuration and build state from the server."
123
+ msgid "Per-host images contain data about a particular host registered in Foreman and set up fully static networking, avoiding the requirement for DHCP. After networking is configured, they chainload from Foreman, picking up the current OS configuration and build state from the server."
125
124
  msgstr ""
126
125
 
127
126
  msgid "Please ensure the ipxe-bootimgs and syslinux packages are installed."
127
+ msgstr "Si us plau, assegureu-vos que estiguin instal·lats els paquets ipxe-bootimgs i syslinux."
128
+
129
+ msgid "Plugin for Foreman that creates iPXE-based boot disks to provision hosts without the need for PXE infrastructure."
128
130
  msgstr ""
129
131
 
130
- msgid ""
131
- "Plugin for Foreman that creates iPXE-based boot disks to provision hosts "
132
- "without the need for PXE infrastructure."
132
+ msgid "Subnet '%s' generic image"
133
133
  msgstr ""
134
134
 
135
135
  msgid "Subnet (%s) has no gateway defined"
136
- msgstr ""
136
+ msgstr "La subxarxa (%s) no té definida cap passarel·la"
137
137
 
138
138
  msgid "Subnet (%s) has no primary DNS server defined"
139
+ msgstr "La subxarxa (%s) no té definit cap servidor DNS primari"
140
+
141
+ msgid "Subnet boot disks"
142
+ msgstr "Discs d'arrencada de subxarxa"
143
+
144
+ msgid "Subnet image"
145
+ msgstr "Imatge de subxarxa"
146
+
147
+ 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."
139
148
  msgstr ""
140
149
 
141
- msgid ""
142
- "The OS install continues using the installation media configured in Foreman,"
143
- " and it will typically configure static networking, depending on how the OS "
144
- "iPXE template is configured."
150
+ msgid "Subnet is not assigned to the host %s"
151
+ msgstr "La subxarxa no està assignada a l'amfitrió %s"
152
+
153
+ msgid "TFTP feature not enabled for subnet %s"
154
+ msgstr "La funcionalitat TFTP no està habilitada per a la subxarxa %s"
155
+
156
+ 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."
157
+ msgstr ""
158
+
159
+ msgid "This image is generic for all hosts with a provisioning NIC on that subnet."
145
160
  msgstr ""
146
161
 
147
162
  msgid "True for full, false for basic reusable image"
148
163
  msgstr ""
149
164
 
150
165
  msgid "Unable to find template specified by %s setting"
151
- msgstr ""
166
+ msgstr "No es pot trobar la plantilla especificada per l'ajust %s"
152
167
 
153
168
  msgid "Unable to generate disk template: %s"
169
+ msgstr "No es pot generar la plantilla de disc: %s"
170
+
171
+ msgid "Upload ISO image to datastore for %s"
154
172
  msgstr ""
155
173
 
156
- msgid ""
157
- "Various types of boot disks can be created to provision hosts without the "
158
- "need for PXE services. Boot disks can be attached to the host (physical or "
159
- "virtual) which boots from the disk, contacts Foreman and begins the OS "
160
- "installation."
174
+ 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."
161
175
  msgstr ""
162
176
 
163
177
  msgid "iPXE template to use for generic host boot disks"