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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8a77a589e905d57361c53d461dac5bbdffcf5b15
4
- data.tar.gz: de91ef4e8a99f6124a24b72d0f4b63c428cd2286
3
+ metadata.gz: 376e00916cd7b2384892f7b11f2835780f767061
4
+ data.tar.gz: dd5e27d1796f88edaad7cd3a6c86db1abea85c9b
5
5
  SHA512:
6
- metadata.gz: 1e5e4519345081eca7d9b6fd704d65f185fb01e95bdf5d9a381430ffc8cf44afb5f6e96165cf3cb27543b1450b8d79e320e0d11f2ab0d40df4b61ad69c92eaf9
7
- data.tar.gz: 36940d94c87ddf6c69b5875df1d5d12d66c5ce02f502f1aea8c9a43f068ff0f3ad6167f53be9d6ec765175edc91b73830b880d2bff226eb5707358db3c7e2366
6
+ metadata.gz: d23de791e039af872b21516509c6458b93ddcdb74e485bea3f281452999e803f5848fc99367bd5767eebc1ec707ac7881d2db6dc4a72a7840956e4663b20bbb2
7
+ data.tar.gz: fef507239f5611148b49f2d99bbba2fa8a0935a5f6fa98a46479fa015b5270a406d397a2fbd61adb8aeb3156ffc7166a3572c851f75299f14148a803fc60ed7d
@@ -53,7 +53,14 @@ module FC
53
53
  item_storage = item.make_item_storage(storage, 'ready')
54
54
  item.reload
55
55
  else
56
- storage = policy.get_proper_storage_for_create(item.size, local_path)
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
@@ -1,3 +1,3 @@
1
1
  module FC
2
- VERSION = "0.4.16"
2
+ VERSION = "0.4.17"
3
3
  end
@@ -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.16
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-28 00:00:00.000000000 Z
11
+ date: 2015-12-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mysql2