foreman_bootdisk 19.0.4.1 → 19.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f6805c28d2943f043c76e7d485d1173f05ec8925daf94a0c44ac9c0573669792
4
- data.tar.gz: 03a8ebbcfe7a4edd07a0fe38d6af052726b0beef5d42d3ac5e03264e58a9da94
3
+ metadata.gz: c50d87e902b43ec4b94df5845e8f5f660663e9d9220285401e223e2e2cdf3624
4
+ data.tar.gz: 3b1092081bda0337d725ecb66ce3e2acd2ffbf2e32fd179e34f11ee3bc137b28
5
5
  SHA512:
6
- metadata.gz: 9625fe490a2988489f2bd185d3105ded1b361802bcd6c550e2e5c9dc3fabb57817fbf7626d7b4916ba43de5469009abe8877e14d1230876b604b552262c24782
7
- data.tar.gz: 6964a6d36784dfa3391e255d70dd56fa776f5257260301068b36f8234975eab4840a36c43dcea98175fc170be99c74ea8a3ec53414d3cfb4bbd5570ddd563da6
6
+ metadata.gz: eaa41fe654e374bc71a02a8fd30b5b74cb50e15cded72af4375e4df943dd890f086abe973a376dc84bb5f307bd8e1c62bb5f27505176ff5299229110434b1760
7
+ data.tar.gz: 978d4631aa89857baf2a8b1e26fd19917e5118fb482f03ddfe7a3ac5b52ed78f71f85142a2d3a8a0b17eb4aebbda2e6f9b081e6fe8075c6490c32f85a4d3cd68
@@ -14,8 +14,8 @@ module ForemanBootdisk
14
14
  optional :mac, String, 'MAC address of the host', default: 'MAC address of the current host'
15
15
  optional :action, String, 'Bootloader to use', default: 'iPXE'
16
16
  returns String, desc: 'URL for boot chain'
17
- example 'bootdisk_chain_url #=> "http://foreman.some.host.fqdn/unattended/iPXE?mac=00%3A11%3A22%3A33%3A44%3A55"'
18
- example 'bootdisk_chain_url("00:11:22:33:44:55") #=> "http://foreman.some.host.fqdn/unattended/iPXE?mac=00%3A11%3A22%3A33%3A44%3A55"'
17
+ example 'bootdisk_chain_url #=> "http://foreman.example.com/unattended/iPXE?mac=00%3A11%3A22%3A33%3A44%3A55"'
18
+ example 'bootdisk_chain_url("00:11:22:33:44:55") #=> "http://foreman.example.com/unattended/iPXE?mac=00%3A11%3A22%3A33%3A44%3A55"'
19
19
  end
20
20
  def bootdisk_chain_url(mac = host.try(:mac), action = 'iPXE')
21
21
  url = foreman_url(action)
@@ -24,7 +24,7 @@ module ForemanBootdisk
24
24
  end
25
25
 
26
26
  def bootdisk?
27
- managed? && bootdisk_build? && SETTINGS[:unattended]
27
+ managed? && bootdisk_build?
28
28
  end
29
29
 
30
30
  def bootdisk_downloadable?
@@ -36,7 +36,7 @@ module ForemanBootdisk
36
36
  end
37
37
 
38
38
  def can_be_built?
39
- super || (managed? && SETTINGS[:unattended] && bootdisk_build? && !build?)
39
+ super || (managed? && bootdisk_build? && !build?)
40
40
  end
41
41
 
42
42
  apipie_update :class do
@@ -1,31 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class Setting
4
- class Bootdisk < ::Setting
5
- def self.default_settings
6
- ipxe = ['/usr/lib/ipxe'].find { |p| File.exist?(p) } || '/usr/share/ipxe'
7
- isolinux = ['/usr/lib/ISOLINUX'].find { |p| File.exist?(p) } || '/usr/share/syslinux'
8
- syslinux = ['/usr/lib/syslinux/modules/bios', '/usr/lib/syslinux'].find { |p| File.exist?(p) } || '/usr/share/syslinux'
9
- grub2 = ['/var/lib/tftpboot/grub2'].find { |p| File.exist?(p) } || '/var/lib/foreman/bootdisk'
10
- templates = -> { Hash[ProvisioningTemplate.where(template_kind: TemplateKind.where(name: 'Bootdisk')).map { |temp| [temp[:name], temp[:name]] }] }
11
-
12
- [
13
- set('bootdisk_ipxe_dir', N_('Path to directory containing iPXE images'), ipxe, N_('iPXE directory')),
14
- set('bootdisk_isolinux_dir', N_('Path to directory containing isolinux images'), isolinux, N_('ISOLINUX directory')),
15
- set('bootdisk_syslinux_dir', N_('Path to directory containing syslinux images'), syslinux, N_('SYSLINUX directory')),
16
- set('bootdisk_grub2_dir', N_('Path to directory containing grubx64.efi and shimx64.efi'), grub2, N_('Grub2 directory')),
17
- set('bootdisk_host_template', N_('iPXE template to use for host-specific boot disks'),
18
- 'Boot disk iPXE - host', N_('Host image template'), nil, collection: templates),
19
- set('bootdisk_generic_host_template', N_('iPXE template to use for generic host boot disks'),
20
- 'Boot disk iPXE - generic host', N_('Generic image template'), nil, collection: templates),
21
- set('bootdisk_generic_efi_host_template', N_('Grub2 template to use for generic EFI host boot disks'),
22
- 'Boot disk Grub2 EFI - generic host', N_('Generic Grub2 EFI 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
- set('bootdisk_allowed_types', N_('List of allowed bootdisk types, remove type to disable it'), Setting::Bootdisk.bootdisk_types, N_('Allowed bootdisk types'))
26
- ]
27
- end
28
-
4
+ class Bootdisk
29
5
  def self.humanized_category
30
6
  N_('Boot disk')
31
7
  end
@@ -17,15 +17,6 @@ module ForemanBootdisk
17
17
  app.routes_reloader.paths << "#{ForemanBootdisk::Engine.root}/config/routes/mount_engine.rb"
18
18
  end
19
19
 
20
- initializer 'foreman_bootdisk.load_default_settings', before: :load_config_initializers do |_app|
21
- table_exists = begin
22
- Setting.table_exists?
23
- rescue StandardError
24
- false
25
- end
26
- require_dependency File.expand_path('../../app/models/setting/bootdisk.rb', __dir__) if table_exists
27
- end
28
-
29
20
  initializer 'foreman_bootdisk.load_app_instance_data' do |app|
30
21
  ForemanBootdisk::Engine.paths['db/migrate'].existent.each do |path|
31
22
  app.config.paths['db/migrate'] << path
@@ -38,7 +29,7 @@ module ForemanBootdisk
38
29
 
39
30
  initializer 'foreman_bootdisk.register_plugin', before: :finisher_hook do |_app|
40
31
  Foreman::Plugin.register :foreman_bootdisk do
41
- requires_foreman '>= 3.1'
32
+ requires_foreman '>= 3.3'
42
33
  # Add Global files for extending foreman-core components and routes
43
34
  register_global_js_file 'global'
44
35
 
@@ -50,7 +41,6 @@ module ForemanBootdisk
50
41
  end
51
42
 
52
43
  role 'Boot disk access', [:download_bootdisk], 'Role granting permissions to download bootdisks'
53
-
54
44
  add_all_permissions_to_default_roles
55
45
 
56
46
  apipie_documented_controllers ["#{ForemanBootdisk::Engine.root}/app/controllers/foreman_bootdisk/api/v2/*.rb"]
@@ -65,6 +55,81 @@ module ForemanBootdisk
65
55
  cx.add_pagelet :subnet_index_action_buttons, name: 'Bootdisk', partial: 'subnets/bootdisk_action_buttons'
66
56
  cx.add_pagelet :subnet_index_title_buttons, name: 'Bootdisk', partial: 'subnets/bootdisk_title_buttons'
67
57
  end
58
+
59
+ settings do
60
+ category :bootdisk, N_("Boot disk") do
61
+ ipxe = ['/usr/lib/ipxe'].find { |p| File.exist?(p) } || '/usr/share/ipxe'
62
+ isolinux = ['/usr/lib/ISOLINUX'].find { |p| File.exist?(p) } || '/usr/share/syslinux'
63
+ syslinux = ['/usr/lib/syslinux/modules/bios', '/usr/lib/syslinux'].find { |p| File.exist?(p) } || '/usr/share/syslinux'
64
+ grub2 = ['/var/lib/tftpboot/grub2'].find { |p| File.exist?(p) } || '/var/lib/foreman/bootdisk'
65
+ templates = -> {
66
+ Hash[ProvisioningTemplate.where(template_kind: TemplateKind.where(name: 'Bootdisk')).map { |temp| [temp[:name], temp[:name]] }]
67
+ }
68
+
69
+ setting "bootdisk_ipxe_dir",
70
+ type: :string,
71
+ default: ipxe,
72
+ full_name: N_("iPXE directory"),
73
+ description: N_("Path to directory containing iPXE images")
74
+
75
+ setting "bootdisk_isolinux_dir",
76
+ type: :string,
77
+ default: isolinux,
78
+ full_name: N_("ISOLINUX directory"),
79
+ description: N_("Path to directory containing isolinux images")
80
+
81
+ setting "bootdisk_syslinux_dir",
82
+ type: :string,
83
+ default: syslinux,
84
+ full_name: N_("SYSLINUX directory"),
85
+ description: N_("Path to directory containing syslinux images")
86
+
87
+ setting "bootdisk_grub2_dir",
88
+ type: :string,
89
+ default: grub2,
90
+ full_name: N_("Grub2 directory"),
91
+ description: N_("Path to directory containing grubx64.efi and shimx64.efi")
92
+
93
+ setting "bootdisk_host_template",
94
+ type: :string,
95
+ collection: templates,
96
+ default: "Boot disk iPXE - host",
97
+ full_name: N_("Host image template"),
98
+ description: N_("iPXE template to use for host-specific boot disks")
99
+
100
+ setting "bootdisk_generic_host_template",
101
+ type: :string,
102
+ collection: templates,
103
+ default: "Boot disk iPXE - generic host",
104
+ full_name: N_("Generic image template"),
105
+ description: N_("iPXE template to use for generic host boot disks")
106
+
107
+ setting "bootdisk_generic_efi_host_template",
108
+ type: :string,
109
+ collection: templates,
110
+ default: "Boot disk Grub2 EFI - generic host",
111
+ full_name: N_("Generic Grub2 EFI image template"),
112
+ description: N_("iPXE template to use for generic EFI host boot disks")
113
+
114
+ setting "bootdisk_mkiso_command",
115
+ type: :string,
116
+ default: "genisoimage",
117
+ full_name: N_("ISO generation command"),
118
+ description: N_("Command to generate ISO image, use genisoimage or mkisofs")
119
+
120
+ setting "bootdisk_cache_media",
121
+ type: :boolean,
122
+ default: true,
123
+ full_name: N_("Installation media caching"),
124
+ description: N_("Installation media files will be cached for full host images")
125
+
126
+ setting "bootdisk_allowed_types",
127
+ type: :string,
128
+ default: Setting::Bootdisk.bootdisk_types,
129
+ full_name: N_("Allowed bootdisk types"),
130
+ description: N_("List of allowed bootdisk types, remove type to disable it")
131
+ end
132
+ end
68
133
  end
69
134
  end
70
135
 
@@ -77,7 +142,7 @@ module ForemanBootdisk
77
142
  config.to_prepare do
78
143
  begin
79
144
  Host::Managed.prepend ForemanBootdisk::HostExt
80
- Host::Managed.include ForemanBootdisk::Orchestration::Compute if SETTINGS[:unattended]
145
+ Host::Managed.include ForemanBootdisk::Orchestration::Compute
81
146
  HostsHelper.prepend ForemanBootdisk::HostsHelperExt
82
147
  SubnetsHelper.prepend ForemanBootdisk::SubnetsHelperExt
83
148
  Foreman::Model::Vmware.prepend ForemanBootdisk::ComputeResources::Vmware if Foreman::Model::Vmware.available?
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ForemanBootdisk
4
- VERSION = '19.0.4.1'
4
+ VERSION = '19.0.5'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman_bootdisk
3
3
  version: !ruby/object:Gem::Version
4
- version: 19.0.4.1
4
+ version: 19.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dominic Cleal
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-05-03 00:00:00.000000000 Z
11
+ date: 2022-04-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: theforeman-rubocop
@@ -161,7 +161,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
161
161
  - !ruby/object:Gem::Version
162
162
  version: '0'
163
163
  requirements: []
164
- rubygems_version: 3.0.3
164
+ rubygems_version: 3.1.4
165
165
  signing_key:
166
166
  specification_version: 4
167
167
  summary: Create boot disks to provision hosts with Foreman