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.
- checksums.yaml +4 -4
- data/.tx/config +1 -1
- data/CHANGES.md +6 -0
- data/README.md +11 -2
- data/app/assets/javascripts/foreman_bootdisk/host_edit.js +7 -0
- data/app/models/concerns/foreman_bootdisk/compute_resources/vmware.rb +55 -0
- data/app/models/concerns/foreman_bootdisk/host_ext.rb +22 -1
- data/app/models/concerns/foreman_bootdisk/orchestration/compute.rb +86 -0
- data/app/views/hosts/provision_method/bootdisk/_form.html.erb +4 -0
- data/lib/foreman_bootdisk/engine.rb +23 -2
- data/lib/foreman_bootdisk/version.rb +1 -1
- data/locale/Makefile +18 -20
- data/locale/ca/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/ca/foreman_bootdisk.po +73 -59
- data/locale/de/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/de/foreman_bootdisk.po +63 -50
- data/locale/en/foreman_bootdisk.po +62 -68
- data/locale/en_GB/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/en_GB/foreman_bootdisk.po +66 -51
- data/locale/es/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/es/foreman_bootdisk.po +64 -50
- data/locale/foreman_bootdisk.pot +31 -3
- data/locale/fr/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/fr/foreman_bootdisk.po +60 -47
- data/locale/it/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/it/foreman_bootdisk.po +74 -60
- data/locale/ja/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/ja/foreman_bootdisk.po +67 -53
- data/locale/ko/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/ko/foreman_bootdisk.po +72 -59
- data/locale/pt_BR/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/pt_BR/foreman_bootdisk.po +73 -59
- data/locale/ru/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/ru/foreman_bootdisk.po +67 -51
- data/locale/sv_SE/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/sv_SE/foreman_bootdisk.po +63 -49
- data/locale/zh_CN/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/zh_CN/foreman_bootdisk.po +74 -60
- data/locale/zh_TW/LC_MESSAGES/foreman_bootdisk.mo +0 -0
- data/locale/zh_TW/foreman_bootdisk.po +74 -60
- data/test/unit/concerns/compute_resources/vmware_test.rb +76 -0
- data/test/unit/concerns/host_test.rb +43 -0
- data/test/unit/concerns/orchestration/compute_test.rb +48 -0
- metadata +9 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c4cae342fdce305a1ef37aa490220f5f688696ba
|
4
|
+
data.tar.gz: 95527d0b5e50214b9a4f5e29c2e1fd8b68cdf5ea
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7c68354a0657bfa35aac430090ffa22a4be8bd6b847eb293628e6f5abcf9303df840dfb118228bb2312d7494f3903c5f1181872aff3beefd77ed466c525095ab
|
7
|
+
data.tar.gz: a3bd89f2fcd364027362562446d1b17b058d7ebd3d8bd7be32ebcc8c9976fdc2be3c07672258e7008c373e21903621e4dc13e25a82c03cdbd361f75cc2972d36
|
data/.tx/config
CHANGED
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 "
|
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.
|
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::
|
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
|
@@ -28,9 +28,27 @@ module ForemanBootdisk
|
|
28
28
|
Apipie.configuration.checksum_path += ['/bootdisk/api/']
|
29
29
|
end
|
30
30
|
|
31
|
-
|
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.
|
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
|
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 '
|
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
|
-
|
33
|
-
|
33
|
+
%.edit.po:
|
34
|
+
touch $@
|
34
35
|
|
35
|
-
|
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 $(
|
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
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
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
|
Binary file
|
@@ -1,33 +1,30 @@
|
|
1
|
-
#
|
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:
|
9
|
+
"Project-Id-Version: Foreman\n"
|
10
10
|
"Report-Msgid-Bugs-To: \n"
|
11
|
-
"
|
12
|
-
"
|
13
|
-
"
|
14
|
-
"
|
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
|
-
|
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
|
-
|
30
|
-
|
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 "
|
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
|
-
"
|
143
|
-
|
144
|
-
"
|
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"
|