vagrant-libvirt 0.5.2 → 0.5.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/vagrant-libvirt/action/create_domain.rb +1 -1
- data/lib/vagrant-libvirt/action/create_domain_volume.rb +2 -2
- data/lib/vagrant-libvirt/action/handle_box_image.rb +15 -11
- data/lib/vagrant-libvirt/util/byte_number.rb +71 -0
- data/lib/vagrant-libvirt/version +1 -1
- data/spec/unit/action/create_domain_volume_spec.rb +6 -4
- data/spec/unit/action/create_domain_volume_spec/one_disk_in_storage.xml +1 -1
- data/spec/unit/action/create_domain_volume_spec/three_disks_in_storage_disk_0.xml +1 -1
- data/spec/unit/action/create_domain_volume_spec/three_disks_in_storage_disk_1.xml +1 -1
- data/spec/unit/action/create_domain_volume_spec/three_disks_in_storage_disk_2.xml +1 -1
- data/spec/unit/action/handle_box_image_spec.rb +98 -20
- data/spec/unit/provider_spec.rb +11 -0
- data/spec/unit/util/byte_number_spec.rb +26 -0
- metadata +7 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 45b81bd9999cef0982201e37382c06ce3657bfe4442f060864c3f659ffc2ce37
|
4
|
+
data.tar.gz: e44c22486556883da8170f757cc8c3a29a4a98b07460c4b1098cb4aaed7566b3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ca1762baa21c39a9e047128f87cae3decedf38fee218bd741ebe0b40779d95bf306926a53c42038e3d4556f1484edb811868b3f612d37c574382afcf14516788
|
7
|
+
data.tar.gz: daabf0d91e896deb468a79ea287c52137991a04c9befabeab53e700dbbe580a17ba019da8b817a6e3a8148b81f5a26e86c112c2d0f05ba216595ea4c56a0dac6
|
@@ -266,7 +266,7 @@ module VagrantPlugins
|
|
266
266
|
end
|
267
267
|
env[:ui].info(" -- Storage pool: #{@storage_pool_name}")
|
268
268
|
@domain_volumes.each do |volume|
|
269
|
-
env[:ui].info(" -- Image(#{volume[:device]}): #{volume[:path]}, #{volume[:virtual_size]}G")
|
269
|
+
env[:ui].info(" -- Image(#{volume[:device]}): #{volume[:path]}, #{volume[:virtual_size].to_GB}G")
|
270
270
|
end
|
271
271
|
|
272
272
|
if not @disk_driver_opts.empty?
|
@@ -39,7 +39,7 @@ module VagrantPlugins
|
|
39
39
|
@backing_file = box_volume.path
|
40
40
|
|
41
41
|
# Virtual size of image. Take value worked out by HandleBoxImage
|
42
|
-
@capacity = env[:box_volumes][index][:virtual_size] #
|
42
|
+
@capacity = env[:box_volumes][index][:virtual_size].to_B # Byte
|
43
43
|
|
44
44
|
# Create new volume from xml template. Fog currently doesn't support
|
45
45
|
# volume snapshots directly.
|
@@ -47,7 +47,7 @@ module VagrantPlugins
|
|
47
47
|
xml = Nokogiri::XML::Builder.new do |xml|
|
48
48
|
xml.volume do
|
49
49
|
xml.name(@name)
|
50
|
-
xml.capacity(@capacity, unit: '
|
50
|
+
xml.capacity(@capacity, unit: 'B')
|
51
51
|
xml.target do
|
52
52
|
xml.format(type: 'qcow2')
|
53
53
|
xml.permissions do
|
@@ -1,5 +1,8 @@
|
|
1
1
|
require 'log4r'
|
2
2
|
require 'open3'
|
3
|
+
require 'json'
|
4
|
+
|
5
|
+
require 'vagrant-libvirt/util/byte_number'
|
3
6
|
|
4
7
|
module VagrantPlugins
|
5
8
|
module ProviderLibvirt
|
@@ -65,7 +68,7 @@ module VagrantPlugins
|
|
65
68
|
{
|
66
69
|
:path => image_path,
|
67
70
|
:name => volume_name,
|
68
|
-
:virtual_size => virtual_size
|
71
|
+
:virtual_size => virtual_size,
|
69
72
|
:format => HandleBoxImage.verify_box_format(format)
|
70
73
|
}
|
71
74
|
}
|
@@ -81,16 +84,18 @@ module VagrantPlugins
|
|
81
84
|
# Override box_virtual_size
|
82
85
|
box_virtual_size = env[:box_volumes][0][:virtual_size]
|
83
86
|
if config.machine_virtual_size
|
84
|
-
|
87
|
+
config_machine_virtual_size = ByteNumber.from_GB(config.machine_virtual_size)
|
88
|
+
puts config_machine_virtual_size < box_virtual_size
|
89
|
+
if config_machine_virtual_size < box_virtual_size
|
85
90
|
# Warn that a virtual size less than the box metadata size
|
86
91
|
# is not supported and will be ignored
|
87
92
|
env[:ui].warn I18n.t(
|
88
93
|
'vagrant_libvirt.warnings.ignoring_virtual_size_too_small',
|
89
|
-
requested:
|
94
|
+
requested: config_machine_virtual_size.to_GB, minimum: box_virtual_size.to_GB
|
90
95
|
)
|
91
96
|
else
|
92
97
|
env[:ui].info I18n.t('vagrant_libvirt.manual_resize_required')
|
93
|
-
box_virtual_size =
|
98
|
+
box_virtual_size = config_machine_virtual_size
|
94
99
|
end
|
95
100
|
end
|
96
101
|
# save for use by later actions
|
@@ -131,7 +136,7 @@ module VagrantPlugins
|
|
131
136
|
# Virtual size has to be set for allocating space in storage pool.
|
132
137
|
box_virtual_size = env[:machine].box.metadata['virtual_size']
|
133
138
|
raise Errors::NoBoxVirtualSizeSet if box_virtual_size.nil?
|
134
|
-
return box_virtual_size
|
139
|
+
return ByteNumber.from_GB(box_virtual_size)
|
135
140
|
end
|
136
141
|
|
137
142
|
def self.get_box_image_path(box, box_name)
|
@@ -153,14 +158,14 @@ module VagrantPlugins
|
|
153
158
|
end
|
154
159
|
|
155
160
|
def self.get_box_disk_settings(image_path)
|
156
|
-
stdout, stderr, status = Open3.capture3('qemu-img', 'info', image_path)
|
161
|
+
stdout, stderr, status = Open3.capture3('qemu-img', 'info', '--output=json', image_path)
|
157
162
|
if !status.success?
|
158
163
|
raise Errors::BadBoxImage, image: image_path, out: stdout, err: stderr
|
159
164
|
end
|
160
165
|
|
161
|
-
|
162
|
-
format =
|
163
|
-
virtual_size =
|
166
|
+
image_info = JSON.parse(stdout)
|
167
|
+
format = image_info['format']
|
168
|
+
virtual_size = ByteNumber.new(image_info['virtual-size'])
|
164
169
|
|
165
170
|
return format, virtual_size
|
166
171
|
end
|
@@ -178,12 +183,11 @@ module VagrantPlugins
|
|
178
183
|
message = "Creating volume #{box_volume[:name]}"
|
179
184
|
message << " in storage pool #{config.storage_pool_name}."
|
180
185
|
@logger.info(message)
|
181
|
-
|
182
186
|
begin
|
183
187
|
fog_volume = env[:machine].provider.driver.connection.volumes.create(
|
184
188
|
name: box_volume[:name],
|
185
189
|
allocation: "#{box_image_size / 1024 / 1024}M",
|
186
|
-
capacity: "#{box_volume[:virtual_size]}
|
190
|
+
capacity: "#{box_volume[:virtual_size].to_B}B",
|
187
191
|
format_type: box_volume[:format],
|
188
192
|
owner: storage_uid(env),
|
189
193
|
group: storage_gid(env),
|
@@ -0,0 +1,71 @@
|
|
1
|
+
class ByteNumber < Numeric
|
2
|
+
def initialize(int)
|
3
|
+
@int = int
|
4
|
+
end
|
5
|
+
|
6
|
+
def to_s
|
7
|
+
@int.to_s
|
8
|
+
end
|
9
|
+
|
10
|
+
def to_i
|
11
|
+
@int
|
12
|
+
end
|
13
|
+
|
14
|
+
def to_f
|
15
|
+
@int.to_f
|
16
|
+
end
|
17
|
+
|
18
|
+
def to_B
|
19
|
+
to_i
|
20
|
+
end
|
21
|
+
|
22
|
+
def to_KB
|
23
|
+
_compute_unit_to_n_kilo(1)
|
24
|
+
end
|
25
|
+
|
26
|
+
def to_MB
|
27
|
+
_compute_unit_to_n_kilo(2)
|
28
|
+
end
|
29
|
+
|
30
|
+
def to_GB
|
31
|
+
_compute_unit_to_n_kilo(3)
|
32
|
+
end
|
33
|
+
|
34
|
+
def coerce(other)
|
35
|
+
to_i.coerce(other)
|
36
|
+
end
|
37
|
+
|
38
|
+
def <=>(other)
|
39
|
+
to_i <=> other
|
40
|
+
end
|
41
|
+
|
42
|
+
def +(other)
|
43
|
+
to_i + other
|
44
|
+
end
|
45
|
+
|
46
|
+
def -(other)
|
47
|
+
to_i - other
|
48
|
+
end
|
49
|
+
|
50
|
+
def *(other)
|
51
|
+
to_i * other
|
52
|
+
end
|
53
|
+
|
54
|
+
def /(other)
|
55
|
+
to_i / other
|
56
|
+
end
|
57
|
+
|
58
|
+
def pow(n)
|
59
|
+
self.class.new(to_i ** n)
|
60
|
+
end
|
61
|
+
|
62
|
+
def self.from_GB(value)
|
63
|
+
self.new(value*(1024**3))
|
64
|
+
end
|
65
|
+
|
66
|
+
private
|
67
|
+
def _compute_unit_to_n_kilo(n=0)
|
68
|
+
(to_f/(1024 ** n)).ceil
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
data/lib/vagrant-libvirt/version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.5.
|
1
|
+
0.5.3
|
@@ -3,6 +3,8 @@ require 'support/sharedcontext'
|
|
3
3
|
require 'support/libvirt_context'
|
4
4
|
|
5
5
|
require 'vagrant-libvirt/action/destroy_domain'
|
6
|
+
require 'vagrant-libvirt/util/byte_number'
|
7
|
+
|
6
8
|
|
7
9
|
describe VagrantPlugins::ProviderLibvirt::Action::CreateDomainVolume do
|
8
10
|
subject { described_class.new(app, env) }
|
@@ -38,7 +40,7 @@ describe VagrantPlugins::ProviderLibvirt::Action::CreateDomainVolume do
|
|
38
40
|
env[:box_volumes] = [
|
39
41
|
{
|
40
42
|
:name=>"test_vagrant_box_image_1.1.1_0.img",
|
41
|
-
:virtual_size=>
|
43
|
+
:virtual_size=>ByteNumber.new(5368709120)
|
42
44
|
}
|
43
45
|
]
|
44
46
|
end
|
@@ -65,15 +67,15 @@ describe VagrantPlugins::ProviderLibvirt::Action::CreateDomainVolume do
|
|
65
67
|
env[:box_volumes] = [
|
66
68
|
{
|
67
69
|
:name=>"test_vagrant_box_image_1.1.1_0.img",
|
68
|
-
:virtual_size=>
|
70
|
+
:virtual_size=>ByteNumber.new(5368709120)
|
69
71
|
},
|
70
72
|
{
|
71
73
|
:name=>"test_vagrant_box_image_1.1.1_1.img",
|
72
|
-
:virtual_size=>
|
74
|
+
:virtual_size=>ByteNumber.new(10737423360)
|
73
75
|
},
|
74
76
|
{
|
75
77
|
:name=>"test_vagrant_box_image_1.1.1_2.img",
|
76
|
-
:virtual_size=>
|
78
|
+
:virtual_size=>ByteNumber.new(21474836480)
|
77
79
|
}
|
78
80
|
]
|
79
81
|
end
|
@@ -1,8 +1,11 @@
|
|
1
1
|
require 'spec_helper'
|
2
|
+
require 'json'
|
2
3
|
require 'support/sharedcontext'
|
3
4
|
require 'support/libvirt_context'
|
4
5
|
|
5
6
|
require 'vagrant-libvirt/action/destroy_domain'
|
7
|
+
require 'vagrant-libvirt/util/byte_number'
|
8
|
+
|
6
9
|
|
7
10
|
describe VagrantPlugins::ProviderLibvirt::Action::HandleBoxImage do
|
8
11
|
subject { described_class.new(app, env) }
|
@@ -15,6 +18,41 @@ describe VagrantPlugins::ProviderLibvirt::Action::HandleBoxImage do
|
|
15
18
|
let(:all) { double('all') }
|
16
19
|
let(:box_volume) { double('box_volume') }
|
17
20
|
let(:fog_volume) { double('fog_volume') }
|
21
|
+
let(:config) { double('config') }
|
22
|
+
|
23
|
+
qemu_json_return_5G = JSON.dump({
|
24
|
+
"virtual-size": 5368709120,
|
25
|
+
"filename": "/test/box.img",
|
26
|
+
"cluster-size": 65536,
|
27
|
+
"format": "qcow2",
|
28
|
+
"actual-size": 655360,
|
29
|
+
"dirty-flag": false
|
30
|
+
})
|
31
|
+
byte_number_5G = ByteNumber.new(5368709120)
|
32
|
+
|
33
|
+
|
34
|
+
qemu_json_return_10G = JSON.dump({
|
35
|
+
"virtual-size": 10737423360,
|
36
|
+
"filename": "/test/disk.qcow2",
|
37
|
+
"cluster-size": 65536,
|
38
|
+
"format": "qcow2",
|
39
|
+
"actual-size": 655360,
|
40
|
+
"dirty-flag": false
|
41
|
+
})
|
42
|
+
byte_number_10G = ByteNumber.new(10737423360)
|
43
|
+
|
44
|
+
qemu_json_return_20G = JSON.dump({
|
45
|
+
"virtual-size": 21474836480,
|
46
|
+
"filename": "/test/box_2.img",
|
47
|
+
"cluster-size": 65536,
|
48
|
+
"format": "qcow2",
|
49
|
+
"actual-size": 1508708352,
|
50
|
+
"dirty-flag": false
|
51
|
+
})
|
52
|
+
byte_number_20G = ByteNumber.new(21474836480)
|
53
|
+
|
54
|
+
|
55
|
+
|
18
56
|
|
19
57
|
describe '#call' do
|
20
58
|
before do
|
@@ -51,13 +89,53 @@ describe VagrantPlugins::ProviderLibvirt::Action::HandleBoxImage do
|
|
51
89
|
{
|
52
90
|
:path=>"/test/box.img",
|
53
91
|
:name=>"test_vagrant_box_image_1.1.1_box.img",
|
54
|
-
:virtual_size=>
|
92
|
+
:virtual_size=>byte_number_5G,
|
55
93
|
:format=>"qcow2"
|
56
94
|
}
|
57
95
|
]
|
58
96
|
)
|
59
97
|
end
|
60
98
|
|
99
|
+
context 'When config.machine_virtual_size is set and smaller than box_virtual_size' do
|
100
|
+
before do
|
101
|
+
allow(env[:machine]).to receive_message_chain("provider_config.machine_virtual_size").and_return(1)
|
102
|
+
end
|
103
|
+
it 'should warning must be raise' do
|
104
|
+
expect(ui).to receive(:warn).with("Ignoring requested virtual disk size of '1' as it is below\nthe minimum box image size of '5'.")
|
105
|
+
expect(subject.call(env)).to be_nil
|
106
|
+
expect(env[:box_volumes]).to eq(
|
107
|
+
[
|
108
|
+
{
|
109
|
+
:path=>"/test/box.img",
|
110
|
+
:name=>"test_vagrant_box_image_1.1.1_box.img",
|
111
|
+
:virtual_size=>byte_number_5G,
|
112
|
+
:format=>"qcow2"
|
113
|
+
}
|
114
|
+
]
|
115
|
+
)
|
116
|
+
end
|
117
|
+
end
|
118
|
+
|
119
|
+
context 'When config.machine_virtual_size is set and higher than box_virtual_size' do
|
120
|
+
before do
|
121
|
+
allow(env[:machine]).to receive_message_chain("provider_config.machine_virtual_size").and_return(20)
|
122
|
+
end
|
123
|
+
it 'should be use' do
|
124
|
+
expect(ui).to receive(:info).with("Created volume larger than box defaults, will require manual resizing of\nfilesystems to utilize.")
|
125
|
+
expect(subject.call(env)).to be_nil
|
126
|
+
expect(env[:box_volumes]).to eq(
|
127
|
+
[
|
128
|
+
{
|
129
|
+
:path=>"/test/box.img",
|
130
|
+
:name=>"test_vagrant_box_image_1.1.1_box.img",
|
131
|
+
:virtual_size=>byte_number_20G,
|
132
|
+
:format=>"qcow2"
|
133
|
+
}
|
134
|
+
]
|
135
|
+
)
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
61
139
|
context 'when disk image not in storage pool' do
|
62
140
|
before do
|
63
141
|
allow(File).to receive(:exist?).and_return(true)
|
@@ -74,7 +152,7 @@ describe VagrantPlugins::ProviderLibvirt::Action::HandleBoxImage do
|
|
74
152
|
hash_including(
|
75
153
|
:name => "test_vagrant_box_image_1.1.1_box.img",
|
76
154
|
:allocation => "5120M",
|
77
|
-
:capacity => "
|
155
|
+
:capacity => "5368709120B",
|
78
156
|
)
|
79
157
|
)
|
80
158
|
expect(subject).to receive(:upload_image)
|
@@ -122,14 +200,14 @@ describe VagrantPlugins::ProviderLibvirt::Action::HandleBoxImage do
|
|
122
200
|
'/test/'.concat(arg.to_s)
|
123
201
|
end
|
124
202
|
allow(status).to receive(:success?).and_return(true)
|
125
|
-
allow(Open3).to receive(:capture3).with('qemu-img', 'info', '/test/box.img').and_return([
|
126
|
-
|
203
|
+
allow(Open3).to receive(:capture3).with('qemu-img', 'info', '--output=json', '/test/box.img').and_return([
|
204
|
+
qemu_json_return_5G, "", status
|
127
205
|
])
|
128
|
-
allow(Open3).to receive(:capture3).with('qemu-img', 'info', '/test/disk.qcow2').and_return([
|
129
|
-
|
206
|
+
allow(Open3).to receive(:capture3).with('qemu-img', 'info', '--output=json', '/test/disk.qcow2').and_return([
|
207
|
+
qemu_json_return_10G, "", status
|
130
208
|
])
|
131
|
-
allow(Open3).to receive(:capture3).with('qemu-img', 'info', '/test/box_2.img').and_return([
|
132
|
-
|
209
|
+
allow(Open3).to receive(:capture3).with('qemu-img', 'info', '--output=json', '/test/box_2.img').and_return([
|
210
|
+
qemu_json_return_20G, "", status
|
133
211
|
])
|
134
212
|
end
|
135
213
|
|
@@ -141,19 +219,19 @@ describe VagrantPlugins::ProviderLibvirt::Action::HandleBoxImage do
|
|
141
219
|
{
|
142
220
|
:path=>"/test/box.img",
|
143
221
|
:name=>"test_vagrant_box_image_1.1.1_send_box_name.img",
|
144
|
-
:virtual_size=>
|
222
|
+
:virtual_size=>byte_number_5G,
|
145
223
|
:format=>"qcow2"
|
146
224
|
},
|
147
225
|
{
|
148
226
|
:path=>"/test/disk.qcow2",
|
149
227
|
:name=>"test_vagrant_box_image_1.1.1_disk.img",
|
150
|
-
:virtual_size=>
|
228
|
+
:virtual_size=>byte_number_10G,
|
151
229
|
:format=>"qcow2"
|
152
230
|
},
|
153
231
|
{
|
154
232
|
:path=>"/test/box_2.img",
|
155
233
|
:name=>"test_vagrant_box_image_1.1.1_box_2.img",
|
156
|
-
:virtual_size=>
|
234
|
+
:virtual_size=>byte_number_20G,
|
157
235
|
:format=>"qcow2"
|
158
236
|
}
|
159
237
|
]
|
@@ -176,7 +254,7 @@ describe VagrantPlugins::ProviderLibvirt::Action::HandleBoxImage do
|
|
176
254
|
hash_including(
|
177
255
|
:name => "test_vagrant_box_image_1.1.1_send_box_name.img",
|
178
256
|
:allocation => "5120M",
|
179
|
-
:capacity => "
|
257
|
+
:capacity => "5368709120B",
|
180
258
|
)
|
181
259
|
)
|
182
260
|
expect(subject).to receive(:upload_image)
|
@@ -186,7 +264,7 @@ describe VagrantPlugins::ProviderLibvirt::Action::HandleBoxImage do
|
|
186
264
|
hash_including(
|
187
265
|
:name => "test_vagrant_box_image_1.1.1_disk.img",
|
188
266
|
:allocation => "10240M",
|
189
|
-
:capacity => "
|
267
|
+
:capacity => "10737423360B",
|
190
268
|
)
|
191
269
|
)
|
192
270
|
expect(subject).to receive(:upload_image)
|
@@ -196,7 +274,7 @@ describe VagrantPlugins::ProviderLibvirt::Action::HandleBoxImage do
|
|
196
274
|
hash_including(
|
197
275
|
:name => "test_vagrant_box_image_1.1.1_box_2.img",
|
198
276
|
:allocation => "20480M",
|
199
|
-
:capacity => "
|
277
|
+
:capacity => "21474836480B",
|
200
278
|
)
|
201
279
|
)
|
202
280
|
expect(subject).to receive(:upload_image)
|
@@ -279,14 +357,14 @@ describe VagrantPlugins::ProviderLibvirt::Action::HandleBoxImage do
|
|
279
357
|
'/test/'.concat(arg.to_s)
|
280
358
|
end
|
281
359
|
allow(status).to receive(:success?).and_return(true)
|
282
|
-
allow(Open3).to receive(:capture3).with('qemu-img', 'info', '/test/box.img').and_return([
|
283
|
-
|
360
|
+
allow(Open3).to receive(:capture3).with('qemu-img', 'info', "--output=json", '/test/box.img').and_return([
|
361
|
+
qemu_json_return_5G, "", status
|
284
362
|
])
|
285
|
-
allow(Open3).to receive(:capture3).with('qemu-img', 'info', '/test/disk.qcow2').and_return([
|
286
|
-
|
363
|
+
allow(Open3).to receive(:capture3).with('qemu-img', 'info', "--output=json", '/test/disk.qcow2').and_return([
|
364
|
+
qemu_json_return_10G, "", status
|
287
365
|
])
|
288
|
-
allow(Open3).to receive(:capture3).with('qemu-img', 'info', '/test/box_2.img').and_return([
|
289
|
-
|
366
|
+
allow(Open3).to receive(:capture3).with('qemu-img', 'info', "--output=json", '/test/box_2.img').and_return([
|
367
|
+
qemu_json_return_20G, "", status
|
290
368
|
])
|
291
369
|
end
|
292
370
|
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
require 'vagrant-libvirt/util/byte_number'
|
4
|
+
|
5
|
+
|
6
|
+
describe ByteNumber do
|
7
|
+
describe '#ByteNumber to Gigrabyte' do
|
8
|
+
it 'should return bigger size' do
|
9
|
+
expect( ByteNumber.new("10737423360").to_GB).to eq(11)
|
10
|
+
expect( ByteNumber.new("737423360").to_GB).to eq(1)
|
11
|
+
expect( ByteNumber.new("110737423360").to_GB).to eq(104)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
describe '#ByteNumber from Gigrabyte' do
|
16
|
+
it 'should convert' do
|
17
|
+
expect( ByteNumber.from_GB(5).to_i).to eq(5368709120)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
describe '#ByteNumber pow' do
|
22
|
+
it 'should be work like interger' do
|
23
|
+
expect( ByteNumber.new(5).pow(5).to_i).to eq(5**5)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-libvirt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lukas Stanek
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2021-06-
|
14
|
+
date: 2021-06-11 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rspec-core
|
@@ -216,6 +216,7 @@ files:
|
|
216
216
|
- lib/vagrant-libvirt/templates/private_network.xml.erb
|
217
217
|
- lib/vagrant-libvirt/templates/public_interface.xml.erb
|
218
218
|
- lib/vagrant-libvirt/util.rb
|
219
|
+
- lib/vagrant-libvirt/util/byte_number.rb
|
219
220
|
- lib/vagrant-libvirt/util/collection.rb
|
220
221
|
- lib/vagrant-libvirt/util/erb_template.rb
|
221
222
|
- lib/vagrant-libvirt/util/error_codes.rb
|
@@ -256,12 +257,14 @@ files:
|
|
256
257
|
- spec/unit/action/start_domain_spec/default_added_tpm_version.xml
|
257
258
|
- spec/unit/action/wait_till_up_spec.rb
|
258
259
|
- spec/unit/config_spec.rb
|
260
|
+
- spec/unit/provider_spec.rb
|
259
261
|
- spec/unit/templates/domain_all_settings.xml
|
260
262
|
- spec/unit/templates/domain_custom_cpu_model.xml
|
261
263
|
- spec/unit/templates/domain_defaults.xml
|
262
264
|
- spec/unit/templates/domain_spec.rb
|
263
265
|
- spec/unit/templates/tpm/version_1.2.xml
|
264
266
|
- spec/unit/templates/tpm/version_2.0.xml
|
267
|
+
- spec/unit/util/byte_number_spec.rb
|
265
268
|
homepage: https://github.com/vagrant-libvirt/vagrant-libvirt
|
266
269
|
licenses:
|
267
270
|
- MIT
|
@@ -310,6 +313,8 @@ test_files:
|
|
310
313
|
- spec/unit/action/halt_domain_spec.rb
|
311
314
|
- spec/unit/action/create_domain_volume_spec.rb
|
312
315
|
- spec/unit/config_spec.rb
|
316
|
+
- spec/unit/util/byte_number_spec.rb
|
317
|
+
- spec/unit/provider_spec.rb
|
313
318
|
- spec/unit/templates/domain_defaults.xml
|
314
319
|
- spec/unit/templates/domain_all_settings.xml
|
315
320
|
- spec/unit/templates/domain_spec.rb
|