katello 4.17.0 → 4.17.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.

Potentially problematic release.


This version of katello might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c680d70aff055930ae2682d03f339d169d0e8925bd750b3589814aa575b38ae6
4
- data.tar.gz: 9bc9ea09232f58f7a34fee366d45d0769bfbe8678833e63f3c533e001b23c20d
3
+ metadata.gz: 522d23e5be01ddc111e940e111a09d858a2dfa686c9cbb17ac0c883b14f224bc
4
+ data.tar.gz: 6f6dc2887f0eafdd0500edeb62792318da9bd25612565fcef2027423b364d2c5
5
5
  SHA512:
6
- metadata.gz: d866d7231780c82c6f437d23367cfd72292db1ba8ed5e4bfb32c9f323b8454be3f06833cb15823f9147afdff35f828d1d07363f83a9f0b2421e6f74de9f49f40
7
- data.tar.gz: 328ff0812895e6201f486b5ae01459b1710dbf6532a6ac1c5164c5263a8a3843d24d1fa9301471498c623e4edcbaabd16d955ba06985af02a0a1de4918145b6e
6
+ metadata.gz: 597e47e1205993f0223f0151f24accea76c030eb0a98536f9b9e05cb1d1f49341c69543bf79a4781b700fa948f6df53769dbaa44d6c54399f504362bd1729b68
7
+ data.tar.gz: 263fe1e31f8469f6a7ea74c932c1fa8bab9769200d72aca0f3a94c47d5772a4a5c8c10661ea1abe0bebdcc53b416584fa17a98c1c12e1a94e8519eab4fbf93b9
@@ -560,6 +560,8 @@ module Katello
560
560
 
561
561
  def check_blob
562
562
  pulp_response = Resources::Registry::Proxy.get(@_request.fullpath, 'Accept' => request.headers['Accept'])
563
+ response.headers['Content-Type'] = pulp_response.headers[:content_type] if pulp_response.headers[:content_type]
564
+ response.headers['Content-Length'] = pulp_response.headers[:content_length] if pulp_response.headers[:content_length]
563
565
  head pulp_response.code
564
566
  end
565
567
 
@@ -88,6 +88,9 @@ module Actions
88
88
  def handle_custom_content(repository, remove_from_content_view_versions)
89
89
  #if this is the last instance of a custom repo or a deb repo using structured APT, destroy the content
90
90
  if remove_from_content_view_versions || repository.root.repositories.where.not(id: repository.id).empty? || repository.deb_using_structured_apt?
91
+ # Never destroy content for structured apt rolling repo clones, because it belongs to the library instance
92
+ return if repository.deb_using_structured_apt? && repository.content_view.rolling?
93
+
91
94
  plan_action(::Actions::Katello::Product::ContentDestroy, repository)
92
95
  end
93
96
  end
@@ -19,23 +19,15 @@ template_inputs:
19
19
  - hosts: all
20
20
  tasks:
21
21
  <%= indent(4) { snippet('check_bootc_status') } %>
22
- - name: Enable bootc overlay
23
- shell:
24
- cmd: 'bootc usr-overlay'
25
- register: out
26
- ignore_errors: true
27
- when: is_bootc_host
28
- - debug: var=out
29
- - name: Install packages via dnf for image mode machines
30
- package:
31
- use: 'dnf'
32
22
  <% if package_names.empty? -%>
33
- name: []
23
+ - name: Install all packages transiently for image mode machines
24
+ shell: "dnf --transient install -y '*'"
25
+ when: is_bootc_host
34
26
  <% else -%>
35
- name: <%= indent(10) { to_yaml(package_names).gsub(/---/, "") } -%>
36
- state: present
37
- <% end -%>
27
+ - name: Install packages transiently for image mode machines
28
+ shell: "dnf --transient install -y <%= package_names.join(' ') %>"
38
29
  when: is_bootc_host
30
+ <% end -%>
39
31
  - name: Install packages normally
40
32
  package:
41
33
  <% if package_names.empty? -%>
@@ -19,21 +19,8 @@ template_inputs:
19
19
  - hosts: all
20
20
  tasks:
21
21
  <%= indent(4) { snippet('check_bootc_status') } %>
22
- - name: Enable bootc overlay
23
- shell:
24
- cmd: 'bootc usr-overlay'
25
- register: out
26
- ignore_errors: true
27
- when: is_bootc_host
28
- - debug: var=out
29
- - name: Remove packages via dnf for image mode machines
30
- package:
31
- name:
32
- <% package_names.each do |package_name| -%>
33
- - <%= package_name %>
34
- <% end -%>
35
- state: absent
36
- use: 'dnf'
22
+ - name: Remove packages transiently for image mode machines
23
+ shell: "dnf --transient remove -y <%= package_names.join(' ') %>"
37
24
  when: is_bootc_host
38
25
  - name: Remove packages normally
39
26
  package:
@@ -28,20 +28,12 @@ template_inputs:
28
28
  - hosts: all
29
29
  tasks:
30
30
  <%= indent(4) { snippet('check_bootc_status') } %>
31
- - name: Enable bootc overlay
32
- shell:
33
- cmd: 'bootc usr-overlay'
34
- register: out
35
- ignore_errors: true
31
+ - name: Update packages transiently for image mode machines
32
+ shell: |
33
+ dnf --transient install -y <%= package_names.join(' ') %>
34
+ dnf --transient upgrade -y --best <%= package_names.join(' ') %>
36
35
  when: is_bootc_host
37
- - debug: var=out
38
- - name: Install packages via dnf for image mode machines
39
- package:
40
- name: <%= indent(10) { to_yaml(package_names).gsub(/---/, "") } -%>
41
- state: latest
42
- use: 'dnf'
43
- when: is_bootc_host
44
- - name: Install packages normally
36
+ - name: Update packages normally
45
37
  package:
46
38
  name: <%= indent(10) { to_yaml(package_names).gsub(/---/, "") } -%>
47
39
  state: latest
@@ -1,5 +1,23 @@
1
1
  class KatelloRecreateEvrConstructs < ActiveRecord::Migration[6.1]
2
+ def fix_installed_package_dupes
3
+ # Remove duplicate installed packages and host installed packages.
4
+ duplicated_nvreas = ::Katello::InstalledPackage.group(:nvrea).having('count(*) > 1').pluck(:nvrea)
5
+ duplicated_nvreas.each do |nvrea|
6
+ packages_relation = ::Katello::InstalledPackage.where(nvrea: nvrea).order(:id)
7
+ original_package = packages_relation.first
8
+ duplicate_package_ids = packages_relation.offset(1).pluck(:id)
9
+ hosts_with_original_package = ::Katello::HostInstalledPackage.where(installed_package_id: original_package.id).pluck(:host_id)
10
+ if hosts_with_original_package.any?
11
+ ::Katello::HostInstalledPackage.where(host_id: hosts_with_original_package, installed_package_id: duplicate_package_ids).delete_all
12
+ end
13
+ ::Katello::HostInstalledPackage.where(installed_package_id: duplicate_package_ids).update_all(installed_package_id: original_package.id)
14
+ ::Katello::InstalledPackage.where(id: duplicate_package_ids).delete_all
15
+ end
16
+ end
17
+
2
18
  def up
19
+ fix_installed_package_dupes
20
+
3
21
  if !extension_enabled?('evr')
4
22
  return
5
23
  else
@@ -147,6 +165,8 @@ class KatelloRecreateEvrConstructs < ActiveRecord::Migration[6.1]
147
165
  rpmver_array(coalesce(release,'empty'))::evr_array_item[])::evr_t);
148
166
  SQL
149
167
 
168
+ add_index :katello_rpms, [:name, :arch, :evr]
169
+
150
170
  create_trigger :evr_insert_trigger_katello_rpms, on: :katello_rpms
151
171
  create_trigger :evr_update_trigger_katello_rpms, on: :katello_rpms
152
172
  create_trigger :evr_insert_trigger_katello_installed_packages, on: :katello_installed_packages
@@ -0,0 +1,14 @@
1
+ class AddMissingRpmsEvrIndex < ActiveRecord::Migration[7.0]
2
+ def up
3
+ # Re-add the katello_rpms EVR index dropped erroneously by 20240924161240.
4
+ unless index_exists?(:katello_rpms, [:name, :arch, :evr])
5
+ add_index :katello_rpms, [:name, :arch, :evr]
6
+ end
7
+ end
8
+
9
+ def down
10
+ if index_exists?(:katello_rpms, [:name, :arch, :evr])
11
+ remove_index :katello_rpms, [:name, :arch, :evr]
12
+ end
13
+ end
14
+ end
@@ -1,3 +1,3 @@
1
1
  module Katello
2
- VERSION = "4.17.0".freeze
2
+ VERSION = "4.17.1".freeze
3
3
  end
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.17.0
4
+ version: 4.17.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: 2025-06-10 00:00:00.000000000 Z
11
+ date: 2025-07-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -2160,6 +2160,7 @@ files:
2160
2160
  - db/migrate/20250215143303_drop_katello_yum_metadata_file.rb
2161
2161
  - db/migrate/20250409120843_fix_file_download_policy.rb
2162
2162
  - db/migrate/20250410155300_change_ansible_templates_category.rb
2163
+ - db/migrate/20250714190050_add_missing_rpms_evr_index.rb
2163
2164
  - db/seeds.d/101-locations.rb
2164
2165
  - db/seeds.d/102-organizations.rb
2165
2166
  - db/seeds.d/104-proxy.rb