fog-proxmox 0.5.4 → 0.5.5
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.
- 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
|