filecluster 0.4.16 → 0.4.17

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