katello 3.15.2 → 3.15.3
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of katello might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/app/models/katello/concerns/http_proxy_extensions.rb +30 -7
- data/app/models/katello/root_repository.rb +1 -1
- data/app/models/setting/content.rb +1 -1
- data/lib/katello/tasks/common.rake +7 -0
- data/lib/katello/tasks/delete_orphaned_content.rake +3 -1
- data/lib/katello/tasks/pulp3_migration.rake +2 -0
- data/lib/katello/tasks/repository.rake +2 -4
- data/lib/katello/version.rb +1 -1
- data/webpack/components/Content/ContentTable.js +2 -0
- data/webpack/components/Content/Details/ContentDetails.js +3 -0
- data/webpack/scenes/AnsibleCollections/Details/AnsibleCollectionDetails.js +3 -0
- data/webpack/scenes/ModuleStreams/Details/ModuleStreamDetails.js +3 -0
- data/webpack/scenes/RedHatRepositories/RedHatRepositoriesPage.js +2 -0
- data/webpack/scenes/RedHatRepositories/components/EnabledRepository/EnabledRepository.js +2 -0
- data/webpack/scenes/RedHatRepositories/components/RepositorySetRepository/RepositorySetRepository.js +2 -0
- data/webpack/scenes/Subscriptions/Details/SubscriptionDetailAssociations.js +2 -0
- data/webpack/scenes/Subscriptions/Details/SubscriptionDetailProductContent.js +2 -0
- data/webpack/scenes/Subscriptions/Details/SubscriptionDetailProducts.js +2 -0
- data/webpack/scenes/Subscriptions/Manifest/ManageManifestModal.js +2 -0
- data/webpack/scenes/Subscriptions/SubscriptionsPage.js +3 -0
- data/webpack/scenes/Subscriptions/UpstreamSubscriptions/UpstreamSubscriptionsPage.js +2 -0
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionsTable.js +2 -0
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/components/Dialogs/UpdateDialog.js +1 -1
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/components/Dialogs/index.js +4 -4
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/components/Table.js +2 -0
- metadata +7 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 54f3c8f8f08fc3a97cb04de42a964ed3d108177e
|
4
|
+
data.tar.gz: 78a9f9aeedd477f1d00419723aa0f6394d5059dc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 88a7845a0580e2a15ea5369a3a456a9721d1e21cee99f4778afae02f36e0998e9fed606a38354803332eded5896f5db01d24ca4ab87e127e27bc6355f7ff9d7c
|
7
|
+
data.tar.gz: 221debb1187c60710e648fcdd047a278fa5d6aa2d0f86b6b76ad126d2b2e096a969c88a2df639025077d10572ae55e4e5d2167cbc3ac1bb86b5db44015235a58
|
@@ -8,6 +8,7 @@ module Katello
|
|
8
8
|
:inverse_of => :http_proxy, :dependent => :nullify
|
9
9
|
after_update :update_default_proxy_setting
|
10
10
|
after_commit :update_repository_proxy_details
|
11
|
+
before_destroy :remove_references_to_proxy
|
11
12
|
|
12
13
|
def self.default_global_content_proxy
|
13
14
|
if Setting[:content_default_http_proxy]
|
@@ -16,6 +17,34 @@ module Katello
|
|
16
17
|
end
|
17
18
|
end
|
18
19
|
|
20
|
+
def repositories_with_proxy(proxy_id)
|
21
|
+
root_repos = RootRepository.with_selected_proxy(proxy_id)
|
22
|
+
|
23
|
+
if self == HttpProxy.default_global_content_proxy
|
24
|
+
root_repos += RootRepository.with_global_proxy
|
25
|
+
end
|
26
|
+
|
27
|
+
root_repos
|
28
|
+
end
|
29
|
+
|
30
|
+
def remove_references_to_proxy
|
31
|
+
root_repos = repositories_with_proxy(nil).uniq.sort
|
32
|
+
|
33
|
+
setting = Setting.find_by(name: 'content_default_http_proxy')
|
34
|
+
if setting&.value && setting.value == self.name
|
35
|
+
setting.update_attribute(:value, '')
|
36
|
+
end
|
37
|
+
|
38
|
+
unless root_repos.empty?
|
39
|
+
ForemanTasks.async_task(
|
40
|
+
::Actions::BulkAction,
|
41
|
+
::Actions::Katello::Repository::Update,
|
42
|
+
root_repos,
|
43
|
+
http_proxy_policy: Katello::RootRepository::GLOBAL_DEFAULT_HTTP_PROXY,
|
44
|
+
http_proxy_id: nil)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
19
48
|
def update_default_proxy_setting
|
20
49
|
changes = self.previous_changes
|
21
50
|
if changes.key?(:name)
|
@@ -32,13 +61,7 @@ module Katello
|
|
32
61
|
changes = self.previous_changes
|
33
62
|
if changes.key?(:url) || changes.key?(:username) || changes.key?(:password)
|
34
63
|
|
35
|
-
|
36
|
-
|
37
|
-
if self == HttpProxy.default_global_content_proxy
|
38
|
-
root_repos += RootRepository.with_global_proxy
|
39
|
-
end
|
40
|
-
|
41
|
-
repos = root_repos.uniq.collect(&:library_instance)
|
64
|
+
repos = repositories_with_proxy(id).uniq.collect(&:library_instance)
|
42
65
|
|
43
66
|
unless repos.empty?
|
44
67
|
ForemanTasks.async_task(
|
@@ -97,7 +97,7 @@ module Katello
|
|
97
97
|
scope :with_no_proxy, -> { where(:http_proxy_policy => RootRepository::NO_DEFAULT_HTTP_PROXY) }
|
98
98
|
scope :with_selected_proxy, ->(http_proxy_id) {
|
99
99
|
where(:http_proxy_policy => RootRepository::USE_SELECTED_HTTP_PROXY).
|
100
|
-
where(
|
100
|
+
where(:http_proxy_id => http_proxy_id)
|
101
101
|
}
|
102
102
|
delegate :redhat?, :provider, :organization, to: :product
|
103
103
|
|
@@ -2,7 +2,7 @@ class Setting::Content < Setting
|
|
2
2
|
#rubocop:disable Metrics/MethodLength
|
3
3
|
#rubocop:disable Metrics/AbcSize
|
4
4
|
|
5
|
-
validate :content_default_http_proxy, if: proc { |s| s.name == 'content_default_http_proxy' }
|
5
|
+
validate :content_default_http_proxy, if: proc { |s| s.name == 'content_default_http_proxy' && HttpProxy.table_exists? }
|
6
6
|
|
7
7
|
after_save :add_organizations_and_locations_if_global_http_proxy
|
8
8
|
|
@@ -1,7 +1,9 @@
|
|
1
|
+
load "#{Katello::Engine.root}/lib/katello/tasks/common.rake"
|
2
|
+
|
1
3
|
namespace :katello do
|
2
4
|
desc "Remove orphaned and unneeded content/repos from a smart proxy.\
|
3
5
|
Run with SMART_PROXY_ID=1 to run for a single smart proxy."
|
4
|
-
task :delete_orphaned_content => ["environment"] do
|
6
|
+
task :delete_orphaned_content => ["environment", "disable_dynflow"] do
|
5
7
|
User.current = User.anonymous_admin
|
6
8
|
smart_proxy_id = ENV['SMART_PROXY_ID']
|
7
9
|
if smart_proxy_id
|
@@ -1,3 +1,5 @@
|
|
1
|
+
load "#{Katello::Engine.root}/lib/katello/tasks/common.rake"
|
2
|
+
|
1
3
|
namespace :katello do
|
2
4
|
desc "Runs a Pulp 2 to 3 Content Migration for supported types. May be run multiple times. Use wait=false to immediately return with a task url."
|
3
5
|
task :pulp3_migration => ["environment", "disable_dynflow", "check_ping"] do
|
@@ -1,8 +1,6 @@
|
|
1
|
-
|
2
|
-
task :disable_dynflow do
|
3
|
-
ForemanTasks.dynflow.config.remote = true
|
4
|
-
end
|
1
|
+
load "#{Katello::Engine.root}/lib/katello/tasks/common.rake"
|
5
2
|
|
3
|
+
namespace :katello do
|
6
4
|
def commit?
|
7
5
|
ENV['COMMIT'] == 'true' || ENV['FOREMAN_UPGRADE'] == '1'
|
8
6
|
end
|
data/lib/katello/version.rb
CHANGED
@@ -34,6 +34,8 @@ const ContentTable = ({ content, tableSchema, onPaginationChange }) => {
|
|
34
34
|
ContentTable.propTypes = {
|
35
35
|
content: PropTypes.shape({
|
36
36
|
loading: PropTypes.bool,
|
37
|
+
// Disabling rule as existing code failed due to an eslint-plugin-react update
|
38
|
+
// eslint-disable-next-line react/forbid-prop-types
|
37
39
|
results: PropTypes.array,
|
38
40
|
pagination: PropTypes.shape({}),
|
39
41
|
itemCount: PropTypes.number,
|
@@ -59,9 +59,12 @@ ContentDetails.propTypes = {
|
|
59
59
|
contentDetails: PropTypes.shape({
|
60
60
|
loading: PropTypes.bool,
|
61
61
|
name: PropTypes.string,
|
62
|
+
// Disabling rule as existing code failed due to an eslint-plugin-react update
|
63
|
+
/* eslint-disable react/forbid-prop-types */
|
62
64
|
profiles: PropTypes.array,
|
63
65
|
repositories: PropTypes.array,
|
64
66
|
artifacts: PropTypes.array,
|
67
|
+
/* eslint-enable react/forbid-prop-types */
|
65
68
|
stream: PropTypes.string,
|
66
69
|
}).isRequired,
|
67
70
|
schema: PropTypes.arrayOf(PropTypes.shape({})).isRequired,
|
@@ -83,8 +83,11 @@ AnsibleCollectionDetails.propTypes = {
|
|
83
83
|
name: PropTypes.string,
|
84
84
|
namespace: PropTypes.string,
|
85
85
|
version: PropTypes.string,
|
86
|
+
// Disabling rule as existing code failed due to an eslint-plugin-react update
|
87
|
+
/* eslint-disable react/forbid-prop-types */
|
86
88
|
repositories: PropTypes.array,
|
87
89
|
tags: PropTypes.array,
|
90
|
+
/* eslint-enable react/forbid-prop-types */
|
88
91
|
}).isRequired,
|
89
92
|
};
|
90
93
|
|
@@ -81,9 +81,12 @@ ModuleStreamDetails.propTypes = {
|
|
81
81
|
moduleStreamDetails: PropTypes.shape({
|
82
82
|
loading: PropTypes.bool,
|
83
83
|
name: PropTypes.string,
|
84
|
+
// Disabling rule as existing code failed due to an eslint-plugin-react update
|
85
|
+
/* eslint-disable react/forbid-prop-types */
|
84
86
|
profiles: PropTypes.array,
|
85
87
|
repositories: PropTypes.array,
|
86
88
|
artifacts: PropTypes.array,
|
89
|
+
/* eslint-enable react/forbid-prop-types */
|
87
90
|
stream: PropTypes.string,
|
88
91
|
}).isRequired,
|
89
92
|
};
|
@@ -111,6 +111,8 @@ RedHatRepositoriesPage.propTypes = {
|
|
111
111
|
recommended: PropTypes.bool,
|
112
112
|
loading: PropTypes.bool,
|
113
113
|
search: PropTypes.shape({}),
|
114
|
+
// Disabling rule as existing code failed due to an eslint-plugin-react update
|
115
|
+
// eslint-disable-next-line react/forbid-prop-types
|
114
116
|
missingPermissions: PropTypes.array,
|
115
117
|
}).isRequired,
|
116
118
|
};
|
@@ -94,6 +94,8 @@ EnabledRepository.propTypes = {
|
|
94
94
|
search: PropTypes.shape({
|
95
95
|
query: PropTypes.string,
|
96
96
|
searchList: PropTypes.string,
|
97
|
+
// Disabling rule as existing code failed due to an eslint-plugin-react update
|
98
|
+
// eslint-disable-next-line react/forbid-prop-types
|
97
99
|
filters: PropTypes.array,
|
98
100
|
}),
|
99
101
|
pagination: PropTypes.shape({
|
data/webpack/scenes/RedHatRepositories/components/RepositorySetRepository/RepositorySetRepository.js
CHANGED
@@ -141,6 +141,8 @@ RepositorySetRepository.propTypes = {
|
|
141
141
|
enabledSearch: PropTypes.shape({
|
142
142
|
query: PropTypes.string,
|
143
143
|
searchList: PropTypes.string,
|
144
|
+
// Disabling rule as existing code failed due to an eslint-plugin-react update
|
145
|
+
// eslint-disable-next-line react/forbid-prop-types
|
144
146
|
filters: PropTypes.array,
|
145
147
|
}),
|
146
148
|
enabledPagination: PropTypes.shape({
|
@@ -45,6 +45,8 @@ SubscriptionDetailAssociations.propTypes = {
|
|
45
45
|
subscriptionDetails: PropTypes.shape({
|
46
46
|
id: PropTypes.number,
|
47
47
|
host_count: PropTypes.number,
|
48
|
+
// Disabling rule as existing code failed due to an eslint-plugin-react update
|
49
|
+
// eslint-disable-next-line react/forbid-prop-types
|
48
50
|
activation_keys: PropTypes.array,
|
49
51
|
}).isRequired,
|
50
52
|
};
|
@@ -50,6 +50,8 @@ const SubscriptionDetailProductContent = ({ productContent }) => {
|
|
50
50
|
|
51
51
|
SubscriptionDetailProductContent.propTypes = {
|
52
52
|
productContent: PropTypes.shape({
|
53
|
+
// Disabling rule as existing code failed due to an eslint-plugin-react update
|
54
|
+
// eslint-disable-next-line react/forbid-prop-types
|
53
55
|
results: PropTypes.array,
|
54
56
|
}).isRequired,
|
55
57
|
};
|
@@ -18,6 +18,8 @@ const SubscriptionDetailProducts = ({ subscriptionDetails }) => (
|
|
18
18
|
|
19
19
|
SubscriptionDetailProducts.propTypes = {
|
20
20
|
subscriptionDetails: PropTypes.shape({
|
21
|
+
// Disabling rule as existing code failed due to an eslint-plugin-react update
|
22
|
+
// eslint-disable-next-line react/forbid-prop-types
|
21
23
|
provided_products: PropTypes.array,
|
22
24
|
}).isRequired,
|
23
25
|
};
|
@@ -352,6 +352,8 @@ ManageManifestModal.propTypes = {
|
|
352
352
|
simpleContentAccess: PropTypes.bool,
|
353
353
|
manifestHistory: PropTypes.shape({
|
354
354
|
loading: PropTypes.bool,
|
355
|
+
// Disabling rule as existing code failed due to an eslint-plugin-react update
|
356
|
+
// eslint-disable-next-line react/forbid-prop-types
|
355
357
|
results: PropTypes.array,
|
356
358
|
}).isRequired,
|
357
359
|
setModalClosed: PropTypes.func.isRequired,
|
@@ -264,10 +264,13 @@ SubscriptionsPage.propTypes = {
|
|
264
264
|
loadTableColumns: PropTypes.func.isRequired,
|
265
265
|
simpleContentAccess: PropTypes.bool,
|
266
266
|
subscriptions: PropTypes.shape({
|
267
|
+
// Disabling rule as existing code failed due to an eslint-plugin-react update
|
268
|
+
/* eslint-disable react/forbid-prop-types */
|
267
269
|
disconnected: PropTypes.bool,
|
268
270
|
tableColumns: PropTypes.array,
|
269
271
|
selectedTableColumns: PropTypes.array,
|
270
272
|
missingPermissions: PropTypes.array,
|
273
|
+
/* eslint-enable react/forbid-prop-types */
|
271
274
|
}).isRequired,
|
272
275
|
activePermissions: PropTypes.shape({
|
273
276
|
can_delete_manifest: PropTypes.bool,
|
@@ -262,6 +262,8 @@ UpstreamSubscriptionsPage.propTypes = {
|
|
262
262
|
upstreamSubscriptions: PropTypes.shape({
|
263
263
|
loading: PropTypes.bool,
|
264
264
|
itemCount: PropTypes.number,
|
265
|
+
// Disabling rule as existing code failed due to an eslint-plugin-react update
|
266
|
+
// eslint-disable-next-line react/forbid-prop-types
|
265
267
|
results: PropTypes.array,
|
266
268
|
pagination: PropTypes.shape({}),
|
267
269
|
task: PropTypes.shape({
|
@@ -276,6 +276,8 @@ SubscriptionsTable.propTypes = {
|
|
276
276
|
subscriptions: PropTypes.shape({
|
277
277
|
loading: PropTypes.bool,
|
278
278
|
availableQuantities: PropTypes.shape({}),
|
279
|
+
// Disabling rule as existing code failed due to an eslint-plugin-react update
|
280
|
+
// eslint-disable-next-line react/forbid-prop-types
|
279
281
|
results: PropTypes.array,
|
280
282
|
}).isRequired,
|
281
283
|
subscriptionDeleteModalOpen: PropTypes.bool.isRequired,
|
data/webpack/scenes/Subscriptions/components/SubscriptionsTable/components/Dialogs/UpdateDialog.js
CHANGED
@@ -47,7 +47,7 @@ const UpdateDialog = ({
|
|
47
47
|
UpdateDialog.propTypes = {
|
48
48
|
show: PropTypes.bool.isRequired,
|
49
49
|
updateQuantity: PropTypes.func.isRequired,
|
50
|
-
updatedQuantity: PropTypes.shape(
|
50
|
+
updatedQuantity: PropTypes.shape({}).isRequired,
|
51
51
|
showUpdateConfirm: PropTypes.func.isRequired,
|
52
52
|
enableEditing: PropTypes.func.isRequired,
|
53
53
|
};
|
@@ -17,10 +17,10 @@ const Dialogs = ({
|
|
17
17
|
);
|
18
18
|
|
19
19
|
Dialogs.propTypes = {
|
20
|
-
updateDialog: PropTypes.shape(
|
21
|
-
unsavedChangesDialog: PropTypes.shape(
|
22
|
-
inputsErrorsDialog: PropTypes.shape(
|
23
|
-
deleteDialog: PropTypes.shape(
|
20
|
+
updateDialog: PropTypes.shape({}).isRequired,
|
21
|
+
unsavedChangesDialog: PropTypes.shape({}).isRequired,
|
22
|
+
inputsErrorsDialog: PropTypes.shape({}).isRequired,
|
23
|
+
deleteDialog: PropTypes.shape({}).isRequired,
|
24
24
|
};
|
25
25
|
|
26
26
|
export default Dialogs;
|
@@ -95,6 +95,8 @@ Table.propTypes = {
|
|
95
95
|
searchIsActive: PropTypes.bool,
|
96
96
|
itemCount: PropTypes.number,
|
97
97
|
pagination: PropTypes.shape({}),
|
98
|
+
// Disabling rule as existing code failed due to an eslint-plugin-react update
|
99
|
+
// eslint-disable-next-line react/forbid-prop-types
|
98
100
|
results: PropTypes.array,
|
99
101
|
}).isRequired,
|
100
102
|
loadSubscriptions: PropTypes.func.isRequired,
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: katello
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.15.
|
4
|
+
version: 3.15.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- N/A
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-07-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -84,16 +84,16 @@ dependencies:
|
|
84
84
|
name: foreman-tasks
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - "
|
87
|
+
- - "<="
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 1.
|
89
|
+
version: 1.1.1
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - "
|
94
|
+
- - "<="
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 1.
|
96
|
+
version: 1.1.1
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: dynflow
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -4125,6 +4125,7 @@ files:
|
|
4125
4125
|
- lib/katello/tasks/clean_backend_objects.rake
|
4126
4126
|
- lib/katello/tasks/clean_old_file_repos.rake
|
4127
4127
|
- lib/katello/tasks/clean_published_repo_directories.rake
|
4128
|
+
- lib/katello/tasks/common.rake
|
4128
4129
|
- lib/katello/tasks/delete_orphaned_content.rake
|
4129
4130
|
- lib/katello/tasks/import_applicability.rake
|
4130
4131
|
- lib/katello/tasks/import_subscriptions.rake
|