katello 4.14.0.rc3 → 4.14.1
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/assets/javascripts/katello/sync_management/sync_management.js +13 -9
- data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +2 -2
- data/app/controllers/katello/api/v2/organizations_controller.rb +1 -0
- data/app/lib/actions/katello/capsule_content/sync.rb +1 -0
- data/app/lib/actions/katello/repository/create_root.rb +10 -2
- data/app/lib/actions/pulp3/content_view/delete_repository_references.rb +6 -2
- data/app/models/katello/concerns/host_managed_extensions.rb +18 -16
- data/app/models/katello/glue/pulp/repos.rb +3 -3
- data/app/models/katello/host/info_provider.rb +3 -0
- data/app/models/katello/host/subscription_facet.rb +1 -1
- data/app/models/katello/repository.rb +3 -1
- data/app/views/foreman/job_templates/install_errata_by_search_query.erb +1 -1
- data/app/views/foreman/job_templates/install_errata_by_search_query_-_katello_ansible_default.erb +1 -1
- data/app/views/katello/api/v2/content_views/base.json.rabl +1 -0
- data/app/views/katello/api/v2/content_views/show.json.rabl +0 -1
- data/app/views/katello/sync_management/index.html.erb +2 -2
- data/db/migrate/20240729192228_add_convert2rhel_to_host_facets.rb +1 -1
- data/engines/bastion/app/assets/javascripts/bastion/i18n/i18n.module.js +4 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-gettext/angular-gettext.js +5 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-credentials/new/views/new-content-credential.html +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-host-modal-helper.service.js +0 -1
- data/lib/katello/permission_creator.rb +6 -1
- data/lib/katello/version.rb +1 -1
- data/webpack/components/extensions/Hosts/BulkActions/BulkErrataWizard/02_BulkErrataTable.js +0 -2
- data/webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/02_BulkPackagesTable.js +0 -2
- data/webpack/components/extensions/Hosts/BulkActions/HostReview.js +0 -2
- data/webpack/redux/actions/RedHatRepositories/helpers.js +6 -6
- data/webpack/scenes/Subscriptions/Manifest/ManageManifestModal.js +6 -4
- data/webpack/scenes/Subscriptions/SubscriptionsPage.js +1 -1
- metadata +4 -52
- data/locale/bn/LC_MESSAGES/katello.mo +0 -0
- data/locale/bn_IN/LC_MESSAGES/katello.mo +0 -0
- data/locale/ca/LC_MESSAGES/katello.mo +0 -0
- data/locale/cs/LC_MESSAGES/katello.mo +0 -0
- data/locale/cs_CZ/LC_MESSAGES/katello.mo +0 -0
- data/locale/de/LC_MESSAGES/katello.mo +0 -0
- data/locale/de_AT/LC_MESSAGES/katello.mo +0 -0
- data/locale/de_DE/LC_MESSAGES/katello.mo +0 -0
- data/locale/el/LC_MESSAGES/katello.mo +0 -0
- data/locale/en/LC_MESSAGES/katello.mo +0 -0
- data/locale/en_GB/LC_MESSAGES/katello.mo +0 -0
- data/locale/en_US/LC_MESSAGES/katello.mo +0 -0
- data/locale/es/LC_MESSAGES/katello.mo +0 -0
- data/locale/et_EE/LC_MESSAGES/katello.mo +0 -0
- data/locale/fr/LC_MESSAGES/katello.mo +0 -0
- data/locale/gl/LC_MESSAGES/katello.mo +0 -0
- data/locale/gu/LC_MESSAGES/katello.mo +0 -0
- data/locale/he_IL/LC_MESSAGES/katello.mo +0 -0
- data/locale/hi/LC_MESSAGES/katello.mo +0 -0
- data/locale/id/LC_MESSAGES/katello.mo +0 -0
- data/locale/it/LC_MESSAGES/katello.mo +0 -0
- data/locale/ja/LC_MESSAGES/katello.mo +0 -0
- data/locale/ka/LC_MESSAGES/katello.mo +0 -0
- data/locale/kn/LC_MESSAGES/katello.mo +0 -0
- data/locale/ko/LC_MESSAGES/katello.mo +0 -0
- data/locale/ml_IN/LC_MESSAGES/katello.mo +0 -0
- data/locale/mr/LC_MESSAGES/katello.mo +0 -0
- data/locale/nl_NL/LC_MESSAGES/katello.mo +0 -0
- data/locale/or/LC_MESSAGES/katello.mo +0 -0
- data/locale/pa/LC_MESSAGES/katello.mo +0 -0
- data/locale/pl/LC_MESSAGES/katello.mo +0 -0
- data/locale/pl_PL/LC_MESSAGES/katello.mo +0 -0
- data/locale/pt/LC_MESSAGES/katello.mo +0 -0
- data/locale/pt_BR/LC_MESSAGES/katello.mo +0 -0
- data/locale/ro/LC_MESSAGES/katello.mo +0 -0
- data/locale/ro_RO/LC_MESSAGES/katello.mo +0 -0
- data/locale/ru/LC_MESSAGES/katello.mo +0 -0
- data/locale/sl/LC_MESSAGES/katello.mo +0 -0
- data/locale/sv_SE/LC_MESSAGES/katello.mo +0 -0
- data/locale/ta/LC_MESSAGES/katello.mo +0 -0
- data/locale/ta_IN/LC_MESSAGES/katello.mo +0 -0
- data/locale/te/LC_MESSAGES/katello.mo +0 -0
- data/locale/tr/LC_MESSAGES/katello.mo +0 -0
- data/locale/vi/LC_MESSAGES/katello.mo +0 -0
- data/locale/vi_VN/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh_CN/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh_TW/LC_MESSAGES/katello.mo +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: eb838f1316844984ac6a811415ee7ffd5b91c7e4b968b96de55b0bf3adf1f0b7
|
4
|
+
data.tar.gz: b8158bfab87d2e3cbe687af69e65962a8627bc78516f6f20b190864854eee4e3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e2e57134ff21bfaffb6bd31b2954adad011b6cb63991e66a2ca54d08f596b63c061177049402aa9831e8407ef2d7006f0b2d536892757c69e5cc5f716cdff687
|
7
|
+
data.tar.gz: f2badc68f6c7b3638fb076e2cabeca5a60c073fffee6d6a7c6e2f886a906085adc5d54fc5babc44280f00a1a1e5e7a188b25b7de64a359ead41950b9ec289367
|
@@ -205,10 +205,22 @@ KT.content = (function () {
|
|
205
205
|
$(this).collapse();
|
206
206
|
});
|
207
207
|
};
|
208
|
+
populate_repo_status = function () {
|
209
|
+
var ids = [];
|
210
|
+
$.each(KT.repo_status, function (repo_id, status) {
|
211
|
+
if (status.is_running) {
|
212
|
+
ids.push(repo_id);
|
213
|
+
KT.content.draw_syncing(repo_id, status.progress.progress, status.sync_id);
|
214
|
+
}
|
215
|
+
});
|
216
|
+
KT.content.reset_products(KT.repo_status);
|
217
|
+
KT.content_actions.addSyncing(ids);
|
218
|
+
}
|
208
219
|
|
209
220
|
return {
|
210
221
|
updateProduct: updateProduct,
|
211
222
|
updateRepo: updateRepo,
|
223
|
+
populateRepoStatus: populate_repo_status,
|
212
224
|
finishRepo: finishRepo,
|
213
225
|
select_all: select_all,
|
214
226
|
select_none: select_none,
|
@@ -346,15 +358,7 @@ KT.content_actions = (function () {
|
|
346
358
|
};
|
347
359
|
})();
|
348
360
|
|
349
|
-
|
350
|
-
$.each(KT.repo_status, function (repo_id, status) {
|
351
|
-
if (status.is_running) {
|
352
|
-
ids.push(repo_id);
|
353
|
-
KT.content.draw_syncing(repo_id, status.progress.progress, status.sync_id);
|
354
|
-
}
|
355
|
-
});
|
356
|
-
KT.content.reset_products(KT.repo_status);
|
357
|
-
KT.content_actions.addSyncing(ids);
|
361
|
+
KT.content.populateRepoStatus();
|
358
362
|
|
359
363
|
$("#select_all").click(KT.content.select_all);
|
360
364
|
$("#select_none").click(KT.content.select_none);
|
@@ -332,9 +332,9 @@ module Katello
|
|
332
332
|
end
|
333
333
|
elsif params.key?(:organization_id) && !params.key?(:environment_id) && !params.key?(:environments)
|
334
334
|
organization = Organization.current
|
335
|
-
environments = organization.library.content_view_environment
|
335
|
+
environments = [organization.library.content_view_environment]
|
336
336
|
elsif User.current.default_organization.present?
|
337
|
-
environments = User.current.default_organization.library.content_view_environment
|
337
|
+
environments = [User.current.default_organization.library.content_view_environment]
|
338
338
|
else
|
339
339
|
fail HttpErrors::NotFound, _("User '%s' did not specify an organization ID and does not have a default organization.") % current_user.login
|
340
340
|
end
|
@@ -50,6 +50,7 @@ module Katello
|
|
50
50
|
param :id, :number, :desc => N_("organization ID"), :required => true
|
51
51
|
def show
|
52
52
|
@render_template = 'katello/api/v2/organizations/show'
|
53
|
+
@organization.manifest_expiration_date(cached: false) if params[:force_manifest_expire_cache]
|
53
54
|
super
|
54
55
|
end
|
55
56
|
|
@@ -3,11 +3,19 @@ module Actions
|
|
3
3
|
module Repository
|
4
4
|
class CreateRoot < Actions::EntryAction
|
5
5
|
def plan(root, relative_path = nil)
|
6
|
-
|
6
|
+
begin
|
7
|
+
root.save!
|
8
|
+
rescue ActiveRecord::RecordInvalid => e
|
9
|
+
if root.is_container_push && e.message.include?("Container Repository Name") && e.message.include?("conflicts with an existing repository")
|
10
|
+
logger.warn("Skipping repository creation as container push repository already exists: #{root.container_push_name}")
|
11
|
+
return
|
12
|
+
end
|
13
|
+
raise e
|
14
|
+
end
|
7
15
|
repository = ::Katello::Repository.new(:environment => root.organization.library,
|
8
16
|
:content_view_version => root.organization.library.default_content_view_version,
|
9
17
|
:root => root)
|
10
|
-
repository.container_repository_name = relative_path
|
18
|
+
repository.container_repository_name = relative_path if root.docker? && root.is_container_push
|
11
19
|
repository.relative_path = relative_path || repository.custom_repo_path
|
12
20
|
repository.save!
|
13
21
|
|
@@ -14,7 +14,11 @@ module Actions
|
|
14
14
|
to_delete = content_view.repository_references.select do |repository_reference|
|
15
15
|
repo = repository_reference.root_repository.library_instance
|
16
16
|
if delete_href?(repository_reference.repository_href, content_view)
|
17
|
-
|
17
|
+
if repo.root.is_container_push?
|
18
|
+
tasks << repo.backend_service(smart_proxy).delete_distributions
|
19
|
+
else
|
20
|
+
tasks << repo.backend_service(smart_proxy).delete_repository(repository_reference)
|
21
|
+
end
|
18
22
|
true
|
19
23
|
else
|
20
24
|
false
|
@@ -22,7 +26,7 @@ module Actions
|
|
22
26
|
end
|
23
27
|
to_delete.each(&:destroy)
|
24
28
|
|
25
|
-
output[:pulp_tasks] = tasks
|
29
|
+
output[:pulp_tasks] = tasks.compact
|
26
30
|
end
|
27
31
|
|
28
32
|
#migrated composites may have the same RepositoryReference as their component
|
@@ -511,17 +511,17 @@ module Katello
|
|
511
511
|
actions = %w(install remove update).freeze
|
512
512
|
case action
|
513
513
|
when 'install'
|
514
|
-
yum_installable = ::Katello::Rpm.
|
514
|
+
yum_installable = ::Katello::Rpm.search_for(search).distinct.pluck(:name)
|
515
515
|
if yum_installable.empty?
|
516
|
-
fail N_("No available packages found for search term '%s'.
|
516
|
+
fail N_("No available packages found for search term '%s'.") % search
|
517
517
|
end
|
518
518
|
yum_installable
|
519
519
|
when 'remove'
|
520
520
|
return [] if search.empty?
|
521
521
|
|
522
|
-
yum_removable =
|
522
|
+
yum_removable = ::Katello::InstalledPackage.search_for(search).distinct.pluck(:name)
|
523
523
|
if yum_removable.empty?
|
524
|
-
fail N_("Cannot remove package(s):
|
524
|
+
fail N_("Cannot remove package(s): No installed packages found for search term '%s'.") % search
|
525
525
|
end
|
526
526
|
yum_removable
|
527
527
|
when 'update'
|
@@ -536,14 +536,15 @@ module Katello
|
|
536
536
|
end
|
537
537
|
pkg_name_archs = installed_packages.search_for(search).distinct.pluck(:name, :arch)
|
538
538
|
if pkg_name_archs.empty?
|
539
|
-
fail _("Cannot upgrade packages: No installed packages found for search term '%s'") % search
|
539
|
+
fail _("Cannot upgrade packages: No installed packages found for search term '%s'.") % search
|
540
540
|
end
|
541
|
-
|
542
|
-
|
543
|
-
|
544
|
-
|
541
|
+
versionless_upgrades = ::Katello::Rpm.where(name: pkg_name_archs.map(&:first)).select(:id, :name, :arch, :evr).order(evr: :desc).group_by { |i| [i.name, i.arch] }
|
542
|
+
# Use versions_by_name_arch if a version is specified, otherwise use the latest version. If using the latest version, upgrade by name only, not by name and arch.
|
543
|
+
pkg_names_and_nvras = pkg_name_archs.map { |name, arch| versions_by_name_arch[[name, arch]] || versionless_upgrades[[name, arch]]&.first&.name }.compact
|
544
|
+
if pkg_names_and_nvras.empty?
|
545
|
+
fail _("No upgradable packages found for search term '%s'.") % search
|
545
546
|
end
|
546
|
-
|
547
|
+
pkg_names_and_nvras
|
547
548
|
else
|
548
549
|
fail ::Foreman::Exception.new(N_("package_names_for_job_template: Action must be one of %s"), actions.join(', '))
|
549
550
|
end
|
@@ -554,7 +555,7 @@ module Katello
|
|
554
555
|
actions = %w(install remove update).freeze
|
555
556
|
case action
|
556
557
|
when 'install'
|
557
|
-
deb_installable = ::Katello::Deb.
|
558
|
+
deb_installable = ::Katello::Deb.search_for(search).distinct.pluck(:name)
|
558
559
|
if deb_installable.empty?
|
559
560
|
fail _("No available debs found for search term '%s'. Check the host's content view environments and already-installed debs.") % search
|
560
561
|
end
|
@@ -562,10 +563,10 @@ module Katello
|
|
562
563
|
when 'remove'
|
563
564
|
return [] if search.empty?
|
564
565
|
|
565
|
-
|
566
|
+
::Katello::InstalledDeb.search_for(search).distinct.pluck(:name)
|
566
567
|
when 'update'
|
567
568
|
return [] if search.empty?
|
568
|
-
deb_results =
|
569
|
+
deb_results = ::Katello::InstalledDeb.search_for(search).distinct.pluck(:name)
|
569
570
|
if deb_results.empty?
|
570
571
|
fail _("No installed debs found for search term '%s'") % search
|
571
572
|
end
|
@@ -575,10 +576,11 @@ module Katello
|
|
575
576
|
end
|
576
577
|
end
|
577
578
|
|
578
|
-
def advisory_ids(search:)
|
579
|
-
|
579
|
+
def advisory_ids(search:, check_installable_for_host: true)
|
580
|
+
errata_scope = check_installable_for_host ? ::Katello::Erratum.installable_for_hosts([self]) : ::Katello::Erratum
|
581
|
+
ids = errata_scope.search_for(search).pluck(:errata_id)
|
580
582
|
if ids.empty?
|
581
|
-
fail _("Cannot install errata: No
|
583
|
+
fail _("Cannot install errata: No errata found for search term '%s'") % search
|
582
584
|
end
|
583
585
|
ids
|
584
586
|
end
|
@@ -137,10 +137,10 @@ module Katello
|
|
137
137
|
|
138
138
|
# Container push may concurrently call root add several times before the db can update.
|
139
139
|
if repo_param[:is_container_push]
|
140
|
-
RootRepository.
|
141
|
-
|
142
|
-
RootRepository.new(repo_param)
|
140
|
+
root = RootRepository.find_by(repo_param)
|
141
|
+
return root if root
|
143
142
|
end
|
143
|
+
RootRepository.new(repo_param)
|
144
144
|
end
|
145
145
|
end
|
146
146
|
end
|
@@ -35,8 +35,11 @@ module Katello
|
|
35
35
|
end
|
36
36
|
|
37
37
|
def content_view_info(content_view_environment)
|
38
|
+
return {} if content_view_environment.blank?
|
39
|
+
|
38
40
|
content_view = content_view_environment.content_view
|
39
41
|
return {} if content_view.blank?
|
42
|
+
|
40
43
|
{
|
41
44
|
'label' => content_view.try(:label),
|
42
45
|
'latest-version' => content_view.try(:latest_version),
|
@@ -158,7 +158,7 @@ module Katello
|
|
158
158
|
{ :id => cve.content_view.cp_environment_id(cve.lifecycle_environment) }
|
159
159
|
end
|
160
160
|
else
|
161
|
-
self.host.organization.default_content_view.cp_environment_id(self.host.organization.library)
|
161
|
+
[{ :id => self.host.organization.default_content_view.cp_environment_id(self.host.organization.library) }]
|
162
162
|
end
|
163
163
|
end
|
164
164
|
|
@@ -272,8 +272,10 @@ module Katello
|
|
272
272
|
self.content_view_version.content_view
|
273
273
|
end
|
274
274
|
|
275
|
+
# Skip setting container name if the repository is not container type or
|
276
|
+
# if it's a library instance of a container-push repo, indicating that the container name is set by the user.
|
275
277
|
def skip_container_name?
|
276
|
-
self.
|
278
|
+
!self.root.docker? || (self.root.is_container_push && self.library_instance?)
|
277
279
|
end
|
278
280
|
|
279
281
|
def library_instance?
|
@@ -15,7 +15,7 @@ foreign_input_sets:
|
|
15
15
|
exclude: action,package
|
16
16
|
%>
|
17
17
|
|
18
|
-
<% advisory_ids = @host.advisory_ids(search: input("Errata search query")) -%>
|
18
|
+
<% advisory_ids = @host.advisory_ids(search: input("Errata search query"), check_installable_for_host: false) -%>
|
19
19
|
<% render_error(N_("No errata matching given search query")) if !input("Errata search query").blank? && advisory_ids.blank? -%>
|
20
20
|
# RESOLVED_ERRATA_IDS=<%= advisory_ids.join(',') %>
|
21
21
|
|
data/app/views/foreman/job_templates/install_errata_by_search_query_-_katello_ansible_default.erb
CHANGED
@@ -12,7 +12,7 @@ template_inputs:
|
|
12
12
|
required: false
|
13
13
|
%>
|
14
14
|
|
15
|
-
<% advisory_ids = @host.advisory_ids(search: input("Errata search query")) -%>
|
15
|
+
<% advisory_ids = @host.advisory_ids(search: input("Errata search query"), check_installable_for_host: false) -%>
|
16
16
|
<% render_error(N_("No errata matching given search query")) if !input("Errata search query").blank? && advisory_ids.blank? -%>
|
17
17
|
# RESOLVED_ERRATA_IDS=<%= advisory_ids.join(',') %>
|
18
18
|
|
@@ -13,6 +13,7 @@ attributes :generated_for
|
|
13
13
|
attributes :related_cv_count
|
14
14
|
attributes :related_composite_cvs
|
15
15
|
attributes :filtered? => :filtered
|
16
|
+
attributes :needs_publish? => :needs_publish
|
16
17
|
|
17
18
|
node :next_version do |content_view|
|
18
19
|
content_view.next_version.to_f.to_s
|
@@ -8,9 +8,9 @@
|
|
8
8
|
"complete": "<%= escape_javascript(_('Sync complete.')) %>",
|
9
9
|
"no_start_time": "<%= escape_javascript(_('No start time currently available.')) %>"
|
10
10
|
});
|
11
|
-
|
12
|
-
KT.repo_status = $.parseJSON('<%= escape_javascript(@repo_status.to_json.html_safe) %>');
|
11
|
+
KT.repo_status = JSON.parse('<%= escape_javascript(@repo_status.to_json.html_safe) %>');
|
13
12
|
KT.permissions = { "syncable" : <%= any_syncable? %> };
|
13
|
+
KT.content.populateRepoStatus();
|
14
14
|
</script>
|
15
15
|
<% end -%>
|
16
16
|
|
@@ -1,3 +1,5 @@
|
|
1
|
+
var loadAngularJSgettext = new Event('loadAngularJSgettext');
|
2
|
+
|
1
3
|
angular.module('gettext', []);
|
2
4
|
angular.module('gettext').constant('gettext', function (str) {
|
3
5
|
/*
|
@@ -342,4 +344,6 @@ angular.module('gettext').factory('gettextPlurals', function () {
|
|
342
344
|
return n != 1 ? 1 : 0;
|
343
345
|
}
|
344
346
|
};
|
345
|
-
});
|
347
|
+
});
|
348
|
+
|
349
|
+
document.dispatchEvent(loadAngularJSgettext);
|
@@ -9,7 +9,7 @@
|
|
9
9
|
ng-upload="uploadContent(content)"
|
10
10
|
upload-options-enable-rails-csrf>
|
11
11
|
|
12
|
-
<div bst-form-group label="{{ 'Name' | translate }}">
|
12
|
+
<div bst-form-group label="{{ 'Name *' | translate }}">
|
13
13
|
<input id="name"
|
14
14
|
name="name"
|
15
15
|
ng-model="contentCredential.name"
|
@@ -28,7 +28,7 @@
|
|
28
28
|
</select>
|
29
29
|
</div>
|
30
30
|
|
31
|
-
<div bst-form-group label="{{ 'Content Credential Contents' | translate }}">
|
31
|
+
<div bst-form-group label="{{ 'Content Credential Contents *' | translate }}">
|
32
32
|
<textarea name="content"
|
33
33
|
ng-model="contentCredential.pastedContent"
|
34
34
|
tabindex="1"
|
@@ -36,7 +36,7 @@
|
|
36
36
|
style="font-family: monospace"
|
37
37
|
rows="15"
|
38
38
|
placeholder="{{ 'Paste contents of Content Credential' | translate }}"
|
39
|
-
|
39
|
+
>
|
40
40
|
</textarea>
|
41
41
|
</div>
|
42
42
|
|
@@ -39,7 +39,6 @@ angular.module('Bastion.content-hosts').service('ContentHostsModalHelper', ['$ui
|
|
39
39
|
$uibModal.open({
|
40
40
|
templateUrl: 'content-hosts/bulk/views/content-hosts-bulk-errata-modal.html',
|
41
41
|
controller: 'ContentHostsBulkErrataModalController',
|
42
|
-
openedClass: 'bastion',
|
43
42
|
size: 'lg',
|
44
43
|
resolve: {
|
45
44
|
hostIds: this.resolveFunc()
|
@@ -51,6 +51,11 @@ module Katello
|
|
51
51
|
end
|
52
52
|
|
53
53
|
def capsule_content_permissions
|
54
|
+
@plugin.permission :view_smart_proxies,
|
55
|
+
{
|
56
|
+
'katello/api/v2/capsules' => [:index, :show]
|
57
|
+
},
|
58
|
+
:resource_type => "SmartProxy"
|
54
59
|
@plugin.permission :manage_capsule_content,
|
55
60
|
{
|
56
61
|
'katello/api/v2/capsule_content' => [:add_lifecycle_environment, :remove_lifecycle_environment,
|
@@ -62,7 +67,7 @@ module Katello
|
|
62
67
|
@plugin.permission :view_capsule_content,
|
63
68
|
{
|
64
69
|
'katello/api/v2/capsule_content' => [:counts, :lifecycle_environments, :available_lifecycle_environments, :sync_status],
|
65
|
-
'smart_proxies' => [:pulp_storage, :pulp_status, :show_with_content],
|
70
|
+
'smart_proxies' => [:pulp_storage, :pulp_status, :show_with_content, :index],
|
66
71
|
'katello/api/v2/capsules' => [:index, :show]
|
67
72
|
},
|
68
73
|
:resource_type => "SmartProxy"
|
data/lib/katello/version.rb
CHANGED
@@ -20,17 +20,17 @@ const recommendedRepositoriesRHEL = [
|
|
20
20
|
'rhel-8-for-x86_64-appstream-kickstart',
|
21
21
|
'rhel-8-for-x86_64-baseos-eus-rpms',
|
22
22
|
'rhel-8-for-x86_64-appstream-eus-rpms',
|
23
|
-
'rhel-7-server-rpms',
|
24
|
-
'rhel-7-server-optional-rpms',
|
25
|
-
'rhel-7-server-extras-rpms',
|
26
|
-
'rhel-7-server-kickstart',
|
23
|
+
'rhel-7-server-els-rpms',
|
24
|
+
'rhel-7-server-els-optional-rpms',
|
27
25
|
];
|
28
26
|
|
29
27
|
const recommendedRepositoriesSatTools = [
|
30
28
|
'satellite-client-6-for-rhel-9-x86_64-rpms',
|
31
29
|
'satellite-client-6-for-rhel-8-x86_64-rpms',
|
32
|
-
'rhel-7-server-satellite-client-6-rpms',
|
33
|
-
'rhel-
|
30
|
+
'rhel-7-server-els-satellite-client-6-rpms',
|
31
|
+
'rhel-7-server-els-satellite-6-client-2-rpms',
|
32
|
+
'satellite-6-client-2-for-rhel-8-x86_64-rpms',
|
33
|
+
'satellite-6-client-2-for-rhel-9-x86_64-rpms',
|
34
34
|
];
|
35
35
|
|
36
36
|
const recommendedRepositoriesMisc = [
|
@@ -4,7 +4,7 @@ import { Grid, Col, Row, Tabs, Tab, FormControl, ControlLabel } from 'react-boot
|
|
4
4
|
import { FormattedMessage } from 'react-intl';
|
5
5
|
import { Button, Spinner } from 'patternfly-react';
|
6
6
|
import { Alert } from '@patternfly/react-core';
|
7
|
-
import { propsToCamelCase } from 'foremanReact/common/helpers';
|
7
|
+
import { propsToCamelCase, getDocsURL } from 'foremanReact/common/helpers';
|
8
8
|
import ForemanModal from 'foremanReact/components/ForemanModal';
|
9
9
|
import Slot from 'foremanReact/components/common/Slot';
|
10
10
|
import { translate as __ } from 'foremanReact/common/I18n';
|
@@ -12,6 +12,7 @@ import TooltipButton from '../../../components/TooltipButton';
|
|
12
12
|
import { LoadingState } from '../../../components/LoadingState';
|
13
13
|
import { Table } from '../../../components/pf3Table';
|
14
14
|
|
15
|
+
|
15
16
|
import { columns } from './ManifestHistoryTableSchema';
|
16
17
|
import DeleteManifestModalText from './DeleteManifestModalText';
|
17
18
|
import { MANAGE_MANIFEST_MODAL_ID, DELETE_MANIFEST_MODAL_ID } from './ManifestConstants';
|
@@ -32,7 +33,7 @@ class ManageManifestModal extends Component {
|
|
32
33
|
}
|
33
34
|
|
34
35
|
if (prevProps.taskInProgress && !this.props.taskInProgress) {
|
35
|
-
this.props.loadOrganization();
|
36
|
+
this.props.loadOrganization({ force_manifest_expire_cache: true });
|
36
37
|
this.props.loadManifestHistory();
|
37
38
|
}
|
38
39
|
|
@@ -111,8 +112,9 @@ class ManageManifestModal extends Component {
|
|
111
112
|
header: __('There is no manifest history to display.'),
|
112
113
|
description: __('Import a manifest using the Manifest tab above.'),
|
113
114
|
documentation: {
|
114
|
-
label: __('Learn more about adding subscription manifests '),
|
115
|
-
|
115
|
+
label: __('Learn more about adding subscription manifests in '),
|
116
|
+
buttonLabel: __('the documentation.'),
|
117
|
+
url: getDocsURL('Managing_Content', 'Managing_Red_Hat_Subscriptions_content-management'),
|
116
118
|
},
|
117
119
|
});
|
118
120
|
|
@@ -204,7 +204,7 @@ class SubscriptionsPage extends Component {
|
|
204
204
|
description: __('Add subscriptions using the Add Subscriptions button.'),
|
205
205
|
action: {
|
206
206
|
title: __('Add subscriptions'),
|
207
|
-
url: 'subscriptions/add',
|
207
|
+
url: '/subscriptions/add',
|
208
208
|
},
|
209
209
|
}
|
210
210
|
: {
|
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: 4.14.
|
4
|
+
version: 4.14.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- N/A
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-11-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -4387,103 +4387,55 @@ files:
|
|
4387
4387
|
- locale/Makefile
|
4388
4388
|
- locale/README
|
4389
4389
|
- locale/action_names.rb
|
4390
|
-
- locale/bn/LC_MESSAGES/katello.mo
|
4391
4390
|
- locale/bn/katello.po
|
4392
|
-
- locale/bn_IN/LC_MESSAGES/katello.mo
|
4393
4391
|
- locale/bn_IN/katello.po
|
4394
|
-
- locale/ca/LC_MESSAGES/katello.mo
|
4395
4392
|
- locale/ca/katello.po
|
4396
|
-
- locale/cs/LC_MESSAGES/katello.mo
|
4397
4393
|
- locale/cs/katello.po
|
4398
|
-
- locale/cs_CZ/LC_MESSAGES/katello.mo
|
4399
4394
|
- locale/cs_CZ/katello.po
|
4400
|
-
- locale/de/LC_MESSAGES/katello.mo
|
4401
4395
|
- locale/de/katello.po
|
4402
|
-
- locale/de_AT/LC_MESSAGES/katello.mo
|
4403
4396
|
- locale/de_AT/katello.po
|
4404
|
-
- locale/de_DE/LC_MESSAGES/katello.mo
|
4405
4397
|
- locale/de_DE/katello.po
|
4406
|
-
- locale/el/LC_MESSAGES/katello.mo
|
4407
4398
|
- locale/el/katello.po
|
4408
|
-
- locale/en/LC_MESSAGES/katello.mo
|
4409
4399
|
- locale/en/katello.po
|
4410
|
-
- locale/en_GB/LC_MESSAGES/katello.mo
|
4411
4400
|
- locale/en_GB/katello.po
|
4412
|
-
- locale/en_US/LC_MESSAGES/katello.mo
|
4413
4401
|
- locale/en_US/katello.po
|
4414
|
-
- locale/es/LC_MESSAGES/katello.mo
|
4415
4402
|
- locale/es/katello.po
|
4416
|
-
- locale/et_EE/LC_MESSAGES/katello.mo
|
4417
4403
|
- locale/et_EE/katello.po
|
4418
|
-
- locale/fr/LC_MESSAGES/katello.mo
|
4419
4404
|
- locale/fr/katello.po
|
4420
|
-
- locale/gl/LC_MESSAGES/katello.mo
|
4421
4405
|
- locale/gl/katello.po
|
4422
|
-
- locale/gu/LC_MESSAGES/katello.mo
|
4423
4406
|
- locale/gu/katello.po
|
4424
|
-
- locale/he_IL/LC_MESSAGES/katello.mo
|
4425
4407
|
- locale/he_IL/katello.po
|
4426
|
-
- locale/hi/LC_MESSAGES/katello.mo
|
4427
4408
|
- locale/hi/katello.po
|
4428
|
-
- locale/id/LC_MESSAGES/katello.mo
|
4429
4409
|
- locale/id/katello.po
|
4430
|
-
- locale/it/LC_MESSAGES/katello.mo
|
4431
4410
|
- locale/it/katello.po
|
4432
|
-
- locale/ja/LC_MESSAGES/katello.mo
|
4433
4411
|
- locale/ja/katello.po
|
4434
|
-
- locale/ka/LC_MESSAGES/katello.mo
|
4435
4412
|
- locale/ka/katello.po
|
4436
4413
|
- locale/katello.pot
|
4437
|
-
- locale/kn/LC_MESSAGES/katello.mo
|
4438
4414
|
- locale/kn/katello.po
|
4439
|
-
- locale/ko/LC_MESSAGES/katello.mo
|
4440
4415
|
- locale/ko/katello.po
|
4441
|
-
- locale/ml_IN/LC_MESSAGES/katello.mo
|
4442
4416
|
- locale/ml_IN/katello.po
|
4443
|
-
- locale/mr/LC_MESSAGES/katello.mo
|
4444
4417
|
- locale/mr/katello.po
|
4445
|
-
- locale/nl_NL/LC_MESSAGES/katello.mo
|
4446
4418
|
- locale/nl_NL/katello.po
|
4447
|
-
- locale/or/LC_MESSAGES/katello.mo
|
4448
4419
|
- locale/or/katello.po
|
4449
|
-
- locale/pa/LC_MESSAGES/katello.mo
|
4450
4420
|
- locale/pa/katello.po
|
4451
|
-
- locale/pl/LC_MESSAGES/katello.mo
|
4452
4421
|
- locale/pl/katello.po
|
4453
|
-
- locale/pl_PL/LC_MESSAGES/katello.mo
|
4454
4422
|
- locale/pl_PL/katello.po
|
4455
|
-
- locale/pt/LC_MESSAGES/katello.mo
|
4456
4423
|
- locale/pt/katello.po
|
4457
|
-
- locale/pt_BR/LC_MESSAGES/katello.mo
|
4458
4424
|
- locale/pt_BR/katello.po
|
4459
|
-
- locale/ro/LC_MESSAGES/katello.mo
|
4460
4425
|
- locale/ro/katello.po
|
4461
|
-
- locale/ro_RO/LC_MESSAGES/katello.mo
|
4462
4426
|
- locale/ro_RO/katello.po
|
4463
|
-
- locale/ru/LC_MESSAGES/katello.mo
|
4464
4427
|
- locale/ru/katello.po
|
4465
|
-
- locale/sl/LC_MESSAGES/katello.mo
|
4466
4428
|
- locale/sl/katello.po
|
4467
|
-
- locale/sv_SE/LC_MESSAGES/katello.mo
|
4468
4429
|
- locale/sv_SE/katello.po
|
4469
|
-
- locale/ta/LC_MESSAGES/katello.mo
|
4470
4430
|
- locale/ta/katello.po
|
4471
|
-
- locale/ta_IN/LC_MESSAGES/katello.mo
|
4472
4431
|
- locale/ta_IN/katello.po
|
4473
|
-
- locale/te/LC_MESSAGES/katello.mo
|
4474
4432
|
- locale/te/katello.po
|
4475
|
-
- locale/tr/LC_MESSAGES/katello.mo
|
4476
4433
|
- locale/tr/katello.po
|
4477
4434
|
- locale/update-i18n
|
4478
|
-
- locale/vi/LC_MESSAGES/katello.mo
|
4479
4435
|
- locale/vi/katello.po
|
4480
|
-
- locale/vi_VN/LC_MESSAGES/katello.mo
|
4481
4436
|
- locale/vi_VN/katello.po
|
4482
|
-
- locale/zh/LC_MESSAGES/katello.mo
|
4483
4437
|
- locale/zh/katello.po
|
4484
|
-
- locale/zh_CN/LC_MESSAGES/katello.mo
|
4485
4438
|
- locale/zh_CN/katello.po
|
4486
|
-
- locale/zh_TW/LC_MESSAGES/katello.mo
|
4487
4439
|
- locale/zh_TW/katello.po
|
4488
4440
|
- package.json
|
4489
4441
|
- vendor/assets/images/katello/add2.png
|
@@ -5451,9 +5403,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
5451
5403
|
version: '4'
|
5452
5404
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
5453
5405
|
requirements:
|
5454
|
-
- - "
|
5406
|
+
- - ">="
|
5455
5407
|
- !ruby/object:Gem::Version
|
5456
|
-
version:
|
5408
|
+
version: '0'
|
5457
5409
|
requirements: []
|
5458
5410
|
rubygems_version: 3.2.33
|
5459
5411
|
signing_key:
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|