filecluster 0.4.16 → 0.4.17
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/fc/item.rb +8 -1
- data/lib/fc/version.rb +1 -1
- data/test/functional_test.rb +5 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 376e00916cd7b2384892f7b11f2835780f767061
|
4
|
+
data.tar.gz: dd5e27d1796f88edaad7cd3a6c86db1abea85c9b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d23de791e039af872b21516509c6458b93ddcdb74e485bea3f281452999e803f5848fc99367bd5767eebc1ec707ac7881d2db6dc4a72a7840956e4663b20bbb2
|
7
|
+
data.tar.gz: fef507239f5611148b49f2d99bbba2fa8a0935a5f6fa98a46479fa015b5270a406d397a2fbd61adb8aeb3156ffc7166a3572c851f75299f14148a803fc60ed7d
|
data/lib/fc/item.rb
CHANGED
@@ -53,7 +53,14 @@ module FC
|
|
53
53
|
item_storage = item.make_item_storage(storage, 'ready')
|
54
54
|
item.reload
|
55
55
|
else
|
56
|
-
|
56
|
+
if item.copies.to_i > 0
|
57
|
+
# find storage in item.item_storages
|
58
|
+
storages_names = item.get_item_storages.select{|s| s.status == 'ready'}.map(&:storage_name)
|
59
|
+
storage = FC::Storage.select_proper_storage_for_create(policy.get_create_storages, item.size) do |storages|
|
60
|
+
storages.select{|s| storages_names.detect(s.name)}
|
61
|
+
end
|
62
|
+
end
|
63
|
+
storage = policy.get_proper_storage_for_create(item.size, local_path) unless storage
|
57
64
|
FC::Error.raise 'No available storage', :item_id => item.id unless storage
|
58
65
|
|
59
66
|
# mark delete item_storages on replace
|
data/lib/fc/version.rb
CHANGED
data/test/functional_test.rb
CHANGED
@@ -81,6 +81,11 @@ class FunctionalTest < Test::Unit::TestCase
|
|
81
81
|
assert_equal errors_count+1, FC::Error.where.count, "Error not saved after replace item"
|
82
82
|
assert_nothing_raised { @item2 = FC::Item.create_from_local(@@test_file_path, 'test2', @@policies[0], {:replace => true, :tag => 'test'}) }
|
83
83
|
assert_equal @item.id, @item2.id, "Item (id1=#{@item.id}, id2=#{@item2.id}) change id after replace"
|
84
|
+
item_storage = @item2.get_item_storages.first
|
85
|
+
item_storage.storage_name = 'host2-sda'
|
86
|
+
item_storage.save
|
87
|
+
assert_nothing_raised { @item2 = FC::Item.create_from_local(@@test_file_path, 'test2', @@policies[0], {:replace => true, :tag => 'test'}) }
|
88
|
+
assert_equal 'host2-sda', @item2.get_item_storages.first.storage_name
|
84
89
|
end
|
85
90
|
|
86
91
|
should "item create_from_local available storage" do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: filecluster
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.17
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- sh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-12-
|
11
|
+
date: 2015-12-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mysql2
|