fog-proxmox 0.5.4 → 0.5.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitlab-ci.yml +2 -1
- data/Gemfile.lock +2 -2
- data/lib/fog/proxmox/helpers/disk_helper.rb +17 -2
- data/lib/fog/proxmox/version.rb +1 -1
- data/spec/helpers/disk_helper_spec.rb +26 -5
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 62bda3253f9a17347772bf6895a2658b8d47d3822d6addeadb674d779c396c1b
|
4
|
+
data.tar.gz: 3cb6401715a785b87a2f06dd1a75eaab0c47051d1a8f09c763a417dbe7769269
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 01b38e8e7c7b9c576c36ea337ad51f2ee3502290bf71393dcf7cfa80c2187414217e434fa741a22f6993a1bd05d0180a31a2879f17f06b756377d377a27c082d
|
7
|
+
data.tar.gz: 733048733bad0ea948e271a70317e7731dfd6929b35e980b8831bfe862e555c67554135e89332b7b513c5eaffdec673d19b7cb30736a645b858e23b32dec9417
|
data/.gitlab-ci.yml
CHANGED
@@ -16,6 +16,7 @@ dependency_scanning:
|
|
16
16
|
paths: [gl-dependency-scanning-report.json]
|
17
17
|
|
18
18
|
rubocop:
|
19
|
+
image: ruby:2.5.1
|
19
20
|
script:
|
20
21
|
- bundle install --binstubs
|
21
22
|
- rubocop
|
@@ -39,4 +40,4 @@ test-ruby-2.5.1:
|
|
39
40
|
script:
|
40
41
|
- bundle install --binstubs
|
41
42
|
- bundle exec rake test
|
42
|
-
- bundle exec rake spec
|
43
|
+
- bundle exec rake spec
|
data/Gemfile.lock
CHANGED
@@ -57,9 +57,10 @@ module Fog
|
|
57
57
|
end
|
58
58
|
|
59
59
|
def self.extract_storage_volid_size(disk_value)
|
60
|
+
#volid definition: <VOULME_ID>:=<STORAGE_ID>:<storage type dependent volume name>
|
60
61
|
values_a = disk_value.scan(/^(([\w-]+)[:]{0,1}([\w\/\.-]+))/)
|
61
62
|
no_cdrom = !disk_value.match(/^(.+)[,]{1}(media=cdrom)$/)
|
62
|
-
creation = disk_value.match(/^(([\w-]+)[:]{1}([\d]+))
|
63
|
+
creation = disk_value.split(',')[0].match(/^(([\w-]+)[:]{1}([\d]+))$/)
|
63
64
|
values = values_a.first if values_a
|
64
65
|
if no_cdrom
|
65
66
|
if creation
|
@@ -79,8 +80,22 @@ module Fog
|
|
79
80
|
[storage, volid, size]
|
80
81
|
end
|
81
82
|
|
83
|
+
def self.to_bytes(size)
|
84
|
+
val=size.match(/\d+(\w?)/)
|
85
|
+
m=0
|
86
|
+
case val[1]
|
87
|
+
when "K" then m=1
|
88
|
+
when "M" then m=2
|
89
|
+
when "G" then m=3
|
90
|
+
when "T" then m=4
|
91
|
+
when "P" then m=5
|
92
|
+
end
|
93
|
+
val[0].to_i*1024**m
|
94
|
+
end
|
95
|
+
|
82
96
|
def self.extract_size(disk_value)
|
83
|
-
extract_option('size', disk_value)
|
97
|
+
size=extract_option('size', disk_value)
|
98
|
+
self.to_bytes(size)
|
84
99
|
end
|
85
100
|
end
|
86
101
|
end
|
data/lib/fog/proxmox/version.rb
CHANGED
@@ -34,6 +34,14 @@ require 'fog/proxmox/helpers/disk_helper'
|
|
34
34
|
{ scsi0: 'local-lvm:vm-100-disk-1,size=8G,cache=none'}
|
35
35
|
end
|
36
36
|
|
37
|
+
let(:virtio1) do
|
38
|
+
{ id: 'virtio1', volid: 'local:108/vm-108-disk-1.qcow2,size=15G' }
|
39
|
+
end
|
40
|
+
|
41
|
+
let(:virtio) do
|
42
|
+
{ virtio1: 'local:108/vm-108-disk-1.qcow2,size=245'}
|
43
|
+
end
|
44
|
+
|
37
45
|
let(:cdrom_none) do
|
38
46
|
{ ide2: 'none,media=cdrom'}
|
39
47
|
end
|
@@ -54,7 +62,11 @@ require 'fog/proxmox/helpers/disk_helper'
|
|
54
62
|
end
|
55
63
|
|
56
64
|
describe '#extract_controller' do
|
57
|
-
it "returns controller" do
|
65
|
+
it "returns virtio controller" do
|
66
|
+
controller = Fog::Proxmox::DiskHelper.extract_controller(virtio1[:id])
|
67
|
+
assert_equal('virtio', controller)
|
68
|
+
end
|
69
|
+
it "returns scsi controller" do
|
58
70
|
controller = Fog::Proxmox::DiskHelper.extract_controller(scsi0[:id])
|
59
71
|
assert_equal('scsi', controller)
|
60
72
|
end
|
@@ -72,7 +84,13 @@ require 'fog/proxmox/helpers/disk_helper'
|
|
72
84
|
storage, volid, size = Fog::Proxmox::DiskHelper.extract_storage_volid_size(scsi[:scsi0])
|
73
85
|
assert_equal('local-lvm', storage)
|
74
86
|
assert_equal('local-lvm:vm-100-disk-1', volid)
|
75
|
-
assert_equal(
|
87
|
+
assert_equal(8589934592, size)
|
88
|
+
end
|
89
|
+
it "returns virtio get local storage volid and size" do
|
90
|
+
storage, volid, size = Fog::Proxmox::DiskHelper.extract_storage_volid_size(virtio[:virtio1])
|
91
|
+
assert_equal('local', storage)
|
92
|
+
assert_equal('local:108/vm-108-disk-1.qcow2', volid)
|
93
|
+
assert_equal(245, size)
|
76
94
|
end
|
77
95
|
it "returns scsi0 creation storage and volid" do
|
78
96
|
disk = Fog::Proxmox::DiskHelper.flatten(scsi0)
|
@@ -94,11 +112,14 @@ require 'fog/proxmox/helpers/disk_helper'
|
|
94
112
|
assert_nil size
|
95
113
|
end
|
96
114
|
end
|
97
|
-
|
98
115
|
describe '#extract_size' do
|
99
116
|
it "returns size" do
|
100
117
|
size = Fog::Proxmox::DiskHelper.extract_size(scsi[:scsi0])
|
101
|
-
assert_equal(
|
118
|
+
assert_equal(8589934592, size)
|
119
|
+
end
|
120
|
+
it "returns size" do
|
121
|
+
size = Fog::Proxmox::DiskHelper.extract_size(virtio[:virtio1])
|
122
|
+
assert_equal(245, size)
|
102
123
|
end
|
103
124
|
end
|
104
|
-
end
|
125
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fog-proxmox
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tristan Robert
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-01-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|