cloudkeeper 1.6.1 → 1.7.0
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/.rubocop.yml +5 -0
- data/cloudkeeper.gemspec +1 -1
- data/lib/cloudkeeper/entities/convertables/ova.rb +12 -2
- data/lib/cloudkeeper/managers/image_list_manager.rb +1 -2
- data/lib/cloudkeeper/managers/image_manager.rb +2 -2
- data/lib/cloudkeeper/utils.rb +1 -0
- data/lib/cloudkeeper/utils/appliance.rb +1 -1
- data/lib/cloudkeeper/utils/filename.rb +13 -0
- data/lib/cloudkeeper/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7a1f66c8fe0204c321ed16a565f9ca9f720bfb4b
|
4
|
+
data.tar.gz: 383c7c53ba0faf825cef509dcc191bdfc301d8f3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ba4cd0c58cce7c6fcfeb0f34a29bb556eca29710cdfc71288d49d794a4aa28a3d050339b7059b5afd02542912017bbf86addc4303d6ce37e1406d5ec0d5917f3
|
7
|
+
data.tar.gz: 10b1c182148e3d6c68be1715b97428ded54964c7c034d7f2c0a6de91112ebfb18ad6e154a90d606ebca4f05046b34b8ea414ae0cc12702f5ae210a54fa673f25
|
data/.rubocop.yml
CHANGED
@@ -63,6 +63,11 @@ Metrics/ParameterLists:
|
|
63
63
|
Exclude:
|
64
64
|
- 'lib/cloudkeeper/entities/*.rb'
|
65
65
|
|
66
|
+
Naming/UncommunicativeMethodParamName:
|
67
|
+
Exclude:
|
68
|
+
- 'lib/cloudkeeper/entities/image_list.rb'
|
69
|
+
- 'lib/cloudkeeper/entities/appliance.rb'
|
70
|
+
|
66
71
|
Metrics/BlockLength:
|
67
72
|
Exclude:
|
68
73
|
- 'Rakefile'
|
data/cloudkeeper.gemspec
CHANGED
@@ -33,12 +33,22 @@ module Cloudkeeper
|
|
33
33
|
|
34
34
|
def extract_disk
|
35
35
|
archived_disk = disk_file
|
36
|
+
archived_disk_sanitized = Cloudkeeper::Utils::Filename.sanitize archived_disk
|
37
|
+
|
36
38
|
disk_directory = File.dirname(file)
|
37
39
|
extracted_file = File.join(disk_directory, archived_disk)
|
38
40
|
Cloudkeeper::CommandExecutioner.execute('tar', '-x', '-f', file, '-C', disk_directory, archived_disk)
|
39
|
-
|
40
|
-
|
41
|
+
|
42
|
+
return extracted_file if archived_disk == archived_disk_sanitized
|
43
|
+
|
44
|
+
extracted_file_sanitized = File.join(disk_directory, archived_disk_sanitized)
|
45
|
+
logger.debug "Renaming file #{extracted_file.inspect} to #{extracted_file_sanitized.inspect}"
|
46
|
+
File.rename extracted_file, extracted_file_sanitized
|
47
|
+
|
48
|
+
extracted_file_sanitized
|
49
|
+
rescue Cloudkeeper::Errors::CommandExecutionError, ::SystemCallError => ex
|
41
50
|
delete_if_exists extracted_file
|
51
|
+
delete_if_exists extracted_file_sanitized
|
42
52
|
raise ex
|
43
53
|
end
|
44
54
|
|
@@ -1,6 +1,5 @@
|
|
1
1
|
require 'tmpdir'
|
2
2
|
require 'faraday'
|
3
|
-
require 'zaru'
|
4
3
|
require 'openssl'
|
5
4
|
require 'json'
|
6
5
|
|
@@ -67,7 +66,7 @@ module Cloudkeeper
|
|
67
66
|
end
|
68
67
|
|
69
68
|
def generate_filename(uri, dir)
|
70
|
-
File.join(dir,
|
69
|
+
File.join(dir, Cloudkeeper::Utils::Filename.sanitize("#{uri.host}#{uri.path}"))
|
71
70
|
end
|
72
71
|
|
73
72
|
def convert_image_list(image_list_hash)
|
@@ -72,7 +72,7 @@ module Cloudkeeper
|
|
72
72
|
end
|
73
73
|
|
74
74
|
response.value
|
75
|
-
open(filename, 'w') { |file| response.read_body { |chunk| file.write(chunk) } }
|
75
|
+
File.open(filename, 'w') { |file| response.read_body { |chunk| file.write(chunk) } }
|
76
76
|
end
|
77
77
|
end
|
78
78
|
rescue Timeout::Error, Errno::EINVAL, Errno::ECONNRESET, Errno::ECONNREFUSED, Net::HTTPBadResponse,
|
@@ -88,7 +88,7 @@ module Cloudkeeper
|
|
88
88
|
end
|
89
89
|
|
90
90
|
def generate_filename(uri)
|
91
|
-
File.join(Cloudkeeper::Settings[:'image-dir'],
|
91
|
+
File.join(Cloudkeeper::Settings[:'image-dir'], Cloudkeeper::Utils::Filename.sanitize(File.basename(uri.path)))
|
92
92
|
end
|
93
93
|
end
|
94
94
|
end
|
data/lib/cloudkeeper/utils.rb
CHANGED
@@ -52,7 +52,7 @@ module Cloudkeeper
|
|
52
52
|
|
53
53
|
appliance.image.add_image_file image_file.send("to_#{format}".to_sym)
|
54
54
|
rescue Cloudkeeper::Errors::Image::Format::NoRequiredFormatAvailableError, Cloudkeeper::Errors::CommandExecutionError,
|
55
|
-
Cloudkeeper::Errors::ArgumentError, ::IOError => ex
|
55
|
+
Cloudkeeper::Errors::ArgumentError, ::IOError, ::SystemCallError => ex
|
56
56
|
raise Cloudkeeper::Errors::Image::ConversionError, "Image #{appliance.image.uri.inspect} conversion error: #{ex.message}"
|
57
57
|
end
|
58
58
|
end
|
data/lib/cloudkeeper/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cloudkeeper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michal Kimle
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-03-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -403,6 +403,7 @@ files:
|
|
403
403
|
- lib/cloudkeeper/utils/appliance.rb
|
404
404
|
- lib/cloudkeeper/utils/checksum.rb
|
405
405
|
- lib/cloudkeeper/utils/date.rb
|
406
|
+
- lib/cloudkeeper/utils/filename.rb
|
406
407
|
- lib/cloudkeeper/utils/hash.rb
|
407
408
|
- lib/cloudkeeper/utils/url.rb
|
408
409
|
- lib/cloudkeeper/version.rb
|