foreman_bootdisk 14.0.0 → 17.0.2

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.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHORS +30 -0
  3. data/README.md +25 -0
  4. data/app/controllers/foreman_bootdisk/api/v2/disks_controller.rb +5 -7
  5. data/app/controllers/foreman_bootdisk/api/v2/subnet_disks_controller.rb +9 -4
  6. data/app/controllers/foreman_bootdisk/disks_controller.rb +11 -10
  7. data/app/helpers/concerns/foreman_bootdisk/hosts_helper_ext.rb +14 -14
  8. data/app/lib/foreman_bootdisk/scope/bootdisk.rb +4 -1
  9. data/app/lib/foreman_bootdisk/scope/full_host_bootdisk_efi.rb +15 -0
  10. data/app/models/concerns/foreman_bootdisk/compute_resources/vmware.rb +10 -1
  11. data/app/models/concerns/foreman_bootdisk/host_ext.rb +7 -10
  12. data/app/models/concerns/foreman_bootdisk/orchestration/compute.rb +28 -19
  13. data/app/models/setting/bootdisk.rb +16 -19
  14. data/app/services/foreman_bootdisk/iso_generator.rb +129 -52
  15. data/app/services/foreman_bootdisk/renderer.rb +36 -18
  16. data/app/views/foreman_bootdisk/generic_efi_host.erb +64 -0
  17. data/app/views/foreman_bootdisk/generic_static_host.erb +34 -0
  18. data/app/views/foreman_bootdisk/host.erb +27 -11
  19. data/db/seeds.d/50-bootdisk_templates.rb +15 -31
  20. data/lib/foreman_bootdisk/engine.rb +6 -6
  21. data/lib/foreman_bootdisk/version.rb +1 -1
  22. data/lib/tasks/bootdisk.rake +10 -6
  23. data/locale/action_names.rb +5 -0
  24. data/locale/ca/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  25. data/locale/ca/foreman_bootdisk.po +65 -16
  26. data/locale/de/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  27. data/locale/de/foreman_bootdisk.po +74 -23
  28. data/locale/en/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  29. data/locale/en/foreman_bootdisk.po +58 -10
  30. data/locale/en_GB/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  31. data/locale/en_GB/foreman_bootdisk.po +65 -17
  32. data/locale/es/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  33. data/locale/es/foreman_bootdisk.po +82 -34
  34. data/locale/foreman_bootdisk.pot +124 -48
  35. data/locale/fr/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  36. data/locale/fr/foreman_bootdisk.po +65 -17
  37. data/locale/it/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  38. data/locale/it/foreman_bootdisk.po +63 -15
  39. data/locale/ja/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  40. data/locale/ja/foreman_bootdisk.po +64 -16
  41. data/locale/ko/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  42. data/locale/ko/foreman_bootdisk.po +63 -15
  43. data/locale/pt_BR/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  44. data/locale/pt_BR/foreman_bootdisk.po +76 -27
  45. data/locale/ru/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  46. data/locale/ru/foreman_bootdisk.po +63 -15
  47. data/locale/sv_SE/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  48. data/locale/sv_SE/foreman_bootdisk.po +61 -13
  49. data/locale/zh_CN/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  50. data/locale/zh_CN/foreman_bootdisk.po +79 -31
  51. data/locale/zh_TW/LC_MESSAGES/foreman_bootdisk.mo +0 -0
  52. data/locale/zh_TW/foreman_bootdisk.po +63 -15
  53. data/release-gem +84 -0
  54. data/test/functional/foreman_bootdisk/api/v2/disks_controller_test.rb +51 -17
  55. data/test/functional/foreman_bootdisk/api/v2/subnet_disks_controller_test.rb +23 -10
  56. data/test/functional/foreman_bootdisk/disks_controller_test.rb +65 -25
  57. data/test/test_plugin_helper.rb +23 -3
  58. data/test/unit/concerns/host_test.rb +12 -1
  59. data/test/unit/concerns/orchestration/compute_test.rb +32 -13
  60. data/test/unit/foreman_bootdisk/renderer_test.rb +1 -1
  61. data/test/unit/iso_generator_test.rb +16 -7
  62. metadata +65 -4
@@ -5,33 +5,67 @@ require 'test_plugin_helper'
5
5
  class ForemanBootdisk::Api::V2::DisksControllerTest < ActionController::TestCase
6
6
  include ForemanBootdiskTestHelper
7
7
  setup :setup_bootdisk
8
+ setup :setup_referer
9
+ setup :setup_org_loc
8
10
 
9
- test 'should generate generic image' do
10
- ForemanBootdisk::ISOGenerator.expects(:generate).with(has_entry(ipxe: regexp_matches(/disk generic host template/))).yields('temp ISO')
11
- @controller.expects(:read_file).with('temp ISO').returns('ISO image')
11
+ def perform_generic_generate
12
+ tmp = create_tempfile
13
+ ForemanBootdisk::ISOGenerator.expects(:generate).yields(create_tempfile.path)
12
14
  get :generic
13
15
  assert_response :success
14
- assert_equal 'ISO image', @response.body
16
+ ensure
17
+ tmp.unlink
15
18
  end
16
19
 
17
- describe '#host' do
18
- setup :setup_referer
19
- setup :setup_host_env
20
+ def perform_host_generate
21
+ tmp = create_tempfile
22
+ ForemanBootdisk::ISOGenerator.expects(:generate).yields(create_tempfile.path)
23
+ get :host, params: { id: @host.name }
24
+ assert_response :success
25
+ ensure
26
+ tmp.unlink
27
+ end
28
+
29
+ def perform_full_host_generate
30
+ tmp = create_tempfile
31
+ ForemanBootdisk::ISOGenerator.expects(:generate_full_host).yields(create_tempfile.path)
32
+ get :host, params: { id: @host.name, full: true }
33
+ assert_response :success
34
+ ensure
35
+ tmp.unlink
36
+ end
37
+
38
+ describe '#generic with TFTP' do
39
+ setup :setup_subnet_with_tftp
40
+ setup :setup_host
41
+
42
+ test 'should generate generic image' do
43
+ perform_generic_generate
44
+ end
45
+
46
+ test 'should generate host image' do
47
+ perform_host_generate
48
+ end
49
+
50
+ test 'should generate full host image' do
51
+ perform_full_host_generate
52
+ end
53
+ end
54
+
55
+ describe '#subnet_host with TFTP and HTTPBOOT' do
56
+ setup :setup_subnet_with_tftp_httpboot_template
57
+ setup :setup_host
58
+
59
+ test 'should generate generic image' do
60
+ perform_generic_generate
61
+ end
20
62
 
21
63
  test 'should generate host image' do
22
- ForemanBootdisk::ISOGenerator.expects(:generate).with(has_entry(ipxe: regexp_matches(/disk host template/))).yields('temp ISO')
23
- @controller.expects(:read_file).with('temp ISO').returns('ISO image')
24
- get :host, params: { id: @host.name }
25
- assert_response :success
26
- assert_equal 'ISO image', @response.body
64
+ perform_host_generate
27
65
  end
28
66
 
29
67
  test 'should generate full host image' do
30
- ForemanBootdisk::ISOGenerator.expects(:generate_full_host).with(@host).yields('temp ISO')
31
- @controller.expects(:read_file).with('temp ISO').returns('ISO image')
32
- get :host, params: { id: @host.name, full: true }
33
- assert_response :success
34
- assert_equal 'ISO image', @response.body
68
+ perform_full_host_generate
35
69
  end
36
70
  end
37
71
 
@@ -5,20 +5,33 @@ require 'test_plugin_helper'
5
5
  class ForemanBootdisk::Api::V2::SubnetDisksControllerTest < ActionController::TestCase
6
6
  include ForemanBootdiskTestHelper
7
7
  setup :setup_bootdisk
8
+ setup :setup_referer
9
+ setup :setup_org_loc
8
10
 
9
- describe '#subnet_host' do
10
- setup :setup_referer
11
- setup :setup_org_loc
12
- setup :setup_subnet
11
+ def perform_subnet_generate
12
+ tmp = create_tempfile
13
+ ForemanBootdisk::ISOGenerator.expects(:generate).yields(create_tempfile.path)
14
+ get :subnet, params: { id: @host.subnet.id }
15
+ assert_response :success
16
+ ensure
17
+ tmp.unlink
18
+ end
19
+
20
+ describe '#subnet_host with TFTP' do
21
+ setup :setup_subnet_with_tftp
22
+ setup :setup_host
23
+
24
+ test 'should generate subnet generic host image' do
25
+ perform_subnet_generate
26
+ end
27
+ end
28
+
29
+ describe '#subnet_host with TFTP and HTTPBOOT' do
30
+ setup :setup_subnet_with_tftp_httpboot_template
13
31
  setup :setup_host
14
32
 
15
33
  test 'should generate subnet generic host image' do
16
- ForemanBootdisk::ISOGenerator.expects(:generate).with(has_entry(ipxe: regexp_matches(/disk generic host template/))).yields('temp ISO')
17
- ForemanBootdisk::Renderer.any_instance.stubs(:bootdisk_chain_url).yields('http://smart-proxy.lan')
18
- File.expects(:read).with('temp ISO').returns('ISO image')
19
- get :subnet, params: { id: @host.subnet.id }
20
- assert_response :success
21
- assert_equal 'ISO image', @response.body
34
+ perform_subnet_generate
22
35
  end
23
36
  end
24
37
  end
@@ -5,45 +5,85 @@ require 'test_plugin_helper'
5
5
  class ForemanBootdisk::DisksControllerTest < ActionController::TestCase
6
6
  include ForemanBootdiskTestHelper
7
7
  setup :setup_bootdisk
8
+ setup :setup_referer
9
+ setup :setup_org_loc
8
10
 
9
- test 'should generate generic image' do
10
- ForemanBootdisk::ISOGenerator.expects(:generate).with(has_entry(ipxe: regexp_matches(/disk generic host template/))).yields('temp ISO')
11
- @controller.expects(:read_file).with('temp ISO').returns('ISO image')
11
+ def perform_generic_generate
12
+ tmp = create_tempfile
13
+ ForemanBootdisk::ISOGenerator.expects(:generate).yields(create_tempfile.path)
12
14
  get :generic, session: set_session_user
13
15
  assert_response :success
14
- assert_equal 'ISO image', @response.body
16
+ ensure
17
+ tmp.unlink
15
18
  end
16
19
 
17
- describe '#host' do
18
- setup :setup_referer
19
- setup :setup_org_loc
20
- setup :setup_subnet
20
+ def perform_host_generate
21
+ tmp = create_tempfile
22
+ ForemanBootdisk::ISOGenerator.expects(:generate).yields(create_tempfile.path)
23
+ get :host, params: { id: @host.name }, session: set_session_user
24
+ assert_response :success
25
+ ensure
26
+ tmp.unlink
27
+ end
28
+
29
+ def perform_full_host_generate
30
+ tmp = create_tempfile
31
+ ForemanBootdisk::ISOGenerator.expects(:generate_full_host).yields(create_tempfile.path)
32
+ get :full_host, params: { id: @host.name }, session: set_session_user
33
+ assert_response :success
34
+ ensure
35
+ tmp.unlink
36
+ end
37
+
38
+ def perform_subnet_generate
39
+ tmp = create_tempfile
40
+ ForemanBootdisk::ISOGenerator.expects(:generate).yields(create_tempfile.path)
41
+ get :subnet, params: { id: @host.name }, session: set_session_user
42
+ assert_empty flash[:error]
43
+ assert_response :success
44
+ ensure
45
+ tmp.unlink
46
+ end
47
+
48
+ describe '#generic with TFTP' do
49
+ setup :setup_subnet_with_tftp
21
50
  setup :setup_host
22
51
 
52
+ test 'should generate generic image' do
53
+ perform_generic_generate
54
+ end
55
+
23
56
  test 'should generate host image' do
24
- ForemanBootdisk::ISOGenerator.expects(:generate).with(has_entry(ipxe: regexp_matches(/disk host template/))).yields('temp ISO')
25
- @controller.expects(:read_file).with('temp ISO').returns('ISO image')
26
- get :host, params: { id: @host.name }, session: set_session_user
27
- assert_response :success
28
- assert_equal 'ISO image', @response.body
57
+ perform_host_generate
29
58
  end
30
59
 
31
60
  test 'should generate full host image' do
32
- ForemanBootdisk::ISOGenerator.expects(:generate_full_host).with(@host).yields('temp ISO')
33
- @controller.expects(:read_file).with('temp ISO').returns('ISO image')
34
- get :full_host, params: { id: @host.name }, session: set_session_user
35
- assert_response :success
36
- assert_equal 'ISO image', @response.body
61
+ perform_full_host_generate
37
62
  end
38
63
 
39
64
  test 'should generate subnet image' do
40
- ForemanBootdisk::ISOGenerator.expects(:generate).with(has_entry(ipxe: regexp_matches(/disk generic host template/))).yields('temp ISO')
41
- ForemanBootdisk::Renderer.any_instance.stubs(:bootdisk_chain_url).yields('http://smart-proxy.lan')
42
- @controller.expects(:read_file).with('temp ISO').returns('ISO image')
43
- get :subnet, params: { id: @host.name }, session: set_session_user
44
- assert_empty flash[:error]
45
- assert_response :success
46
- assert_equal 'ISO image', @response.body
65
+ perform_subnet_generate
66
+ end
67
+ end
68
+
69
+ describe '#subnet_host with TFTP and HTTPBOOT' do
70
+ setup :setup_subnet_with_tftp_httpboot_template
71
+ setup :setup_host
72
+
73
+ test 'should generate generic image' do
74
+ perform_generic_generate
75
+ end
76
+
77
+ test 'should generate host image' do
78
+ perform_host_generate
79
+ end
80
+
81
+ test 'should generate full host image' do
82
+ perform_full_host_generate
83
+ end
84
+
85
+ test 'should generate subnet image' do
86
+ perform_subnet_generate
47
87
  end
48
88
  end
49
89
 
@@ -1,17 +1,27 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'test_helper'
4
+ require 'webmock/minitest'
5
+ require 'webmock'
4
6
 
5
7
  module ForemanBootdiskTestHelper
8
+ def create_tempfile
9
+ file = Tempfile.new('bootdisk-test', '/tmp')
10
+ file.close
11
+ file
12
+ end
13
+
6
14
  def setup_bootdisk
15
+ ForemanBootdisk::Scope::Bootdisk.any_instance.stubs(:bootdisk_chain_url).returns('http://smart-proxy.example.com/unattended/iPXE?mac=')
7
16
  setup_routes
8
17
  setup_settings
9
18
  setup_templates
10
19
  end
11
20
 
21
+ # TODO remove me
12
22
  def setup_host_env
13
23
  setup_org_loc
14
- setup_subnet
24
+ setup_subnet_with_tftp
15
25
  setup_host
16
26
  end
17
27
 
@@ -37,7 +47,17 @@ module ForemanBootdiskTestHelper
37
47
  @loc = FactoryBot.create(:location)
38
48
  end
39
49
 
40
- def setup_subnet
50
+ def setup_subnet_with_tftp_httpboot_template
51
+ ProxyAPI::V2::Features.any_instance.stubs(:features).returns(:httpboot => { :settings => { :https_port => 1234 }, :state => 'running' }, :templates => {}, :tftp => {})
52
+ SmartProxy.any_instance.stubs(:httpboot_http_port).returns('8888')
53
+ SmartProxy.any_instance.stubs(:httpboot_https_port).returns('9999')
54
+
55
+ proxy = FactoryBot.create(:smart_proxy, features: [FactoryBot.create(:tftp_feature), FactoryBot.create(:feature, :templates), FactoryBot.create(:feature, :httpboot)])
56
+ proxy.reload
57
+ setup_subnet_no_tftp.update! tftp: proxy, httpboot: proxy, template: proxy
58
+ end
59
+
60
+ def setup_subnet_with_tftp
41
61
  tftp_proxy = FactoryBot.create(:smart_proxy, features: [FactoryBot.create(:tftp_feature)])
42
62
  setup_subnet_no_tftp.update! tftp: tftp_proxy
43
63
  end
@@ -47,6 +67,6 @@ module ForemanBootdiskTestHelper
47
67
  end
48
68
 
49
69
  def setup_host
50
- @host = FactoryBot.create(:host, :managed, subnet: @subnet, ip: @subnet.network.sub(/0$/, '4'), organization: @org, location: @loc)
70
+ @host = FactoryBot.create(:host, :managed, subnet: @subnet, ip: @subnet.network.sub(/0$/, '4'), organization: @org, location: @loc, build: true)
51
71
  end
52
72
  end
@@ -36,7 +36,7 @@ module ForemanBootdisk
36
36
  test 'host should not have bootdisk' do
37
37
  if unattended?
38
38
  h = FactoryBot.create(:host)
39
- assert_equal false, h.bootdisk?
39
+ assert_not(h.bootdisk?)
40
40
  end
41
41
  end
42
42
 
@@ -69,5 +69,16 @@ module ForemanBootdisk
69
69
  assert host.bootdisk_downloadable?
70
70
  end
71
71
  end
72
+
73
+ context '#bootdisk_build?' do
74
+ test 'should be false for hosts without bootdisk' do
75
+ host = FactoryBot.create(:host)
76
+ assert_not host.bootdisk_build?
77
+ end
78
+
79
+ test 'should be available in safe mode' do
80
+ assert Host::Managed::Jail.allowed?(:bootdisk_build?)
81
+ end
82
+ end
72
83
  end
73
84
  end
@@ -22,29 +22,48 @@ module ForemanBootdisk
22
22
  @host.send(:setAttachIsoImage)
23
23
  end
24
24
 
25
- test 'provisioning a host with provision method bootdisk should queue bootdisk tasks' do
25
+ test 'provisioning a host with provision method bootdisk should detach iso' do
26
+ @cr.expects(:iso_detach)
27
+ @host.send(:setDetachIsoImage)
28
+ end
29
+
30
+ test 'provisioning a new host with provision method bootdisk should queue bootdisk tasks' do
26
31
  @host.stubs(:compute?).returns(true)
32
+ @host.stubs(:build?).returns(true)
27
33
  @host.send(:queue_bootdisk_compute)
28
34
  tasks = @host.queue.all.map(&:name)
29
35
  assert_includes tasks, "Generating ISO image for #{@host.name}"
30
36
  assert_includes tasks, "Upload ISO image to datastore for #{@host.name}"
31
37
  assert_includes tasks, "Attach ISO image to CDROM drive for #{@host.name}"
38
+ assert_not_includes tasks, "Detach ISO image from CDROM drive for #{@host.name}"
32
39
  end
33
40
 
34
- test 'should rebuild bootdisk' do
35
- @host.expects(:bootdisk_generate_iso_image).returns(true)
36
- @host.expects(:bootdisk_upload_iso).returns(true)
37
- @host.expects(:bootdisk_attach_iso).returns(true)
38
- assert @host.rebuild_with_bootdisk
41
+ test 'rebuilding a host with provision method bootdisk should queue bootdisk tasks' do
42
+ @host.stubs(:compute?).returns(true)
43
+ old = stub()
44
+ old.stubs(:build?).returns(false)
45
+ @host.stubs(:old).returns(old)
46
+ @host.stubs(:build?).returns(true)
47
+ @host.send(:queue_bootdisk_compute)
48
+ tasks = @host.queue.all.map(&:name)
49
+ assert_includes tasks, "Generating ISO image for #{@host.name}"
50
+ assert_includes tasks, "Upload ISO image to datastore for #{@host.name}"
51
+ assert_includes tasks, "Attach ISO image to CDROM drive for #{@host.name}"
52
+ assert_not_includes tasks, "Detach ISO image from CDROM drive for #{@host.name}"
39
53
  end
40
54
 
41
- test 'should skip rebuild bootdisk' do
42
- host = FactoryBot.build(:host,
43
- compute_resource: @cr)
44
- host.expects(:bootdisk_generate_iso_image).never
45
- host.expects(:bootdisk_upload_iso).never
46
- host.expects(:bootdisk_attach_iso).never
47
- assert host.rebuild_with_bootdisk
55
+ test 'the iso should be detached when the host leaves build mode' do
56
+ @host.stubs(:compute?).returns(true)
57
+ old = stub()
58
+ old.stubs(:build?).returns(true)
59
+ @host.stubs(:old).returns(old)
60
+ @host.stubs(:build?).returns(false)
61
+ @host.send(:queue_bootdisk_compute)
62
+ tasks = @host.queue.all.map(&:name)
63
+ assert_not_includes tasks, "Generating ISO image for #{@host.name}"
64
+ assert_not_includes tasks, "Upload ISO image to datastore for #{@host.name}"
65
+ assert_not_includes tasks, "Attach ISO image to CDROM drive for #{@host.name}"
66
+ assert_includes tasks, "Detach ISO image from CDROM drive for #{@host.name}"
48
67
  end
49
68
  end
50
69
  end
@@ -21,7 +21,7 @@ module ForemanBootdisk
21
21
 
22
22
  test 'does not include a host token' do
23
23
  rendered_template = renderer.generic_template_render
24
- assert_includes rendered_template, 'http://foreman.some.host.fqdn/unattended/iPXE?mac=${net0/mac}'
24
+ assert_includes rendered_template, 'http://smart-proxy.example.com/unattended/iPXE?mac=${net0/mac}'
25
25
  assert_not_includes rendered_template, 'token'
26
26
  end
27
27
  end
@@ -11,10 +11,22 @@ module ForemanBootdisk
11
11
  let(:medium) { FactoryBot.create(:medium, name: 'Red Hat Enterprise Linux Atomic Mirror') }
12
12
  let(:operatingsystem) { FactoryBot.create(:ubuntu14_10, :with_archs, :with_ptables, media: [medium]) }
13
13
  let(:host) { FactoryBot.create(:host, :managed, operatingsystem: operatingsystem, build: true) }
14
- let(:template) { FactoryBot.create(:provisioning_template, template: 'Fake kernel line <%= @kernel %> - <%= @initrd %>') }
14
+ let(:pxelinux_template) { FactoryBot.create(:provisioning_template, template: 'Fake kernel line <%= @kernel %> - <%= @initrd %>') }
15
+ let(:pxegrub2_template) { FactoryBot.create(:provisioning_template, template: 'Fake kernel line <%= @kernel %> - <%= @initrd %>') }
15
16
 
16
17
  setup do
17
- host.expects(:provisioning_template).with(kind: :PXELinux).returns(template)
18
+ host.stubs(:provisioning_template).with(kind: :PXELinux).returns(pxelinux_template)
19
+ host.stubs(:provisioning_template).with(kind: :PXEGrub2).returns(pxegrub2_template)
20
+ end
21
+
22
+ test 'fetch handles redirect' do
23
+ Dir.mktmpdir do |dir|
24
+ url = 'http://example.com/request'
25
+ redirection = 'http://example.com/redirect'
26
+ stub_request(:get, url).to_return(status: 301, headers: { 'Location' => redirection })
27
+ stub_request(:get, redirection)
28
+ ForemanBootdisk::ISOGenerator.fetch(File.join(dir, 'test'), url)
29
+ end
18
30
  end
19
31
 
20
32
  test 'generate_full_host creates with ISO-compatible file names' do
@@ -30,11 +42,8 @@ module ForemanBootdisk
30
42
  )
31
43
  initrd_url = urls[:initrd]
32
44
 
33
- ForemanBootdisk::ISOGenerator.expects(:generate).with({
34
- isolinux: "Fake kernel line #{kernel} - #{initrd}",
35
- files: { kernel => kernel_url,
36
- initrd => initrd_url }
37
- }, anything)
45
+ ForemanBootdisk::ISOGenerator.expects(:generate)
46
+ .with({ isolinux: "Fake kernel line #{kernel} - #{initrd}", grub: "Fake kernel line /#{kernel} - /#{initrd}", files: { kernel => kernel_url, initrd => initrd_url } }, anything)
38
47
 
39
48
  ForemanBootdisk::ISOGenerator.generate_full_host(host)
40
49
  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: 14.0.0
4
+ version: 17.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dominic Cleal
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-11-06 00:00:00.000000000 Z
11
+ date: 2020-06-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubocop
@@ -24,6 +24,62 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rubocop-minitest
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rubocop-performance
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rubocop-rails
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: webmock
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
27
83
  description: Plugin for Foreman that creates iPXE-based boot disks to provision hosts
28
84
  without the need for PXE infrastructure.
29
85
  email: dcleal@redhat.com
@@ -35,6 +91,7 @@ extra_rdoc_files:
35
91
  - README.md
36
92
  files:
37
93
  - ".tx/config"
94
+ - AUTHORS
38
95
  - CHANGES.md
39
96
  - LICENSE
40
97
  - README.md
@@ -45,6 +102,7 @@ files:
45
102
  - app/helpers/concerns/foreman_bootdisk/hosts_helper_ext.rb
46
103
  - app/lib/foreman_bootdisk/scope/bootdisk.rb
47
104
  - app/lib/foreman_bootdisk/scope/full_host_bootdisk.rb
105
+ - app/lib/foreman_bootdisk/scope/full_host_bootdisk_efi.rb
48
106
  - app/models/concerns/foreman_bootdisk/compute_resources/vmware.rb
49
107
  - app/models/concerns/foreman_bootdisk/host_ext.rb
50
108
  - app/models/concerns/foreman_bootdisk/orchestration/compute.rb
@@ -52,7 +110,9 @@ files:
52
110
  - app/services/foreman_bootdisk/iso_generator.rb
53
111
  - app/services/foreman_bootdisk/renderer.rb
54
112
  - app/views/foreman_bootdisk/disks/help.html.erb
113
+ - app/views/foreman_bootdisk/generic_efi_host.erb
55
114
  - app/views/foreman_bootdisk/generic_host.erb
115
+ - app/views/foreman_bootdisk/generic_static_host.erb
56
116
  - app/views/foreman_bootdisk/host.erb
57
117
  - app/views/hosts/provision_method/bootdisk/_form.html.erb
58
118
  - config/routes.rb
@@ -70,6 +130,7 @@ files:
70
130
  - lib/foreman_bootdisk/version.rb
71
131
  - lib/tasks/bootdisk.rake
72
132
  - locale/Makefile
133
+ - locale/action_names.rb
73
134
  - locale/ca/LC_MESSAGES/foreman_bootdisk.mo
74
135
  - locale/ca/foreman_bootdisk.po
75
136
  - locale/de/LC_MESSAGES/foreman_bootdisk.mo
@@ -101,6 +162,7 @@ files:
101
162
  - locale/zh_CN/foreman_bootdisk.po
102
163
  - locale/zh_TW/LC_MESSAGES/foreman_bootdisk.mo
103
164
  - locale/zh_TW/foreman_bootdisk.po
165
+ - release-gem
104
166
  - test/functional/foreman_bootdisk/api/v2/disks_controller_test.rb
105
167
  - test/functional/foreman_bootdisk/api/v2/subnet_disks_controller_test.rb
106
168
  - test/functional/foreman_bootdisk/disks_controller_test.rb
@@ -133,8 +195,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
133
195
  - !ruby/object:Gem::Version
134
196
  version: '0'
135
197
  requirements: []
136
- rubyforge_project:
137
- rubygems_version: 2.7.6
198
+ rubygems_version: 3.0.3
138
199
  signing_key:
139
200
  specification_version: 4
140
201
  summary: Create boot disks to provision hosts with Foreman