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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '0808e35cf05f51aeb72e25ccbfb66c9cb0176364e0d4b298e5e09a9237c0f940'
4
- data.tar.gz: 012e341f0dfe2c74108f65fb68d9cc29b03b2003b9ca7335fe6aa1038e930bc9
3
+ metadata.gz: 62bda3253f9a17347772bf6895a2658b8d47d3822d6addeadb674d779c396c1b
4
+ data.tar.gz: 3cb6401715a785b87a2f06dd1a75eaab0c47051d1a8f09c763a417dbe7769269
5
5
  SHA512:
6
- metadata.gz: 6ab7a7772ade522ab830167f8ca3909a4a32cd6eea3954cfec40243cfab9dd345693fe226fd98d552b848c2b0f506393f25c295ca0169fe1df8c4ca95ea7d92b
7
- data.tar.gz: 6a87af1859adc1c4deda619d0eb706369384dda48778531f0366cfc934945b20e6ae3230384e25423a82e405d6fd095e7ffad494d18e33e09a1777d5d8ead31c
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
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- fog-proxmox (0.5.4)
4
+ fog-proxmox (0.5.5)
5
5
  fog-core (~> 1.45)
6
6
  fog-json (~> 1.0)
7
7
  ipaddress (~> 0.8)
@@ -143,4 +143,4 @@ DEPENDENCIES
143
143
  webmock (~> 3.4)
144
144
 
145
145
  BUNDLED WITH
146
- 1.17.1
146
+ 1.17.3
@@ -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).to_i
97
+ size=extract_option('size', disk_value)
98
+ self.to_bytes(size)
84
99
  end
85
100
  end
86
101
  end
@@ -19,6 +19,6 @@
19
19
 
20
20
  module Fog
21
21
  module Proxmox
22
- VERSION = '0.5.4'
22
+ VERSION = '0.5.5'
23
23
  end
24
24
  end
@@ -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(8, size)
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(8, size)
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
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: 2018-11-27 00:00:00.000000000 Z
11
+ date: 2019-01-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler