topological_inventory-core 1.1.5 → 1.2.1
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/README.md +1 -1
- data/app/models/refresh_state.rb +2 -0
- data/app/models/refresh_state_part.rb +2 -0
- data/db/migrate/20200811154716_add_index_to_refresh_state_parts.rb +6 -0
- data/db/migrate/20210106143551_add_guest_info_to_vms.rb +5 -0
- data/db/schema.rb +4 -1
- data/lib/topological_inventory/core/version.rb +1 -1
- data/lib/topological_inventory/schema/default.rb +13 -11
- metadata +24 -17
- data/app/assets/config/topological_inventory_manifest.js +0 -2
- data/app/assets/javascripts/topological_inventory/application.js +0 -13
- data/app/assets/stylesheets/topological_inventory/application.css +0 -15
- data/app/controllers/topological_inventory/application_controller.rb +0 -5
- data/app/helpers/topological_inventory/application_helper.rb +0 -4
- data/app/jobs/topological_inventory/application_job.rb +0 -4
- data/app/mailers/topological_inventory/application_mailer.rb +0 -6
- data/app/views/layouts/topological_inventory/application.html.erb +0 -14
- data/config/database.yml +0 -22
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ecf54fde41844a8514ee76d28e48f00c320db19dd611deae8558651d1eb8a00f
|
|
4
|
+
data.tar.gz: 3cd41ad2eba32e8cf42ef78739078e85c7092bd52ee9b732a8366e618668bc2b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6ff09bf2432c59e6120cd285d31e780d738f0e4efef355a0d04adcf31d9a5f40826bd3517327bee505d1b896a93954f0c9bb0d0ead24369d7ef8d7892a30b8cc
|
|
7
|
+
data.tar.gz: 4c4287841a0ea473368029963f8630d269cdffce00f848503c67bfb69a1824c37452533fb8fb269b8fbf352287dac6fbe76bed832f61843388c9b4d5618eacf9
|
data/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Topological Inventory Core
|
|
2
2
|
|
|
3
|
-
[](https://travis-ci.com/RedHatInsights/topological_inventory-core)
|
|
4
4
|
[](https://codeclimate.com/github/RedHatInsights/topological_inventory-core/maintainability)
|
|
5
5
|
[](https://codeclimate.com/github/RedHatInsights/topological_inventory-core/test_coverage)
|
|
6
6
|
[](https://hakiri.io/github/RedHatInsights/topological_inventory-core/master)
|
data/app/models/refresh_state.rb
CHANGED
data/db/schema.rb
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
#
|
|
11
11
|
# It's strongly recommended that you check this file into your version control system.
|
|
12
12
|
|
|
13
|
-
ActiveRecord::Schema.define(version:
|
|
13
|
+
ActiveRecord::Schema.define(version: 2021_01_06_143551) do
|
|
14
14
|
|
|
15
15
|
# These are extensions that must be enabled in order to support this database
|
|
16
16
|
enable_extension "plpgsql"
|
|
@@ -622,6 +622,7 @@ ActiveRecord::Schema.define(version: 2020_05_05_101547) do
|
|
|
622
622
|
t.datetime "updated_at", null: false
|
|
623
623
|
t.index ["refresh_state_id", "uuid"], name: "index_refresh_state_parts_on_refresh_state_id_and_uuid", unique: true
|
|
624
624
|
t.index ["tenant_id"], name: "index_refresh_state_parts_on_tenant_id"
|
|
625
|
+
t.index ["uuid"], name: "index_refresh_state_parts_on_uuid"
|
|
625
626
|
end
|
|
626
627
|
|
|
627
628
|
create_table "refresh_states", force: :cascade do |t|
|
|
@@ -639,6 +640,7 @@ ActiveRecord::Schema.define(version: 2020_05_05_101547) do
|
|
|
639
640
|
t.datetime "finished_at"
|
|
640
641
|
t.index ["source_id", "uuid"], name: "index_refresh_states_on_source_id_and_uuid", unique: true
|
|
641
642
|
t.index ["tenant_id"], name: "index_refresh_states_on_tenant_id"
|
|
643
|
+
t.index ["uuid"], name: "index_refresh_states_on_uuid"
|
|
642
644
|
end
|
|
643
645
|
|
|
644
646
|
create_table "reservation_tags", id: :serial, force: :cascade do |t|
|
|
@@ -1258,6 +1260,7 @@ ActiveRecord::Schema.define(version: 2020_05_05_101547) do
|
|
|
1258
1260
|
t.bigint "subscription_id"
|
|
1259
1261
|
t.bigint "host_id"
|
|
1260
1262
|
t.bigint "refresh_state_part_id"
|
|
1263
|
+
t.string "guest_info"
|
|
1261
1264
|
t.index ["archived_at"], name: "index_vms_on_archived_at"
|
|
1262
1265
|
t.index ["flavor_id"], name: "index_vms_on_flavor_id"
|
|
1263
1266
|
t.index ["host_id"], name: "index_vms_on_host_id"
|
|
@@ -151,14 +151,15 @@ module TopologicalInventory
|
|
|
151
151
|
service_instance_tasks_update_by_activerecord(tasks_collection, source, src_refs)
|
|
152
152
|
end
|
|
153
153
|
|
|
154
|
-
def task_update_values(svc_instance_id, source_ref, external_url, status, task_status, finished_timestamp, source_id)
|
|
154
|
+
def task_update_values(svc_instance_id, source_ref, external_url, status, artifacts, task_status, finished_timestamp, archived_timestamp, source_id)
|
|
155
155
|
{
|
|
156
|
-
:state
|
|
157
|
-
:status
|
|
156
|
+
:state => finished_timestamp.blank? && archived_timestamp.blank? ? 'running' : 'completed',
|
|
157
|
+
:status => task_status,
|
|
158
158
|
:context => {
|
|
159
159
|
:service_instance => {
|
|
160
160
|
:id => svc_instance_id,
|
|
161
161
|
:job_status => status,
|
|
162
|
+
:artifacts => artifacts,
|
|
162
163
|
:source_id => source_id,
|
|
163
164
|
:source_ref => source_ref,
|
|
164
165
|
:url => external_url
|
|
@@ -172,12 +173,12 @@ module TopologicalInventory
|
|
|
172
173
|
service_instances = ServiceInstance.where(:source_id => source.id, :source_ref => svc_instances_source_ref)
|
|
173
174
|
tasks_by_source_ref = Task.where(:state => 'running', :target_type => 'ServiceInstance', :source_id => source.id, :target_source_ref => service_instances.pluck(:source_ref)).index_by(&:target_source_ref)
|
|
174
175
|
|
|
175
|
-
service_instances.select(:id, :external_url, :source_ref, :extra).find_in_batches do |group|
|
|
176
|
+
service_instances.select(:id, :archived_at, :external_url, :source_ref, :extra).find_in_batches do |group|
|
|
176
177
|
ActiveRecord::Base.transaction do
|
|
177
178
|
group.each do |svc_instance|
|
|
178
179
|
next if (task = tasks_by_source_ref[svc_instance.source_ref]).nil?
|
|
179
180
|
|
|
180
|
-
values = task_update_values(svc_instance.id, svc_instance.source_ref, svc_instance.external_url, svc_instance.extra['status'], svc_instance.extra['task_status'], svc_instance.extra['finished'], source.id)
|
|
181
|
+
values = task_update_values(svc_instance.id, svc_instance.source_ref, svc_instance.external_url, svc_instance.extra['status'], svc_instance.extra['artifacts'], svc_instance.extra['task_status'], svc_instance.extra['finished'], svc_instance.archived_at, source.id)
|
|
181
182
|
# 1) Updating Task
|
|
182
183
|
task.update(values)
|
|
183
184
|
|
|
@@ -198,19 +199,20 @@ module TopologicalInventory
|
|
|
198
199
|
|
|
199
200
|
# Load saved service instances (IDs needed)
|
|
200
201
|
svc_instances_values = ServiceInstance.where(:source_ref => tasks_source_ref)
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
202
|
+
.pluck(:id, :archived_at, :external_url, :source_ref,
|
|
203
|
+
Arel.sql("extra->'finished'"),
|
|
204
|
+
Arel.sql("extra->'status'"),
|
|
205
|
+
Arel.sql("extra->'task_status'"),
|
|
206
|
+
Arel.sql("extra->'artifacts'"))
|
|
205
207
|
return if svc_instances_values.blank?
|
|
206
208
|
|
|
207
209
|
sql_update_values = []
|
|
208
210
|
|
|
209
211
|
# Preparing SQL update values from loaded ServiceInstances
|
|
210
212
|
svc_instances_values.each do |attrs|
|
|
211
|
-
id, external_url, source_ref, finished_timestamp, status, task_status = attrs[0], attrs[1], attrs[2], attrs[3], attrs[4], attrs[5]
|
|
213
|
+
id, archived_at, external_url, source_ref, finished_timestamp, status, task_status, artifacts = attrs[0], attrs[1], attrs[2], attrs[3], attrs[4], attrs[5], attrs[6], attrs[7]
|
|
212
214
|
|
|
213
|
-
values = task_update_values(id, external_url, status, task_status, finished_timestamp)
|
|
215
|
+
values = task_update_values(id, source_ref, external_url, status, artifacts, task_status, finished_timestamp, archived_at, source.id)
|
|
214
216
|
sql_update_values << "('#{source_ref}', '#{values[:state]}', '#{values[:status]}', '#{values[:context].to_json}'::json)"
|
|
215
217
|
end
|
|
216
218
|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: topological_inventory-core
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.1
|
|
4
|
+
version: 1.2.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Adam Grare
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-01-18 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: acts_as_tenant
|
|
@@ -44,14 +44,14 @@ dependencies:
|
|
|
44
44
|
requirements:
|
|
45
45
|
- - "~>"
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version:
|
|
47
|
+
version: 1.0.0
|
|
48
48
|
type: :runtime
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
52
|
- - "~>"
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
|
-
version:
|
|
54
|
+
version: 1.0.0
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
56
|
name: manageiq-password
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -142,28 +142,42 @@ dependencies:
|
|
|
142
142
|
requirements:
|
|
143
143
|
- - "~>"
|
|
144
144
|
- !ruby/object:Gem::Version
|
|
145
|
-
version: 0.
|
|
145
|
+
version: 1.0.0
|
|
146
146
|
type: :development
|
|
147
147
|
prerelease: false
|
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
|
149
149
|
requirements:
|
|
150
150
|
- - "~>"
|
|
151
151
|
- !ruby/object:Gem::Version
|
|
152
|
-
version: 0.
|
|
152
|
+
version: 1.0.0
|
|
153
153
|
- !ruby/object:Gem::Dependency
|
|
154
154
|
name: rubocop-performance
|
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
|
156
156
|
requirements:
|
|
157
157
|
- - "~>"
|
|
158
158
|
- !ruby/object:Gem::Version
|
|
159
|
-
version: '1.
|
|
159
|
+
version: '1.8'
|
|
160
160
|
type: :development
|
|
161
161
|
prerelease: false
|
|
162
162
|
version_requirements: !ruby/object:Gem::Requirement
|
|
163
163
|
requirements:
|
|
164
164
|
- - "~>"
|
|
165
165
|
- !ruby/object:Gem::Version
|
|
166
|
-
version: '1.
|
|
166
|
+
version: '1.8'
|
|
167
|
+
- !ruby/object:Gem::Dependency
|
|
168
|
+
name: rubocop-rails
|
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
|
170
|
+
requirements:
|
|
171
|
+
- - "~>"
|
|
172
|
+
- !ruby/object:Gem::Version
|
|
173
|
+
version: '2.8'
|
|
174
|
+
type: :development
|
|
175
|
+
prerelease: false
|
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
177
|
+
requirements:
|
|
178
|
+
- - "~>"
|
|
179
|
+
- !ruby/object:Gem::Version
|
|
180
|
+
version: '2.8'
|
|
167
181
|
- !ruby/object:Gem::Dependency
|
|
168
182
|
name: simplecov
|
|
169
183
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -202,13 +216,6 @@ files:
|
|
|
202
216
|
- LICENSE.txt
|
|
203
217
|
- README.md
|
|
204
218
|
- Rakefile
|
|
205
|
-
- app/assets/config/topological_inventory_manifest.js
|
|
206
|
-
- app/assets/javascripts/topological_inventory/application.js
|
|
207
|
-
- app/assets/stylesheets/topological_inventory/application.css
|
|
208
|
-
- app/controllers/topological_inventory/application_controller.rb
|
|
209
|
-
- app/helpers/topological_inventory/application_helper.rb
|
|
210
|
-
- app/jobs/topological_inventory/application_job.rb
|
|
211
|
-
- app/mailers/topological_inventory/application_mailer.rb
|
|
212
219
|
- app/models/application_record.rb
|
|
213
220
|
- app/models/availability.rb
|
|
214
221
|
- app/models/cluster.rb
|
|
@@ -275,9 +282,7 @@ files:
|
|
|
275
282
|
- app/models/volume.rb
|
|
276
283
|
- app/models/volume_attachment.rb
|
|
277
284
|
- app/models/volume_type.rb
|
|
278
|
-
- app/views/layouts/topological_inventory/application.html.erb
|
|
279
285
|
- config/database.dev.yml
|
|
280
|
-
- config/database.yml
|
|
281
286
|
- db/migrate/20180919170553_add_sources_and_endpoints.rb
|
|
282
287
|
- db/migrate/20180927171624_add_container_models.rb
|
|
283
288
|
- db/migrate/20180927205317_add_service_catalog_models.rb
|
|
@@ -385,6 +390,8 @@ files:
|
|
|
385
390
|
- db/migrate/20200421141934_add_source_updated_at.rb
|
|
386
391
|
- db/migrate/20200428090420_add_request_id_to_task.rb
|
|
387
392
|
- db/migrate/20200505101547_add_forwardable_headers_remove_request_id_on_task.rb
|
|
393
|
+
- db/migrate/20200811154716_add_index_to_refresh_state_parts.rb
|
|
394
|
+
- db/migrate/20210106143551_add_guest_info_to_vms.rb
|
|
388
395
|
- db/schema.rb
|
|
389
396
|
- db/seeds.rb
|
|
390
397
|
- lib/tasks/topological_inventory_tasks.rake
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
// This is a manifest file that'll be compiled into application.js, which will include all the files
|
|
2
|
-
// listed below.
|
|
3
|
-
//
|
|
4
|
-
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
|
|
5
|
-
// or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
|
|
6
|
-
//
|
|
7
|
-
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
|
|
8
|
-
// compiled file. JavaScript code in this file should be added after the last require_* statement.
|
|
9
|
-
//
|
|
10
|
-
// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
|
|
11
|
-
// about supported directives.
|
|
12
|
-
//
|
|
13
|
-
//= require_tree .
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* This is a manifest file that'll be compiled into application.css, which will include all the files
|
|
3
|
-
* listed below.
|
|
4
|
-
*
|
|
5
|
-
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
|
|
6
|
-
* or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
|
|
7
|
-
*
|
|
8
|
-
* You're free to add application-wide styles to this file and they'll appear at the bottom of the
|
|
9
|
-
* compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
|
|
10
|
-
* files in this directory. Styles in this file should be added after the last require_* statement.
|
|
11
|
-
* It is generally better to create a new file per style scope.
|
|
12
|
-
*
|
|
13
|
-
*= require_tree .
|
|
14
|
-
*= require_self
|
|
15
|
-
*/
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html>
|
|
3
|
-
<head>
|
|
4
|
-
<title>Topological inventory</title>
|
|
5
|
-
<%= stylesheet_link_tag "topological_inventory/application", media: "all" %>
|
|
6
|
-
<%= javascript_include_tag "topological_inventory/application" %>
|
|
7
|
-
<%= csrf_meta_tags %>
|
|
8
|
-
</head>
|
|
9
|
-
<body>
|
|
10
|
-
|
|
11
|
-
<%= yield %>
|
|
12
|
-
|
|
13
|
-
</body>
|
|
14
|
-
</html>
|
data/config/database.yml
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
default: &default
|
|
2
|
-
adapter: postgresql
|
|
3
|
-
encoding: utf8
|
|
4
|
-
host: localhost
|
|
5
|
-
port: 5432
|
|
6
|
-
username: root
|
|
7
|
-
pool: 5
|
|
8
|
-
wait_timeout: 5
|
|
9
|
-
min_messages: warning
|
|
10
|
-
|
|
11
|
-
development:
|
|
12
|
-
<<: *default
|
|
13
|
-
database: topological_inventory_development
|
|
14
|
-
min_messages: notice
|
|
15
|
-
|
|
16
|
-
test:
|
|
17
|
-
<<: *default
|
|
18
|
-
database: topological_inventory_test
|
|
19
|
-
|
|
20
|
-
production:
|
|
21
|
-
<<: *default
|
|
22
|
-
database: topological_inventory_production
|