inventory_refresh 0.0.1 → 0.1.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 +5 -5
- data/.gitignore +1 -0
- data/.travis.yml +12 -3
- data/README.md +12 -2
- data/inventory_refresh.gemspec +1 -0
- data/lib/inventory_refresh.rb +9 -0
- data/lib/inventory_refresh/inventory_collection/index/proxy.rb +3 -0
- data/lib/inventory_refresh/logging.rb +8 -0
- data/lib/inventory_refresh/null_logger.rb +15 -0
- data/lib/inventory_refresh/save_collection/base.rb +7 -4
- data/lib/inventory_refresh/save_collection/recursive.rb +1 -1
- data/lib/inventory_refresh/save_collection/saver/base.rb +15 -13
- data/lib/inventory_refresh/save_collection/saver/concurrent_safe_batch.rb +6 -6
- data/lib/inventory_refresh/save_collection/saver/default.rb +2 -2
- data/lib/inventory_refresh/save_collection/saver/sql_helper.rb +4 -1
- data/lib/inventory_refresh/save_collection/saver/sql_helper_update.rb +6 -2
- data/lib/inventory_refresh/save_collection/saver/sql_helper_upsert.rb +6 -2
- data/lib/inventory_refresh/save_collection/topological_sort.rb +8 -8
- data/lib/inventory_refresh/save_inventory.rb +6 -4
- data/lib/inventory_refresh/version.rb +1 -1
- metadata +19 -4
- data/tools/ci/create_db_user.sh +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 00266e0193f5fcd991d5f926e9477ddcec56ef52ba3b8d516d5483b43fb6eb36
|
4
|
+
data.tar.gz: 2d8aeb9ca8186c4b337fbdb3813c8f72e6b331f618bb79a12ccd81f56902be26
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0a854c89dcccc990099dbc460b18c2aebb8ed18b93bb07f062d6ab384442d999e9afb10e5f8e03808353d4c140900f594ff09313f4dcccb0569a05639c0b5154
|
7
|
+
data.tar.gz: 5d8c54008b0549e32c95925b01b272056ad95b82241cc7449108f627d6898520d30a033c7adaba31d979e41d2bf3d9c367e9d59f67194b3564bc7851243a05d1
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
@@ -5,8 +5,17 @@ cache: bundler
|
|
5
5
|
rvm:
|
6
6
|
- 2.4.2
|
7
7
|
addons:
|
8
|
-
postgresql: '9.
|
8
|
+
postgresql: '9.5'
|
9
9
|
before_install:
|
10
10
|
- gem install bundler -v 1.16.4
|
11
|
-
-
|
12
|
-
before_script:
|
11
|
+
- psql -c "CREATE USER root SUPERUSER PASSWORD 'smartvm';" -U postgres
|
12
|
+
before_script:
|
13
|
+
# Code Climate
|
14
|
+
- curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
|
15
|
+
- chmod +x ./cc-test-reporter
|
16
|
+
- "./cc-test-reporter before-build"
|
17
|
+
# inventory_refresh
|
18
|
+
- bundle exec rake spec:setup
|
19
|
+
after_script:
|
20
|
+
# Code Climate
|
21
|
+
- "./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT"
|
data/README.md
CHANGED
@@ -1,8 +1,14 @@
|
|
1
1
|
# InventoryRefresh
|
2
2
|
|
3
|
-
|
3
|
+
[](http://badge.fury.io/rb/inventory_refresh)
|
4
|
+
[](https://travis-ci.org/ManageIQ/inventory_refresh)
|
5
|
+
[](https://codeclimate.com/github/ManageIQ/inventory_refresh)
|
6
|
+
[](https://codeclimate.com/github/ManageIQ/inventory_refresh/coverage)
|
7
|
+
[](https://hakiri.io/github/ManageIQ/inventory_refresh/master)
|
4
8
|
|
5
|
-
|
9
|
+
[](https://gitter.im/ManageIQ/manageiq/providers?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
10
|
+
|
11
|
+
Topological Inventory Persister
|
6
12
|
|
7
13
|
## Installation
|
8
14
|
|
@@ -33,3 +39,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
33
39
|
## Contributing
|
34
40
|
|
35
41
|
Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/inventory_refresh.
|
42
|
+
|
43
|
+
## License
|
44
|
+
|
45
|
+
The gem is available as open source under the terms of the [Apache License 2.0](LICENSE).
|
data/inventory_refresh.gemspec
CHANGED
data/lib/inventory_refresh.rb
CHANGED
@@ -2,10 +2,19 @@ require "inventory_refresh/graph"
|
|
2
2
|
require "inventory_refresh/inventory_collection"
|
3
3
|
require "inventory_refresh/inventory_object"
|
4
4
|
require "inventory_refresh/inventory_object_lazy"
|
5
|
+
require "inventory_refresh/logging"
|
6
|
+
require "inventory_refresh/null_logger"
|
5
7
|
require "inventory_refresh/save_inventory"
|
6
8
|
require "inventory_refresh/target"
|
7
9
|
require "inventory_refresh/target_collection"
|
8
10
|
require "inventory_refresh/version"
|
9
11
|
|
10
12
|
module InventoryRefresh
|
13
|
+
class << self
|
14
|
+
attr_accessor :log
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.log
|
18
|
+
@log ||= NullLogger.new
|
19
|
+
end
|
11
20
|
end
|
@@ -1,12 +1,15 @@
|
|
1
1
|
require "inventory_refresh/inventory_collection/index/type/data"
|
2
2
|
require "inventory_refresh/inventory_collection/index/type/local_db"
|
3
3
|
require "inventory_refresh/inventory_collection/index/type/skeletal"
|
4
|
+
require "inventory_refresh/logging"
|
4
5
|
require "active_support/core_ext/module/delegation"
|
5
6
|
|
6
7
|
module InventoryRefresh
|
7
8
|
class InventoryCollection
|
8
9
|
module Index
|
9
10
|
class Proxy
|
11
|
+
include InventoryRefresh::Logging
|
12
|
+
|
10
13
|
attr_reader :skeletal_primary_index
|
11
14
|
|
12
15
|
# @param inventory_collection [InventoryRefresh::InventoryCollection] InventoryCollection object owning the proxy
|
@@ -1,3 +1,4 @@
|
|
1
|
+
require "inventory_refresh/logging"
|
1
2
|
require "inventory_refresh/save_collection/saver/batch"
|
2
3
|
require "inventory_refresh/save_collection/saver/concurrent_safe"
|
3
4
|
require "inventory_refresh/save_collection/saver/concurrent_safe_batch"
|
@@ -6,21 +7,23 @@ require "inventory_refresh/save_collection/saver/default"
|
|
6
7
|
module InventoryRefresh::SaveCollection
|
7
8
|
class Base
|
8
9
|
class << self
|
10
|
+
include InventoryRefresh::Logging
|
11
|
+
|
9
12
|
# Saves one InventoryCollection object into the DB.
|
10
13
|
#
|
11
14
|
# @param ems [ExtManagementSystem] manger owning the InventoryCollection object
|
12
15
|
# @param inventory_collection [InventoryRefresh::InventoryCollection] InventoryCollection object we want to save
|
13
16
|
def save_inventory_object_inventory(ems, inventory_collection)
|
14
|
-
|
15
|
-
|
17
|
+
log.debug("Saving collection #{inventory_collection} of size #{inventory_collection.size} to"\
|
18
|
+
" the database, for the manager: '#{ems.name}'...")
|
16
19
|
|
17
20
|
if inventory_collection.custom_save_block.present?
|
18
|
-
|
21
|
+
log.debug("Saving collection #{inventory_collection} using a custom save block")
|
19
22
|
inventory_collection.custom_save_block.call(ems, inventory_collection)
|
20
23
|
else
|
21
24
|
save_inventory(inventory_collection)
|
22
25
|
end
|
23
|
-
|
26
|
+
log.debug("Saving collection #{inventory_collection}, for the manager: '#{ems.name}'...Complete")
|
24
27
|
inventory_collection.saved = true
|
25
28
|
end
|
26
29
|
|
@@ -44,7 +44,7 @@ module InventoryRefresh::SaveCollection
|
|
44
44
|
end
|
45
45
|
end
|
46
46
|
|
47
|
-
|
47
|
+
log.debug("Saving #{inventory_collection} of size #{inventory_collection.size}")
|
48
48
|
save_inventory_object_inventory(ems, inventory_collection)
|
49
49
|
end
|
50
50
|
end
|
@@ -1,10 +1,12 @@
|
|
1
1
|
require "inventory_refresh/application_record_iterator"
|
2
|
+
require "inventory_refresh/logging"
|
2
3
|
require "inventory_refresh/save_collection/saver/sql_helper"
|
3
4
|
require "active_support/core_ext/module/delegation"
|
4
5
|
|
5
6
|
module InventoryRefresh::SaveCollection
|
6
7
|
module Saver
|
7
8
|
class Base
|
9
|
+
include InventoryRefresh::Logging
|
8
10
|
include InventoryRefresh::SaveCollection::Saver::SqlHelper
|
9
11
|
|
10
12
|
# @param inventory_collection [InventoryRefresh::InventoryCollection] InventoryCollection object we will be saving
|
@@ -138,7 +140,7 @@ module InventoryRefresh::SaveCollection
|
|
138
140
|
inventory_objects_index[index] = inventory_object
|
139
141
|
end
|
140
142
|
|
141
|
-
|
143
|
+
log.debug("Processing #{inventory_collection} of size #{inventory_collection.size}...")
|
142
144
|
# Records that are in the DB, we will be updating or deleting them.
|
143
145
|
ActiveRecord::Base.transaction do
|
144
146
|
association.find_each do |record|
|
@@ -175,12 +177,12 @@ module InventoryRefresh::SaveCollection
|
|
175
177
|
end
|
176
178
|
end
|
177
179
|
end
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
180
|
+
log.debug("Processing #{inventory_collection}, "\
|
181
|
+
"created=#{inventory_collection.created_records.count}, "\
|
182
|
+
"updated=#{inventory_collection.updated_records.count}, "\
|
183
|
+
"deleted=#{inventory_collection.deleted_records.count}...Complete")
|
182
184
|
rescue => e
|
183
|
-
|
185
|
+
log.error("Error when saving #{inventory_collection} with #{inventory_collection_details}. Message: #{e.message}")
|
184
186
|
raise e
|
185
187
|
end
|
186
188
|
|
@@ -202,8 +204,8 @@ module InventoryRefresh::SaveCollection
|
|
202
204
|
|
203
205
|
all_manager_uuids_size = inventory_collection.all_manager_uuids.size
|
204
206
|
|
205
|
-
|
206
|
-
|
207
|
+
log.debug("Processing :delete_complement of #{inventory_collection} of size "\
|
208
|
+
"#{all_manager_uuids_size}...")
|
207
209
|
deleted_counter = 0
|
208
210
|
|
209
211
|
inventory_collection.db_collection_for_comparison_for_complement_of(
|
@@ -217,8 +219,8 @@ module InventoryRefresh::SaveCollection
|
|
217
219
|
end
|
218
220
|
end
|
219
221
|
|
220
|
-
|
221
|
-
|
222
|
+
log.debug("Processing :delete_complement of #{inventory_collection} of size "\
|
223
|
+
"#{all_manager_uuids_size}, deleted=#{deleted_counter}...Complete")
|
222
224
|
end
|
223
225
|
|
224
226
|
# Deletes/soft-deletes a given record
|
@@ -246,8 +248,8 @@ module InventoryRefresh::SaveCollection
|
|
246
248
|
# relations can return the same record multiple times. We don't want to do SELECT DISTINCT by default, since
|
247
249
|
# it can be very slow.
|
248
250
|
if false # TODO: Rails.env.production?
|
249
|
-
|
250
|
-
|
251
|
+
log.warn("Please update :association or :arel for #{inventory_collection} to return a DISTINCT result. "\
|
252
|
+
" The duplicate value is being ignored.")
|
251
253
|
return false
|
252
254
|
else
|
253
255
|
raise("Please update :association or :arel for #{inventory_collection} to return a DISTINCT result. ")
|
@@ -272,7 +274,7 @@ module InventoryRefresh::SaveCollection
|
|
272
274
|
"#{inventory_collection.parent.class.name}:"\
|
273
275
|
"#{inventory_collection.parent.try(:id)}"
|
274
276
|
if false # TODO: Rails.env.production?
|
275
|
-
|
277
|
+
log.warn("Referential integrity check violated, ignoring #{subject}")
|
276
278
|
return false
|
277
279
|
else
|
278
280
|
raise("Referential integrity check violated for #{subject}")
|
@@ -97,7 +97,7 @@ module InventoryRefresh::SaveCollection
|
|
97
97
|
all_attribute_keys << :updated_on if supports_updated_on?
|
98
98
|
all_attribute_keys << :type if supports_sti?
|
99
99
|
|
100
|
-
|
100
|
+
log.debug("Processing #{inventory_collection} of size #{inventory_collection.size}...")
|
101
101
|
|
102
102
|
unless inventory_collection.create_only?
|
103
103
|
update_or_destroy_records!(batch_iterator(association), inventory_objects_index, attributes_index, all_attribute_keys)
|
@@ -123,12 +123,12 @@ module InventoryRefresh::SaveCollection
|
|
123
123
|
create_or_update_partial_records(all_attribute_keys)
|
124
124
|
end
|
125
125
|
end
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
126
|
+
log.debug("Processing #{inventory_collection}, "\
|
127
|
+
"created=#{inventory_collection.created_records.count}, "\
|
128
|
+
"updated=#{inventory_collection.updated_records.count}, "\
|
129
|
+
"deleted=#{inventory_collection.deleted_records.count}...Complete")
|
130
130
|
rescue => e
|
131
|
-
|
131
|
+
log.error("Error when saving #{inventory_collection} with #{inventory_collection_details}. Message: #{e.message}")
|
132
132
|
raise e
|
133
133
|
end
|
134
134
|
|
@@ -43,8 +43,8 @@ module InventoryRefresh::SaveCollection
|
|
43
43
|
if unique_db_indexes.include?(index) # Include on Set is O(1)
|
44
44
|
# We have a duplicate in the DB, destroy it. A find_each method does automatically .order(:id => :asc)
|
45
45
|
# so we always keep the oldest record in the case of duplicates.
|
46
|
-
|
47
|
-
|
46
|
+
log.warn("A duplicate record was detected and destroyed, inventory_collection: "\
|
47
|
+
"'#{inventory_collection}', record: '#{record}', duplicate_index: '#{index}'")
|
48
48
|
record.destroy
|
49
49
|
return false
|
50
50
|
else
|
@@ -1,10 +1,13 @@
|
|
1
1
|
require "inventory_refresh/save_collection/saver/sql_helper_update"
|
2
2
|
require "inventory_refresh/save_collection/saver/sql_helper_upsert"
|
3
|
+
require "inventory_refresh/logging"
|
3
4
|
require "active_support/concern"
|
4
5
|
|
5
6
|
module InventoryRefresh::SaveCollection
|
6
7
|
module Saver
|
7
8
|
module SqlHelper
|
9
|
+
include InventoryRefresh::Logging
|
10
|
+
|
8
11
|
# TODO(lsmola) all below methods should be rewritten to arel, but we need to first extend arel to be able to do
|
9
12
|
# this
|
10
13
|
|
@@ -51,7 +54,7 @@ module InventoryRefresh::SaveCollection
|
|
51
54
|
connection.quote(value)
|
52
55
|
end
|
53
56
|
rescue TypeError => e
|
54
|
-
|
57
|
+
log.error("Can't quote value: #{value}, of :#{name} and #{inventory_collection}")
|
55
58
|
raise e
|
56
59
|
end
|
57
60
|
|
@@ -1,6 +1,10 @@
|
|
1
|
+
require "inventory_refresh/logging"
|
2
|
+
|
1
3
|
module InventoryRefresh::SaveCollection
|
2
4
|
module Saver
|
3
5
|
module SqlHelperUpdate
|
6
|
+
include InventoryRefresh::Logging
|
7
|
+
|
4
8
|
# Builds update clause for one column identified by the passed key
|
5
9
|
#
|
6
10
|
# @param key [Symbol] key that is column name
|
@@ -14,7 +18,7 @@ module InventoryRefresh::SaveCollection
|
|
14
18
|
# @param all_attribute_keys [Array<Symbol>] Array of all columns we will be saving into each table row
|
15
19
|
# @param hashes [Array<Hash>] data used for building a batch update sql query
|
16
20
|
def build_update_query(all_attribute_keys, hashes)
|
17
|
-
|
21
|
+
log.debug("Building update query for #{inventory_collection} of size #{inventory_collection.size}...")
|
18
22
|
# Cache the connection for the batch
|
19
23
|
connection = get_connection
|
20
24
|
|
@@ -35,7 +39,7 @@ module InventoryRefresh::SaveCollection
|
|
35
39
|
update_query += update_query_version_conditions(version_attribute)
|
36
40
|
update_query += update_query_returning
|
37
41
|
|
38
|
-
|
42
|
+
log.debug("Building update query for #{inventory_collection} of size #{inventory_collection.size}...Complete")
|
39
43
|
|
40
44
|
update_query
|
41
45
|
end
|
@@ -1,6 +1,10 @@
|
|
1
|
+
require "inventory_refresh/logging"
|
2
|
+
|
1
3
|
module InventoryRefresh::SaveCollection
|
2
4
|
module Saver
|
3
5
|
module SqlHelperUpsert
|
6
|
+
include InventoryRefresh::Logging
|
7
|
+
|
4
8
|
# Builds ON CONFLICT UPDATE updating branch for one column identified by the passed key
|
5
9
|
#
|
6
10
|
# @param key [Symbol] key that is column name
|
@@ -16,7 +20,7 @@ module InventoryRefresh::SaveCollection
|
|
16
20
|
# @param on_conflict [Symbol, NilClass] defines behavior on conflict with unique index constraint, allowed values
|
17
21
|
# are :do_update, :do_nothing, nil
|
18
22
|
def build_insert_query(all_attribute_keys, hashes, on_conflict: nil, mode:, column_name: nil)
|
19
|
-
|
23
|
+
log.debug("Building insert query for #{inventory_collection} of size #{inventory_collection.size}...")
|
20
24
|
|
21
25
|
# Cache the connection for the batch
|
22
26
|
connection = get_connection
|
@@ -29,7 +33,7 @@ module InventoryRefresh::SaveCollection
|
|
29
33
|
insert_query += insert_query_on_conflict_behavior(all_attribute_keys, on_conflict, mode, ignore_cols, column_name)
|
30
34
|
insert_query += insert_query_returning
|
31
35
|
|
32
|
-
|
36
|
+
log.debug("Building insert query for #{inventory_collection} of size #{inventory_collection.size}...Complete")
|
33
37
|
|
34
38
|
insert_query
|
35
39
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require "inventory_refresh/
|
1
|
+
require "inventory_refresh/logging"
|
2
2
|
require "inventory_refresh/inventory_collection/graph"
|
3
3
|
require "inventory_refresh/save_collection/base"
|
4
4
|
|
@@ -17,21 +17,21 @@ module InventoryRefresh::SaveCollection
|
|
17
17
|
|
18
18
|
layers = InventoryRefresh::Graph::TopologicalSort.new(graph).topological_sort
|
19
19
|
|
20
|
-
|
20
|
+
log.debug("Saving manager #{ems.name}...")
|
21
21
|
|
22
|
-
|
23
|
-
|
24
|
-
|
22
|
+
sorted_graph_log = "Topological sorting of manager #{ems.name} resulted in these layers processable in parallel:\n"
|
23
|
+
sorted_graph_log += graph.to_graphviz(:layers => layers)
|
24
|
+
log.debug(sorted_graph_log)
|
25
25
|
|
26
26
|
layers.each_with_index do |layer, index|
|
27
|
-
|
27
|
+
log.debug("Saving manager #{ems.name} | Layer #{index}")
|
28
28
|
layer.each do |inventory_collection|
|
29
29
|
save_inventory_object_inventory(ems, inventory_collection) unless inventory_collection.saved?
|
30
30
|
end
|
31
|
-
|
31
|
+
log.debug("Saved manager #{ems.name} | Layer #{index}")
|
32
32
|
end
|
33
33
|
|
34
|
-
|
34
|
+
log.debug("Saving manager #{ems.name}...Complete")
|
35
35
|
end
|
36
36
|
end
|
37
37
|
end
|
@@ -4,17 +4,19 @@ require "inventory_refresh/save_collection/topological_sort"
|
|
4
4
|
module InventoryRefresh
|
5
5
|
class SaveInventory
|
6
6
|
class << self
|
7
|
+
include Logging
|
8
|
+
|
7
9
|
# Saves the passed InventoryCollection objects
|
8
10
|
#
|
9
11
|
# @param ems [ExtManagementSystem] manager owning the inventory_collections
|
10
12
|
# @param inventory_collections [Array<InventoryRefresh::InventoryCollection>] array of InventoryCollection objects
|
11
13
|
# for saving
|
12
14
|
def save_inventory(ems, inventory_collections, strategy = nil)
|
13
|
-
|
15
|
+
log.debug("#{log_header(ems)} Scanning Inventory Collections...Start")
|
14
16
|
InventoryRefresh::InventoryCollection::Scanner.scan!(inventory_collections)
|
15
|
-
|
17
|
+
log.debug("#{log_header(ems)} Scanning Inventory Collections...Complete")
|
16
18
|
|
17
|
-
|
19
|
+
log.info("#{log_header(ems)} Saving EMS Inventory...")
|
18
20
|
|
19
21
|
if strategy.try(:to_sym) == :recursive
|
20
22
|
InventoryRefresh::SaveCollection::Recursive.save_collections(ems, inventory_collections)
|
@@ -22,7 +24,7 @@ module InventoryRefresh
|
|
22
24
|
InventoryRefresh::SaveCollection::TopologicalSort.save_collections(ems, inventory_collections)
|
23
25
|
end
|
24
26
|
|
25
|
-
|
27
|
+
log.info("#{log_header(ems)} Saving EMS Inventory...Complete")
|
26
28
|
ems
|
27
29
|
end
|
28
30
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: inventory_refresh
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ManageIQ Developers
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-09-
|
11
|
+
date: 2018-09-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -122,6 +122,20 @@ dependencies:
|
|
122
122
|
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '3.0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: simplecov
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
125
139
|
description: Topological Inventory Persister
|
126
140
|
email:
|
127
141
|
executables: []
|
@@ -164,6 +178,8 @@ files:
|
|
164
178
|
- lib/inventory_refresh/inventory_collection/serialization.rb
|
165
179
|
- lib/inventory_refresh/inventory_object.rb
|
166
180
|
- lib/inventory_refresh/inventory_object_lazy.rb
|
181
|
+
- lib/inventory_refresh/logging.rb
|
182
|
+
- lib/inventory_refresh/null_logger.rb
|
167
183
|
- lib/inventory_refresh/save_collection/base.rb
|
168
184
|
- lib/inventory_refresh/save_collection/recursive.rb
|
169
185
|
- lib/inventory_refresh/save_collection/saver/base.rb
|
@@ -179,7 +195,6 @@ files:
|
|
179
195
|
- lib/inventory_refresh/target.rb
|
180
196
|
- lib/inventory_refresh/target_collection.rb
|
181
197
|
- lib/inventory_refresh/version.rb
|
182
|
-
- tools/ci/create_db_user.sh
|
183
198
|
homepage: https://github.com/ManageIQ/inventory_refresh
|
184
199
|
licenses:
|
185
200
|
- Apache-2.0
|
@@ -200,7 +215,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
200
215
|
version: '0'
|
201
216
|
requirements: []
|
202
217
|
rubyforge_project:
|
203
|
-
rubygems_version: 2.6
|
218
|
+
rubygems_version: 2.7.6
|
204
219
|
signing_key:
|
205
220
|
specification_version: 4
|
206
221
|
summary: Topological Inventory Persister
|
data/tools/ci/create_db_user.sh
DELETED