foreman_fog_proxmox 0.10.2 → 0.11.0
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.
Potentially problematic release.
This version of foreman_fog_proxmox might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/README.md +46 -12
- data/app/assets/javascripts/foreman_fog_proxmox/proxmox_vm_server.js +0 -22
- data/app/helpers/proxmox_compute_selectors_helper.rb +9 -0
- data/app/helpers/proxmox_server_helper.rb +2 -6
- data/app/helpers/proxmox_vm_helper.rb +2 -2
- data/app/models/concerns/fog_extensions/proxmox/server.rb +1 -0
- data/app/models/foreman_fog_proxmox/proxmox_pools.rb +56 -0
- data/app/models/foreman_fog_proxmox/proxmox_vm_commands.rb +4 -1
- data/app/models/foreman_fog_proxmox/proxmox_vm_new.rb +4 -4
- data/app/models/foreman_fog_proxmox/proxmox_vm_queries.rb +6 -7
- data/app/views/api/v2/compute_resources/proxmox.json.rabl +1 -1
- data/app/views/compute_resources_vms/form/proxmox/_general.html.erb +1 -0
- data/app/views/compute_resources_vms/form/proxmox/server/_config.html.erb +3 -4
- data/app/views/compute_resources_vms/show/_proxmox.html.erb +1 -0
- data/lib/foreman_fog_proxmox/version.rb +1 -1
- data/locale/en/foreman_fog_proxmox.edit.po +46 -26
- data/locale/en/foreman_fog_proxmox.po +18 -3
- data/locale/foreman_fog_proxmox.pot +48 -28
- data/locale/fr/foreman_fog_proxmox.edit.po +50 -27
- data/locale/fr/foreman_fog_proxmox.po +18 -3
- data/test/factories/foreman_fog_proxmox/proxmox_node_mock_factory.rb +6 -0
- data/test/unit/foreman_fog_proxmox/helpers/proxmox_container_helper_test.rb +4 -4
- data/test/unit/foreman_fog_proxmox/helpers/proxmox_server_helper_test.rb +10 -9
- data/test/unit/foreman_fog_proxmox/helpers/proxmox_vm_helper_test.rb +1 -1
- data/test/unit/foreman_fog_proxmox/proxmox_version_test.rb +4 -4
- data/test/unit/foreman_fog_proxmox/proxmox_vm_commands_container_test.rb +14 -0
- data/test/unit/foreman_fog_proxmox/proxmox_vm_commands_server_create_test.rb +14 -0
- data/test/unit/foreman_fog_proxmox/proxmox_vm_commands_server_update_test.rb +91 -0
- data/test/unit/foreman_fog_proxmox/proxmox_vm_queries_test.rb +7 -2
- data/test/unit/foreman_fog_proxmox/semver_test.rb +3 -5
- metadata +20 -19
@@ -32,9 +32,6 @@ msgstr ""
|
|
32
32
|
msgid "Average load (x100)"
|
33
33
|
msgstr "Charge moyenne du serveur (x100)"
|
34
34
|
|
35
|
-
msgid "Ballooning Device"
|
36
|
-
msgstr "Périphérique à gonflement"
|
37
|
-
|
38
35
|
msgid "Boot device order"
|
39
36
|
msgstr ""
|
40
37
|
|
@@ -238,6 +235,9 @@ msgstr "Chemin"
|
|
238
235
|
msgid "Physical"
|
239
236
|
msgstr "Physique"
|
240
237
|
|
238
|
+
msgid "Pool"
|
239
|
+
msgstr ""
|
240
|
+
|
241
241
|
msgid "Power"
|
242
242
|
msgstr "Alimentation"
|
243
243
|
|
@@ -265,6 +265,9 @@ msgstr "Mot de passe root"
|
|
265
265
|
msgid "Rootfs"
|
266
266
|
msgstr ""
|
267
267
|
|
268
|
+
msgid "SCSI Controller"
|
269
|
+
msgstr ""
|
270
|
+
|
268
271
|
msgid "SSL verify peer"
|
269
272
|
msgstr ""
|
270
273
|
|
@@ -349,6 +352,9 @@ msgstr "Autorités de certification X509"
|
|
349
352
|
msgid "add new storage volume"
|
350
353
|
msgstr "ajouter un nouveau volume de stockage"
|
351
354
|
|
355
|
+
msgid "add_vm_to_pool(%<poolid>s, %<vmid>s)"
|
356
|
+
msgstr ""
|
357
|
+
|
352
358
|
msgid "create_vm(): clone %<image_id>s in %<vmid>s"
|
353
359
|
msgstr ""
|
354
360
|
|
@@ -364,6 +370,9 @@ msgstr "par exemple root@pam"
|
|
364
370
|
msgid "failed to create vm: %<e>s"
|
365
371
|
msgstr "échec à la création de la VM: %<e>s"
|
366
372
|
|
373
|
+
msgid "found vm: %<vmid>s member of pool: %<poolid>s"
|
374
|
+
msgstr ""
|
375
|
+
|
367
376
|
msgid "invalid vmid=%<vmid>s"
|
368
377
|
msgstr "vmid=%<vmid>s incorrect"
|
369
378
|
|
@@ -376,11 +385,17 @@ msgstr ""
|
|
376
385
|
msgid "new_vm() vm.config=%<config>s"
|
377
386
|
msgstr ""
|
378
387
|
|
388
|
+
msgid "pool_owner(%<vmid>s)"
|
389
|
+
msgstr ""
|
390
|
+
|
379
391
|
msgid "remove network interface"
|
380
392
|
msgstr "retirer l'interface réseau"
|
381
393
|
|
382
394
|
msgid "remove storage volume"
|
383
395
|
msgstr "retirer le stockage de volume"
|
384
396
|
|
397
|
+
msgid "remove_vm_from_pool(%<poolid>s, %<vmid>s)"
|
398
|
+
msgstr ""
|
399
|
+
|
385
400
|
msgid "vmid of template vm."
|
386
401
|
msgstr "vmid de la VM modèle."
|
@@ -75,6 +75,12 @@ module ForemanFogProxmox
|
|
75
75
|
client = mock('client')
|
76
76
|
client.stubs(:nodes).returns(nodes)
|
77
77
|
cr.stubs(:client).returns(client)
|
78
|
+
identity_client = mock('identity_client')
|
79
|
+
pools = mock('pools')
|
80
|
+
pools.stubs(:select).returns([])
|
81
|
+
pools.stubs(:all).returns([])
|
82
|
+
identity_client.stubs(:pools).returns(pools)
|
83
|
+
cr.stubs(:identity_client).returns(identity_client)
|
78
84
|
cr
|
79
85
|
end
|
80
86
|
end
|
@@ -187,17 +187,17 @@ module ForemanFogProxmox
|
|
187
187
|
deletes = []
|
188
188
|
nics = []
|
189
189
|
add_container_interface(host_delete['interfaces_attributes']['0'], deletes, nics)
|
190
|
-
|
190
|
+
assert_empty nics
|
191
191
|
assert_equal 1, deletes.length
|
192
192
|
assert_equal 'net0', deletes[0]
|
193
193
|
end
|
194
194
|
|
195
195
|
test '#interfaces' do
|
196
196
|
interfaces_to_add, interfaces_to_delete = parse_container_interfaces(host['interfaces_attributes'])
|
197
|
-
|
197
|
+
assert_empty interfaces_to_delete
|
198
198
|
assert_equal 2, interfaces_to_add.length
|
199
|
-
|
200
|
-
|
199
|
+
assert_includes interfaces_to_add, { net0: 'name=eth0,bridge=vmbr0,ip=dhcp,ip6=dhcp,gw=192.168.56.100,gw6=2001:0:1234::c1c0:abcd:876' }
|
200
|
+
assert_includes interfaces_to_add, { net1: 'name=eth1,bridge=vmbr0,ip=dhcp,ip6=dhcp,gw=192.168.56.100,gw6=2001:0:1234::c1c0:abcd:876' }
|
201
201
|
end
|
202
202
|
end
|
203
203
|
end
|
@@ -35,9 +35,8 @@ module ForemanFogProxmox
|
|
35
35
|
'type' => 'qemu',
|
36
36
|
'config_attributes' => {
|
37
37
|
'memory' => '536870912',
|
38
|
-
'
|
39
|
-
'
|
40
|
-
'shares' => '',
|
38
|
+
'balloon' => '268435456',
|
39
|
+
'shares' => '5',
|
41
40
|
'cpu_type' => 'kvm64',
|
42
41
|
'spectre' => '1',
|
43
42
|
'pcid' => '0',
|
@@ -83,6 +82,8 @@ module ForemanFogProxmox
|
|
83
82
|
assert_equal '1', vm['sockets']
|
84
83
|
assert_equal 'cputype=kvm64,flags=+spec-ctrl', vm[:cpu]
|
85
84
|
assert_equal 536_870_912, vm[:memory]
|
85
|
+
assert_equal 268_435_456, vm[:balloon]
|
86
|
+
assert_equal 5, vm[:shares]
|
86
87
|
assert_equal 'local-lvm:1073741824,cache=none', vm[:scsi0]
|
87
88
|
assert_equal 'model=virtio,bridge=vmbr0,firewall=0,link_down=0', vm[:net0]
|
88
89
|
assert_not vm.key?(:config)
|
@@ -111,7 +112,7 @@ module ForemanFogProxmox
|
|
111
112
|
interfaces_to_delete = []
|
112
113
|
interfaces_to_add = []
|
113
114
|
add_server_interface(host['interfaces_attributes']['0'], interfaces_to_delete, interfaces_to_add)
|
114
|
-
|
115
|
+
assert_empty interfaces_to_delete
|
115
116
|
assert_equal 1, interfaces_to_add.length
|
116
117
|
assert interfaces_to_add[0].key?(:net0)
|
117
118
|
assert_equal 'model=virtio,bridge=vmbr0,firewall=0,link_down=0', interfaces_to_add[0][:net0]
|
@@ -121,7 +122,7 @@ module ForemanFogProxmox
|
|
121
122
|
interfaces_to_delete = []
|
122
123
|
interfaces_to_add = []
|
123
124
|
add_server_interface(host['interfaces_attributes']['1'], interfaces_to_delete, interfaces_to_add)
|
124
|
-
|
125
|
+
assert_empty interfaces_to_delete
|
125
126
|
assert_equal 1, interfaces_to_add.length
|
126
127
|
assert interfaces_to_add[0].key?(:net1)
|
127
128
|
assert_equal 'model=e1000,bridge=vmbr0,firewall=0,link_down=0', interfaces_to_add[0][:net1]
|
@@ -131,17 +132,17 @@ module ForemanFogProxmox
|
|
131
132
|
interfaces_to_delete = []
|
132
133
|
interfaces_to_add = []
|
133
134
|
add_server_interface(host_delete['interfaces_attributes']['0'], interfaces_to_delete, interfaces_to_add)
|
134
|
-
|
135
|
+
assert_empty interfaces_to_add
|
135
136
|
assert_equal 1, interfaces_to_delete.length
|
136
137
|
assert_equal 'net0', interfaces_to_delete[0]
|
137
138
|
end
|
138
139
|
|
139
140
|
test '#interfaces' do
|
140
141
|
interfaces_to_add, interfaces_to_delete = parse_server_interfaces(host['interfaces_attributes'])
|
141
|
-
|
142
|
+
assert_empty interfaces_to_delete
|
142
143
|
assert_equal 2, interfaces_to_add.length
|
143
|
-
|
144
|
-
|
144
|
+
assert_includes interfaces_to_add, { net0: 'model=virtio,bridge=vmbr0,firewall=0,link_down=0' }
|
145
|
+
assert_includes interfaces_to_add, { net1: 'model=e1000,bridge=vmbr0,firewall=0,link_down=0' }
|
145
146
|
end
|
146
147
|
end
|
147
148
|
end
|
@@ -209,7 +209,7 @@ module ForemanFogProxmox
|
|
209
209
|
|
210
210
|
it '#container swap empty' do
|
211
211
|
convert_memory_size(host_container['config_attributes'], 'swap')
|
212
|
-
|
212
|
+
assert_empty host_container['config_attributes']['swap']
|
213
213
|
end
|
214
214
|
end
|
215
215
|
end
|
@@ -72,22 +72,22 @@ module ForemanFogProxmox
|
|
72
72
|
|
73
73
|
it 'is true with 5.4-3' do
|
74
74
|
@identity_client.stubs(:read_version).returns(supported_version)
|
75
|
-
|
75
|
+
assert @cr.version_suitable?
|
76
76
|
end
|
77
77
|
|
78
78
|
it 'is true with 6.0-1' do
|
79
79
|
@identity_client.stubs(:read_version).returns(supported_6_version)
|
80
|
-
|
80
|
+
assert @cr.version_suitable?
|
81
81
|
end
|
82
82
|
|
83
83
|
it 'is true with 6.1-3' do
|
84
84
|
@identity_client.stubs(:read_version).returns(supported_6_1_version)
|
85
|
-
|
85
|
+
assert @cr.version_suitable?
|
86
86
|
end
|
87
87
|
|
88
88
|
it 'is false with 5.2-2' do
|
89
89
|
@identity_client.stubs(:read_version).returns(unsupported_version)
|
90
|
-
|
90
|
+
assert_not @cr.version_suitable?
|
91
91
|
end
|
92
92
|
end
|
93
93
|
end
|
@@ -253,6 +253,20 @@ module ForemanFogProxmox
|
|
253
253
|
cr.create_vm(args)
|
254
254
|
end
|
255
255
|
|
256
|
+
it 'creates container within pool' do
|
257
|
+
args = { vmid: '100', type: 'lxc', node_id: 'pve', start_after_create: '0', pool: 'pool1' }
|
258
|
+
servers = mock('servers')
|
259
|
+
servers.stubs(:id_valid?).returns(true)
|
260
|
+
containers = mock('containers')
|
261
|
+
vm = mock('vm')
|
262
|
+
containers.stubs(:create).with(vmid: 100, type: 'lxc', node_id: 'pve', start_after_create: '0', pool: 'pool1').returns(vm)
|
263
|
+
cr = mock_node_servers_containers(ForemanFogProxmox::Proxmox.new, servers, containers)
|
264
|
+
cr.stubs(:convert_sizes).with(args)
|
265
|
+
cr.stubs(:parse_container_vm).with(args).returns(args)
|
266
|
+
cr.stubs(:find_vm_by_uuid).with((args[:vmid]).to_s).returns(vm)
|
267
|
+
cr.create_vm(args)
|
268
|
+
end
|
269
|
+
|
256
270
|
it 'clones container' do
|
257
271
|
args = { vmid: '100', type: 'lxc', image_id: '999', name: 'name' }
|
258
272
|
servers = mock('servers')
|
@@ -69,6 +69,20 @@ module ForemanFogProxmox
|
|
69
69
|
cr.create_vm(args)
|
70
70
|
end
|
71
71
|
|
72
|
+
it 'creates server within pool' do
|
73
|
+
args = { vmid: '100', type: 'qemu', node_id: 'pve', start_after_create: '0', pool: 'pool1' }
|
74
|
+
servers = mock('servers')
|
75
|
+
servers.stubs(:id_valid?).returns(true)
|
76
|
+
cr = mock_node_servers(ForemanFogProxmox::Proxmox.new, servers)
|
77
|
+
cr.stubs(:convert_sizes).with(args)
|
78
|
+
cr.stubs(:parse_server_vm).with(args).returns(args)
|
79
|
+
vm = mock('vm')
|
80
|
+
servers.stubs(:create).with(args).returns(vm)
|
81
|
+
cr.stubs(:find_vm_by_uuid).with((args[:vmid]).to_s).returns(vm)
|
82
|
+
cr.stubs(:start_on_boot).with(vm, args).returns(vm)
|
83
|
+
cr.create_vm(args)
|
84
|
+
end
|
85
|
+
|
72
86
|
it 'clones server' do
|
73
87
|
args = { vmid: '100', type: 'qemu', image_id: '999', name: 'name' }
|
74
88
|
servers = mock('servers')
|
@@ -126,6 +126,97 @@ module ForemanFogProxmox
|
|
126
126
|
vm.expects(:update, expected_config_attr)
|
127
127
|
@cr.save_vm(uuid, new_attributes)
|
128
128
|
end
|
129
|
+
|
130
|
+
it 'saves server config with modified pool' do
|
131
|
+
uuid = '100'
|
132
|
+
config = mock('config')
|
133
|
+
config.stubs(:pool).returns('pool1')
|
134
|
+
config.expects(:pool=).with('pool1')
|
135
|
+
vm = mock('vm')
|
136
|
+
vm.stubs(:config).returns(config)
|
137
|
+
vm.stubs(:container?).returns(false)
|
138
|
+
vm.stubs(:type).returns('qemu')
|
139
|
+
vm.stubs(:node_id).returns('pve')
|
140
|
+
vm.stubs(:vmid).returns(uuid)
|
141
|
+
@cr.stubs(:find_vm_by_uuid).returns(vm)
|
142
|
+
identity_client = mock('identity_client')
|
143
|
+
pools = mock('pools')
|
144
|
+
pool1 = mock('pool1')
|
145
|
+
pool1.stubs(:poolid).returns('pool1')
|
146
|
+
pool1.stubs(:has_server?).with('100').returns(true)
|
147
|
+
pool1.expects(:remove_server).with(uuid)
|
148
|
+
pool2 = mock('pool2')
|
149
|
+
pool2.stubs(:poolid).returns('pool2')
|
150
|
+
pool2.stubs(:has_server?).with('100').returns(false)
|
151
|
+
pool2.expects(:add_server).with(uuid)
|
152
|
+
pools.stubs(:all).returns([pool1, pool2])
|
153
|
+
pools.expects(:get).with('pool1').returns(pool1)
|
154
|
+
pools.expects(:get).with('pool2').returns(pool2)
|
155
|
+
identity_client.stubs(:pools).returns(pools)
|
156
|
+
@cr.stubs(:identity_client).returns(identity_client)
|
157
|
+
attr = { 'templated' => '0', 'node_id' => 'pve', 'pool' => 'pool2', 'config_attributes' => { 'cores' => '1', 'cpulimit' => '1', 'onboot' => '0' } }.with_indifferent_access
|
158
|
+
@cr.stubs(:parse_server_vm).returns('vmid' => '100', 'node_id' => 'pve', 'type' => 'qemu', 'cores' => '1', 'cpulimit' => '1', 'onboot' => '0', 'pool' => 'pool2')
|
159
|
+
vm.expects(:update).with({ 'node_id' => 'pve', 'type' => 'qemu', 'cores' => '1', 'cpulimit' => '1', 'onboot' => '0' }.with_indifferent_access)
|
160
|
+
@cr.save_vm(uuid, attr)
|
161
|
+
end
|
162
|
+
|
163
|
+
it 'saves server config with removed pool' do
|
164
|
+
uuid = '100'
|
165
|
+
config = mock('config')
|
166
|
+
config.expects(:pool=).with('pool1')
|
167
|
+
config.stubs(:pool).returns('pool1')
|
168
|
+
vm = mock('vm')
|
169
|
+
vm.stubs(:config).returns(config)
|
170
|
+
vm.stubs(:container?).returns(false)
|
171
|
+
vm.stubs(:type).returns('qemu')
|
172
|
+
vm.stubs(:node_id).returns('pve')
|
173
|
+
vm.stubs(:vmid).returns(uuid)
|
174
|
+
@cr.stubs(:find_vm_by_uuid).returns(vm)
|
175
|
+
identity_client = mock('identity_client')
|
176
|
+
pools = mock('pools')
|
177
|
+
pool1 = mock('pool1')
|
178
|
+
pool1.stubs(:has_server?).with('100').returns(true)
|
179
|
+
pool1.stubs(:poolid).returns('pool1')
|
180
|
+
pool1.expects(:remove_server).with(uuid)
|
181
|
+
pools.stubs(:all).returns([pool1])
|
182
|
+
pools.expects(:get).with('pool1').returns(pool1)
|
183
|
+
pools.expects(:get).with('').returns(nil)
|
184
|
+
identity_client.stubs(:pools).returns(pools)
|
185
|
+
@cr.stubs(:identity_client).returns(identity_client)
|
186
|
+
attr = { 'templated' => '0', 'node_id' => 'pve', 'pool' => '', 'config_attributes' => { 'cores' => '1', 'cpulimit' => '1', 'onboot' => '0' } }.with_indifferent_access
|
187
|
+
@cr.stubs(:parse_server_vm).returns('vmid' => '100', 'node_id' => 'pve', 'type' => 'qemu', 'cores' => '1', 'cpulimit' => '1', 'onboot' => '0', 'pool' => '')
|
188
|
+
vm.expects(:update).with({ 'node_id' => 'pve', 'type' => 'qemu', 'cores' => '1', 'cpulimit' => '1', 'onboot' => '0' }.with_indifferent_access)
|
189
|
+
@cr.save_vm(uuid, attr)
|
190
|
+
end
|
191
|
+
|
192
|
+
it 'saves server config with added pool' do
|
193
|
+
uuid = '100'
|
194
|
+
config = mock('config')
|
195
|
+
config.expects(:pool=).with(nil)
|
196
|
+
config.stubs(:pool).returns(nil)
|
197
|
+
vm = mock('vm')
|
198
|
+
vm.stubs(:config).returns(config)
|
199
|
+
vm.stubs(:container?).returns(false)
|
200
|
+
vm.stubs(:type).returns('qemu')
|
201
|
+
vm.stubs(:node_id).returns('pve')
|
202
|
+
vm.stubs(:vmid).returns(uuid)
|
203
|
+
@cr.stubs(:find_vm_by_uuid).returns(vm)
|
204
|
+
identity_client = mock('identity_client')
|
205
|
+
pools = mock('pools')
|
206
|
+
pool2 = mock('pool2')
|
207
|
+
pool2.stubs(:has_server?).with('100').returns(false)
|
208
|
+
pool2.stubs(:poolid).returns('pool2')
|
209
|
+
pool2.expects(:add_server).with(uuid)
|
210
|
+
pools.stubs(:all).returns([pool2])
|
211
|
+
pools.expects(:get).with('pool2').returns(pool2)
|
212
|
+
pools.expects(:get).with('').returns(nil)
|
213
|
+
identity_client.stubs(:pools).returns(pools)
|
214
|
+
@cr.stubs(:identity_client).returns(identity_client)
|
215
|
+
attr = { 'templated' => '0', 'node_id' => 'pve', 'pool' => 'pool2', 'config_attributes' => { 'cores' => '1', 'cpulimit' => '1', 'onboot' => '0' } }.with_indifferent_access
|
216
|
+
@cr.stubs(:parse_server_vm).returns('vmid' => '100', 'node_id' => 'pve', 'type' => 'qemu', 'cores' => '1', 'cpulimit' => '1', 'onboot' => '0', 'pool' => 'pool2')
|
217
|
+
vm.expects(:update).with({ 'node_id' => 'pve', 'type' => 'qemu', 'cores' => '1', 'cpulimit' => '1', 'onboot' => '0' }.with_indifferent_access)
|
218
|
+
@cr.save_vm(uuid, attr)
|
219
|
+
end
|
129
220
|
end
|
130
221
|
end
|
131
222
|
end
|
@@ -49,14 +49,19 @@ module ForemanFogProxmox
|
|
49
49
|
it 'finds vm on other node in cluster' do
|
50
50
|
args = { vmid: '100', type: 'qemu' }
|
51
51
|
servers = mock('servers')
|
52
|
+
vm = mock('vm')
|
53
|
+
vm.stubs(:vmid).returns(args[:vmid])
|
54
|
+
config = mock('config')
|
55
|
+
config.expects(:pool=, nil)
|
56
|
+
vm.stubs(:config).returns(config)
|
52
57
|
servers.stubs(:id_valid?).returns(true)
|
53
|
-
servers.stubs(:get).with(args[:vmid]).returns(
|
58
|
+
servers.stubs(:get).with(args[:vmid]).returns(vm)
|
54
59
|
cr = mock_cluster_nodes_servers_containers(
|
55
60
|
ForemanFogProxmox::Proxmox.new,
|
56
61
|
empty_servers, empty_servers, # node1
|
57
62
|
servers, empty_servers # node2
|
58
63
|
)
|
59
|
-
assert_equal
|
64
|
+
assert_equal vm, cr.find_vm_by_uuid(args[:vmid])
|
60
65
|
end
|
61
66
|
end
|
62
67
|
end
|
@@ -57,7 +57,6 @@ module ForemanFogProxmox
|
|
57
57
|
end
|
58
58
|
end
|
59
59
|
end
|
60
|
-
# rubocop:disable Lint/UselessComparison
|
61
60
|
describe 'semverclass comparators' do
|
62
61
|
it '#5.3.0 <= 5.4.3 returns true' do
|
63
62
|
assert ForemanFogProxmox::Semver.to_semver('5.3.0') <= ForemanFogProxmox::Semver.to_semver('5.4.3')
|
@@ -78,7 +77,7 @@ module ForemanFogProxmox
|
|
78
77
|
assert ForemanFogProxmox::Semver.to_semver('1.0.10') <= ForemanFogProxmox::Semver.to_semver('1.0.20')
|
79
78
|
end
|
80
79
|
it '#1.2.3-beta == 1.2.3-beta returns true' do
|
81
|
-
|
80
|
+
assert_equal ForemanFogProxmox::Semver.to_semver('1.2.3-beta'), ForemanFogProxmox::Semver.to_semver('1.2.3-beta')
|
82
81
|
end
|
83
82
|
it '#1.2.3-beta >= 1.-beta raises ArgumentError' do
|
84
83
|
assert_raises ArgumentError do
|
@@ -101,13 +100,12 @@ module ForemanFogProxmox
|
|
101
100
|
assert_equal 20, ForemanFogProxmox::Semver.to_semver('1.20.0').minor
|
102
101
|
assert_equal 0, ForemanFogProxmox::Semver.to_semver('1.20.0').patch
|
103
102
|
assert ForemanFogProxmox::Semver.to_semver('0.10.2').major < ForemanFogProxmox::Semver.to_semver('1.20.0').major
|
104
|
-
|
105
|
-
|
103
|
+
assert_not ForemanFogProxmox::Semver.to_semver('0.10.2').major == ForemanFogProxmox::Semver.to_semver('1.20.0').major
|
104
|
+
assert_not ForemanFogProxmox::Semver.to_semver('0.10.2').minor == ForemanFogProxmox::Semver.to_semver('1.20.0').minor
|
106
105
|
assert ForemanFogProxmox::Semver.to_semver('0.10.2').minor < ForemanFogProxmox::Semver.to_semver('1.20.0').minor
|
107
106
|
assert ForemanFogProxmox::Semver.to_semver('0.10.2').patch > ForemanFogProxmox::Semver.to_semver('1.20.0').patch
|
108
107
|
assert ForemanFogProxmox::Semver.to_semver('0.10.2') < ForemanFogProxmox::Semver.to_semver('1.20.0')
|
109
108
|
end
|
110
109
|
end
|
111
|
-
# rubocop:enable Lint/UselessComparison
|
112
110
|
end
|
113
111
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: foreman_fog_proxmox
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tristan Robert
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2020-
|
12
|
+
date: 2020-05-14 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: deface
|
@@ -31,14 +31,14 @@ dependencies:
|
|
31
31
|
requirements:
|
32
32
|
- - "~>"
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version: '0.
|
34
|
+
version: '0.12'
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
39
|
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version: '0.
|
41
|
+
version: '0.12'
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: rdoc
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
@@ -121,6 +121,7 @@ files:
|
|
121
121
|
- app/models/foreman_fog_proxmox/proxmox_images.rb
|
122
122
|
- app/models/foreman_fog_proxmox/proxmox_interfaces.rb
|
123
123
|
- app/models/foreman_fog_proxmox/proxmox_operating_systems.rb
|
124
|
+
- app/models/foreman_fog_proxmox/proxmox_pools.rb
|
124
125
|
- app/models/foreman_fog_proxmox/proxmox_token_expiration.rb
|
125
126
|
- app/models/foreman_fog_proxmox/proxmox_version.rb
|
126
127
|
- app/models/foreman_fog_proxmox/proxmox_vm_commands.rb
|
@@ -228,25 +229,25 @@ signing_key:
|
|
228
229
|
specification_version: 4
|
229
230
|
summary: Foreman plugin that adds Proxmox VE compute resource using fog-proxmox
|
230
231
|
test_files:
|
231
|
-
- test/
|
232
|
+
- test/factories/proxmox_factory.rb
|
233
|
+
- test/factories/foreman_fog_proxmox/proxmox_container_mock_factory.rb
|
234
|
+
- test/factories/foreman_fog_proxmox/proxmox_server_mock_factory.rb
|
235
|
+
- test/factories/foreman_fog_proxmox/proxmox_node_mock_factory.rb
|
232
236
|
- test/functional/compute_resources_controller_test.rb
|
237
|
+
- test/test_plugin_helper.rb
|
238
|
+
- test/unit/foreman_fog_proxmox/proxmox_vm_new_test.rb
|
239
|
+
- test/unit/foreman_fog_proxmox/proxmox_images_test.rb
|
240
|
+
- test/unit/foreman_fog_proxmox/proxmox_vm_commands_server_update_test.rb
|
233
241
|
- test/unit/foreman_fog_proxmox/proxmox_vm_commands_container_test.rb
|
234
|
-
- test/unit/foreman_fog_proxmox/proxmox_vm_commands_test.rb
|
235
|
-
- test/unit/foreman_fog_proxmox/proxmox_vm_commands_server_update_volumes_test.rb
|
236
|
-
- test/unit/foreman_fog_proxmox/proxmox_version_test.rb
|
237
242
|
- test/unit/foreman_fog_proxmox/proxmox_vm_queries_test.rb
|
238
|
-
- test/unit/foreman_fog_proxmox/
|
239
|
-
- test/unit/foreman_fog_proxmox/
|
243
|
+
- test/unit/foreman_fog_proxmox/proxmox_version_test.rb
|
244
|
+
- test/unit/foreman_fog_proxmox/proxmox_vm_commands_server_update_volumes_test.rb
|
240
245
|
- test/unit/foreman_fog_proxmox/semver_test.rb
|
241
|
-
- test/unit/foreman_fog_proxmox/proxmox_images_test.rb
|
242
246
|
- test/unit/foreman_fog_proxmox/proxmox_vm_commands_server_create_test.rb
|
243
|
-
- test/unit/foreman_fog_proxmox/
|
244
|
-
- test/unit/foreman_fog_proxmox/helpers/proxmox_vm_helper_test.rb
|
245
|
-
- test/unit/foreman_fog_proxmox/helpers/proxmox_container_helper_test.rb
|
246
|
-
- test/unit/foreman_fog_proxmox/helpers/proxmox_server_helper_test.rb
|
247
|
+
- test/unit/foreman_fog_proxmox/proxmox_compute_attributes_test.rb
|
247
248
|
- test/unit/foreman_fog_proxmox/proxmox_test.rb
|
249
|
+
- test/unit/foreman_fog_proxmox/proxmox_vm_commands_test.rb
|
248
250
|
- test/unit/foreman_fog_proxmox/proxmox_interfaces_test.rb
|
249
|
-
- test/
|
250
|
-
- test/
|
251
|
-
- test/
|
252
|
-
- test/factories/proxmox_factory.rb
|
251
|
+
- test/unit/foreman_fog_proxmox/helpers/proxmox_container_helper_test.rb
|
252
|
+
- test/unit/foreman_fog_proxmox/helpers/proxmox_server_helper_test.rb
|
253
|
+
- test/unit/foreman_fog_proxmox/helpers/proxmox_vm_helper_test.rb
|