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 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