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
@@ -1,32 +1,29 @@
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
6
  msgid ""
7
7
  msgstr ""
8
- "Project-Id-Version: foreman_bootdisk 6.0.0\n"
8
+ "Project-Id-Version: Foreman\n"
9
9
  "Report-Msgid-Bugs-To: \n"
10
- "POT-Creation-Date: 2015-02-20 11:19+0000\n"
11
- "PO-Revision-Date: 2015-02-20 11:24+0000\n"
12
- "Last-Translator: Dominic Cleal <dominic@cleal.org>\n"
13
- "Language-Team: Chinese (Taiwan) (http://www.transifex.com/foreman/foreman/language/zh_TW/)\n"
10
+ "PO-Revision-Date: 2016-03-24 09:54+0000\n"
11
+ "Last-Translator: Lukáš Zapletal\n"
12
+ "Language-Team: Chinese (Taiwan) (http://www.transifex.com/foreman/foreman/lang"
13
+ "uage/zh_TW/)\n"
14
14
  "MIME-Version: 1.0\n"
15
15
  "Content-Type: text/plain; charset=UTF-8\n"
16
16
  "Content-Transfer-Encoding: 8bit\n"
17
17
  "Language: zh_TW\n"
18
18
  "Plural-Forms: nplurals=1; plural=0;\n"
19
19
 
20
- msgid ""
21
- "A variant of the per-host image which contains the OS bootloader embedded "
22
- "inside the disk. This may be useful if chainloading fails on certain "
23
- "hardware, but has the downside that the image must be regenerated for any "
24
- "change in the OS, bootloader or templates."
20
+ 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."
25
21
  msgstr ""
26
22
 
27
- msgid ""
28
- "All images are usable as either ISOs or as disk images, including being "
29
- "written to a USB disk with `dd`."
23
+ msgid "All images are usable as either ISOs or as disk images, including being written to a USB disk with `dd`."
24
+ msgstr "所有映像檔皆能作為 ISO 或是磁碟映像檔使用,包括以 `dd` 寫入一個 USB 磁碟中。"
25
+
26
+ msgid "Attach ISO image to CDROM drive for %s"
30
27
  msgstr ""
31
28
 
32
29
  msgid "Back"
@@ -36,40 +33,49 @@ msgid "Boot disk"
36
33
  msgstr "開機磁碟"
37
34
 
38
35
  msgid "Boot disks"
39
- msgstr ""
36
+ msgstr "開機磁碟"
40
37
 
41
- msgid ""
42
- "Bootdisk is not supported with safemode rendering, please disable "
43
- "safemode_render under Adminster>Settings"
44
- msgstr "開機磁碟不支援 safemode rendering,請在「管理」>「設定」下停用 safemode_render"
38
+ msgid "Bootdisk Based"
39
+ msgstr ""
45
40
 
46
41
  msgid "Command to generate ISO image, use genisoimage or mkisofs"
47
42
  msgstr "請使用 genisoimage 或是 mkisofs 來作為產生 ISO 映像檔的指令"
48
43
 
49
44
  msgid "Download generic image"
50
- msgstr ""
45
+ msgstr "下載泛型映像檔"
51
46
 
52
47
  msgid "Download host image"
48
+ msgstr "下載主機映像檔"
49
+
50
+ msgid "Download subnet generic image"
53
51
  msgstr ""
54
52
 
55
- msgid "Failed to render boot disk template: %s"
56
- msgstr "轉譯開機磁碟範本失敗:%s"
53
+ msgid "Failed to attach ISO image to CDROM drive of instance %{name}: %{message}"
54
+ msgstr ""
57
55
 
58
- msgid "Full host '%s' image"
56
+ msgid "Failed to generate ISO image for instance %{name}: %{message}"
59
57
  msgstr ""
60
58
 
59
+ msgid "Failed to render boot disk template"
60
+ msgstr ""
61
+
62
+ msgid "Failed to upload ISO image for instance %{name}: %{message}"
63
+ msgstr ""
64
+
65
+ msgid "Full host '%s' image"
66
+ msgstr "完整的主機 '%s' 映像檔"
67
+
61
68
  msgid "Full host image"
69
+ msgstr "完整的主機映像檔"
70
+
71
+ msgid "Generating ISO image for %s"
62
72
  msgstr ""
63
73
 
64
74
  msgid "Generic image"
65
75
  msgstr "泛型映像檔"
66
76
 
67
- msgid ""
68
- "Generic images are a reusable disk image that works for any host registered "
69
- "in Foreman. It requires a basic DHCP and DNS service to function and "
70
- "contact the server, but does not require DHCP reservations or static IP "
71
- "addresses."
72
- msgstr ""
77
+ 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."
78
+ msgstr "泛型映像檔是個可重複使用的磁碟映像檔,並且可使用於任何向 Foreman 註冊過的主機上。它需要一項基本的 DHCP DNS 服務才能運作和聯絡伺服器,不過並不需要 DHCP 預留或靜態 IP 位址。"
73
79
 
74
80
  msgid "Help"
75
81
  msgstr "協助"
@@ -90,10 +96,10 @@ msgid "Host has no subnet defined"
90
96
  msgstr "主機尚未定義子網路"
91
97
 
92
98
  msgid "Host image"
93
- msgstr ""
99
+ msgstr "主機映像檔"
94
100
 
95
101
  msgid "Host is not in build mode, so the template cannot be rendered"
96
- msgstr ""
102
+ msgstr "主機不在組建模式下,因此無法編寫範本"
97
103
 
98
104
  msgid "ISO build failed"
99
105
  msgstr "建立 ISO 失敗"
@@ -102,13 +108,10 @@ msgid "ISO hybrid conversion failed"
102
108
  msgstr "ISO 混合式轉換失敗"
103
109
 
104
110
  msgid "Installation media files will be cached for full host images"
105
- msgstr ""
111
+ msgstr "安裝媒介檔案將會被快取以作為完整的主機映像檔"
106
112
 
107
- msgid ""
108
- "Once chainloaded, the OS bootloader and installer are downloaded directly "
109
- "from the installation media configured in Foreman, and the provisioning "
110
- "script (kickstart/preseed) is downloaded from Foreman."
111
- msgstr ""
113
+ 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."
114
+ msgstr " chainload 之後,OS 開機載入程式和安裝程式將會直接從 Foreman 中所配置的安裝媒介下載,而佈建 script(kickstart/preseed)則會由 Foreman 下載。"
112
115
 
113
116
  msgid "Path to directory containing iPXE images"
114
117
  msgstr "包含 iPXE 映像檔的目錄之路徑"
@@ -116,19 +119,16 @@ msgstr "包含 iPXE 映像檔的目錄之路徑"
116
119
  msgid "Path to directory containing syslinux images"
117
120
  msgstr "包含 syslinux 映像檔的目錄之路徑"
118
121
 
119
- msgid ""
120
- "Per-host images contain data about a particular host registered in Foreman "
121
- "and set up fully static networking, avoiding the requirement for DHCP. "
122
- "After networking is configured, they chainload from Foreman, picking up the "
123
- "current OS configuration and build state from the server."
124
- msgstr ""
122
+ 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."
123
+ msgstr "個別主機的映像檔包含了有關於向 Foreman 註冊的特定主機的資料,並且會設置完整靜態的網路,以避免需要使用到 DHCP。在配置了網路後,它們便會由 Foreman 進行 chainload,取得目前的 OS 配置,並由伺服器建立狀態。"
125
124
 
126
125
  msgid "Please ensure the ipxe-bootimgs and syslinux packages are installed."
127
126
  msgstr "請確認 ipxe-bootimgs 和 syslinux 套件已安裝。"
128
127
 
129
- msgid ""
130
- "Plugin for Foreman that creates iPXE-based boot disks to provision hosts "
131
- "without the need for PXE infrastructure."
128
+ msgid "Plugin for Foreman that creates iPXE-based boot disks to provision hosts without the need for PXE infrastructure."
129
+ msgstr "能建立基於 iPXE 的開機磁碟的 Foreman 外掛程式,以在不需要 PXE 設備的情況下佈建主機。"
130
+
131
+ msgid "Subnet '%s' generic image"
132
132
  msgstr ""
133
133
 
134
134
  msgid "Subnet (%s) has no gateway defined"
@@ -137,28 +137,42 @@ msgstr "子網路(%s)尚未定義閘道器"
137
137
  msgid "Subnet (%s) has no primary DNS server defined"
138
138
  msgstr "子網路(%s)尚未定義主 DNS 伺服器"
139
139
 
140
- msgid ""
141
- "The OS install continues using the installation media configured in Foreman,"
142
- " and it will typically configure static networking, depending on how the OS "
143
- "iPXE template is configured."
140
+ msgid "Subnet boot disks"
144
141
  msgstr ""
145
142
 
146
- msgid "True for full, false for basic reusable image"
143
+ msgid "Subnet image"
144
+ msgstr ""
145
+
146
+ 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."
147
+ msgstr ""
148
+
149
+ msgid "Subnet is not assigned to the host %s"
150
+ msgstr ""
151
+
152
+ msgid "TFTP feature not enabled for subnet %s"
153
+ msgstr ""
154
+
155
+ 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."
156
+ msgstr "OS 安裝程序會繼續使用配置於 Foreman 中的安裝媒介,並且它一般會根據 OS iPXE 範本的配置方法來配置靜態網路。"
157
+
158
+ msgid "This image is generic for all hosts with a provisioning NIC on that subnet."
147
159
  msgstr ""
148
160
 
161
+ msgid "True for full, false for basic reusable image"
162
+ msgstr "「true」代表完整,「false」則代表可重複使用的基本映像檔"
163
+
149
164
  msgid "Unable to find template specified by %s setting"
150
165
  msgstr "找不到 %s 設定所指定的範本"
151
166
 
152
167
  msgid "Unable to generate disk template: %s"
153
- msgstr ""
168
+ msgstr "無法產生磁碟範本:%s"
154
169
 
155
- msgid ""
156
- "Various types of boot disks can be created to provision hosts without the "
157
- "need for PXE services. Boot disks can be attached to the host (physical or "
158
- "virtual) which boots from the disk, contacts Foreman and begins the OS "
159
- "installation."
170
+ msgid "Upload ISO image to datastore for %s"
160
171
  msgstr ""
161
172
 
173
+ 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."
174
+ msgstr "您可建立各種不同類型的開機磁碟來在不使用 PXE 服務的情況下佈建主機。開機磁碟能連接至由磁碟開機的主機(實體或虛擬),聯絡 Foreman 並開始進行 OS 的安裝程序。"
175
+
162
176
  msgid "iPXE template to use for generic host boot disks"
163
177
  msgstr "使用來作為泛型主機開機磁碟的 iPXE 範本"
164
178
 
@@ -0,0 +1,76 @@
1
+ require 'test_plugin_helper'
2
+
3
+ class ForemanBootdisk::VmwareTest < ActiveSupport::TestCase
4
+ describe "#create_vm" do
5
+ setup do
6
+ @cr = FactoryGirl.build(:vmware_cr)
7
+ @cr.stubs(:test_connection)
8
+ end
9
+
10
+ test "does not call clone_vm when bootdisk provisioning" do
11
+ args = { "provision_method" => "bootdisk" }
12
+ mock_vm = mock('vm')
13
+ mock_vm.expects(:save).returns(mock_vm)
14
+ @cr.stubs(:parse_networks).returns(args)
15
+ @cr.expects(:clone_vm).times(0)
16
+ @cr.expects(:new_vm).returns(mock_vm)
17
+ @cr.create_vm(args)
18
+ end
19
+ end
20
+
21
+ describe "#new_vm" do
22
+ setup do
23
+ @cr = FactoryGirl.build(:vmware_cr)
24
+ end
25
+
26
+ test "calls client with cdrom drive and correct boot order when bootdisk provisioning" do
27
+ args = { "provision_method" => "bootdisk" }
28
+ mock_client = mock('client')
29
+ mock_servers = mock('servers')
30
+ mock_cdrom = mock('cdrom')
31
+ mock_client.expects(:servers).returns(mock_servers)
32
+ mock_servers.expects(:new).with() do |args|
33
+ assert_equal args[:boot_order], ['cdrom', 'disk']
34
+ assert_includes args[:cdroms], mock_cdrom
35
+ end
36
+ @cr.expects(:new_cdrom).returns(mock_cdrom)
37
+ @cr.expects(:new_interface)
38
+ @cr.expects(:new_volume)
39
+ @cr.expects(:datacenter)
40
+ @cr.expects(:client).returns(mock_client)
41
+ @cr.new_vm(args)
42
+ end
43
+ end
44
+
45
+ describe "#parse_args" do
46
+ setup do
47
+ @cr = FactoryGirl.build(:vmware_cr)
48
+ end
49
+
50
+ test "should add a cdrom drive while keeping other parameters when provision_method is bootdisk" do
51
+ mock_cdrom = mock('cdrom')
52
+ @cr.expects(:new_cdrom).returns(mock_cdrom)
53
+ attrs_in = HashWithIndifferentAccess.new(
54
+ 'cpus' => '1',
55
+ :provision_method => 'bootdisk',
56
+ )
57
+ attrs_out = {
58
+ :cpus => '1',
59
+ :provision_method => 'bootdisk',
60
+ :cdroms => [mock_cdrom],
61
+ :boot_order => ['cdrom', 'disk'],
62
+ }
63
+ assert_equal attrs_out, @cr.parse_args(attrs_in)
64
+ end
65
+ end
66
+
67
+ describe "#capabilities" do
68
+ setup do
69
+ @cr = FactoryGirl.build(:vmware_cr)
70
+ end
71
+
72
+ test "should include bootdisk" do
73
+ assert_includes @cr.capabilities, :bootdisk
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,43 @@
1
+ require 'test_plugin_helper'
2
+
3
+ class ForemanBootdisk::HostTest < ActiveSupport::TestCase
4
+ test "#bootdisk_build? must be true when provision_method is bootdisk" do
5
+ host = FactoryGirl.build(:host, :managed)
6
+ host.provision_method = 'bootdisk'
7
+ assert host.bootdisk_build?
8
+ refute host.image_build?
9
+ refute host.pxe_build?
10
+ end
11
+
12
+ test "#validate_media? must be true when provision_method is bootdisk" do
13
+ host = FactoryGirl.build(:host, :managed,
14
+ :provision_method => "bootdisk",
15
+ :build => true,
16
+ )
17
+ assert host.validate_media?
18
+ end
19
+
20
+ test "#can_be_built? must be true when provision_method is bootdisk" do
21
+ host = FactoryGirl.build(:host, :managed,
22
+ :provision_method => "bootdisk"
23
+ )
24
+ assert host.can_be_built?
25
+ end
26
+
27
+
28
+ test "host should have bootdisk" do
29
+ if unattended?
30
+ h = FactoryGirl.build(:host, :managed,
31
+ :provision_method => "bootdisk"
32
+ )
33
+ assert h.bootdisk?
34
+ end
35
+ end
36
+
37
+ test "host should not have bootdisk" do
38
+ if unattended?
39
+ h = FactoryGirl.create(:host)
40
+ assert_equal false, h.bootdisk?
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,48 @@
1
+ require 'test_plugin_helper'
2
+
3
+ class ForemanBootdisk::OrchestrationComputeTest < ActiveSupport::TestCase
4
+ setup do
5
+ disable_orchestration
6
+ @cr = FactoryGirl.build(:vmware_cr)
7
+ @host = FactoryGirl.build(:host, :managed,
8
+ :compute_resource => @cr,
9
+ :provision_method => "bootdisk",
10
+ )
11
+ end
12
+
13
+ test "provisioning a host with provision method bootdisk should upload iso" do
14
+ @cr.expects(:iso_upload)
15
+ @host.send(:setIsoImage)
16
+ end
17
+
18
+ test "provisioning a host with provision method bootdisk should attach iso" do
19
+ @cr.expects(:iso_attach)
20
+ @host.send(:setAttachIsoImage)
21
+ end
22
+
23
+ test "provisioning a host with provision method bootdisk should queue bootdisk tasks" do
24
+ @host.stubs(:compute?).returns(true)
25
+ @host.send(:queue_bootdisk_compute)
26
+ tasks = @host.queue.all.map { |t| t.name }
27
+ assert_includes tasks, "Generating ISO image for #{@host.name}"
28
+ assert_includes tasks, "Upload ISO image to datastore for #{@host.name}"
29
+ assert_includes tasks, "Attach ISO image to CDROM drive for #{@host.name}"
30
+ end
31
+
32
+ test "should rebuild bootdisk" do
33
+ @host.expects(:bootdisk_generate_iso_image).returns(true)
34
+ @host.expects(:bootdisk_upload_iso).returns(true)
35
+ @host.expects(:bootdisk_attach_iso).returns(true)
36
+ assert @host.rebuild_with_bootdisk
37
+ end
38
+
39
+ test "should skip rebuild bootdisk" do
40
+ host = FactoryGirl.build(:host,
41
+ :compute_resource => @cr
42
+ )
43
+ host.expects(:bootdisk_generate_iso_image).never
44
+ host.expects(:bootdisk_upload_iso).never
45
+ host.expects(:bootdisk_attach_iso).never
46
+ assert host.rebuild_with_bootdisk
47
+ end
48
+ 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: 6.1.0
4
+ version: 7.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dominic Cleal
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-21 00:00:00.000000000 Z
11
+ date: 2016-04-06 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Plugin for Foreman that creates iPXE-based boot disks to provision hosts
14
14
  without the need for PXE infrastructure.
@@ -24,18 +24,22 @@ files:
24
24
  - CHANGES.md
25
25
  - LICENSE
26
26
  - README.md
27
+ - app/assets/javascripts/foreman_bootdisk/host_edit.js
27
28
  - app/controllers/concerns/foreman_bootdisk/unattended_controller_ext.rb
28
29
  - app/controllers/foreman_bootdisk/api/v2/disks_controller.rb
29
30
  - app/controllers/foreman_bootdisk/api/v2/subnet_disks_controller.rb
30
31
  - app/controllers/foreman_bootdisk/disks_controller.rb
31
32
  - app/helpers/concerns/foreman_bootdisk/hosts_helper_ext.rb
33
+ - app/models/concerns/foreman_bootdisk/compute_resources/vmware.rb
32
34
  - app/models/concerns/foreman_bootdisk/host_ext.rb
35
+ - app/models/concerns/foreman_bootdisk/orchestration/compute.rb
33
36
  - app/models/setting/bootdisk.rb
34
37
  - app/services/foreman_bootdisk/iso_generator.rb
35
38
  - app/services/foreman_bootdisk/renderer.rb
36
39
  - app/views/foreman_bootdisk/disks/help.html.erb
37
40
  - app/views/foreman_bootdisk/generic_host.erb
38
41
  - app/views/foreman_bootdisk/host.erb
42
+ - app/views/hosts/provision_method/bootdisk/_form.html.erb
39
43
  - config/routes.rb
40
44
  - config/routes/mount_engine.rb
41
45
  - db/migrate/20130914211030_create_host_bootdisk_template.rb
@@ -85,6 +89,9 @@ files:
85
89
  - test/functional/foreman_bootdisk/api/v2/subnet_disks_controller_test.rb
86
90
  - test/functional/foreman_bootdisk/disks_controller_test.rb
87
91
  - test/test_plugin_helper.rb
92
+ - test/unit/concerns/compute_resources/vmware_test.rb
93
+ - test/unit/concerns/host_test.rb
94
+ - test/unit/concerns/orchestration/compute_test.rb
88
95
  homepage: http://github.com/theforeman/foreman_bootdisk
89
96
  licenses:
90
97
  - GPL-3