It happened again. This morning the publish run for my filtered view “CentOS 7” went into pause state with the same error again:
PulpRpmClient::ApiError: Error message: the server returns an error
HTTP status code: 404
Response headers: {"date"=>"Mon, 12 Sep 2022 02:05:55 GMT", "server"=>"gunicorn", "content-type"=>"application/json", "vary"=>"Accept,Cookie", "allow"=>"GET, HEAD, OPTIONS", "x-frame-options"=>"DENY", "content-length"=>"23", "x-content-type-options"=>"nosniff", "referrer-policy"=>"same-origin", "correlation-id"=>"d9233407-5d94-4cc8-ad1b-96467b5baf52", "access-control-expose-headers"=>"Correlation-ID", "via"=>"1.1 foreman.dkrz.de", "connection"=>"close"}
Response body: {"detail":"Not found."}
The requested URL is a package group again:
[12/Sep/2022:04:05:55 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 404 23 "-" "OpenAPI-Generator/3.17.4/ruby"
Affected group is “Development tools” which was one of the broken ones before:
foreman=# select * from katello_package_groups where pulp_id like '%e69069bf%';
id | name | pulp_id | description | created_at | updated_at | migrated_pulp3_href | missing_from_migr
ation | ignore_missing_from_migration
------+-------------------+------------------------------------------------------------------------------+----------------------------------+----------------------------+----------------------------+---------------------+------------------
------+-------------------------------
3772 | Development tools | /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ | A basic development environment. | 2022-07-30 12:48:56.819566 | 2022-07-30 12:48:56.819571 | | f
| f
(1 row)
At this times it seems this is the only package group affected:
pulpcore=# select pulp_id,content_ptr_id from public.dblink('dbname=foreman', 'select substring(pulp_id from 40 for 36 ) from katello_package_groups') as katello_package_groups(pulp_id uuid) full outer join rpm_packagegroup on katello_package_groups.pulp_id = rpm_packagegroup.content_ptr_id where rpm_packagegroup.content_ptr_id is null;
pulp_id | content_ptr_id
--------------------------------------+----------------
e69069bf-6755-4977-9221-1b7a395e4890 |
(1 row)
Affected repo is epel7 again, which is the only repository with filters in this CV:
foreman=# select a.id, a.name, a.pulp_id, c.pulp_id, c.relative_path
foreman-# from katello_package_groups a
foreman-# left join katello_repository_package_groups b on a.id = b.package_group_id
foreman-# left join katello_repositories c on b.repository_id = c.id
foreman-# where ( a.pulp_id in ( '/pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/' ) )
foreman-# and relative_path like '%/Library/%' order by relative_path;
id | name | pulp_id | pulp_id | relative_path
------+-------------------+------------------------------------------------------------------------------+--------------------------------------------------------------+-----------------------------------------------------
3772 | Development tools | /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ | 1-centos7-epel7-Library-ff8674d5-eed1-4476-b103-1f31d9d2cc6b | ORG/Library/centos7-epel7/custom/epel7/epel_x86_64
3772 | Development tools | /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ | ff8674d5-eed1-4476-b103-1f31d9d2cc6b | ORG/Library/custom/epel7/epel_x86_64
(2 rows)
Checking the tasks running: there is no other task with any error or warning for a couple of days now. The publish is called from a shell script using hammer. It works on all my four content views. First it promotes the version in lifecycle environment Testing to Production. After that it publishes a new version, promoted to Testing. After it runs a purge. This is the script running on Monday through Friday mornings.
#! /bin/bash
echo -n "Publishing and promoting... "
date
for i in 23 11 22 12
do
hammer content-view info --id $i --fields THIN
hammer content-view version promote --content-view-id=$i --organization ORG --from-lifecycle-environment Testing --to-lifecycle-environment Production
done
sleep 300
#for i in 4 5 11 12 17 18 19 20
for i in 23 11 22 12
do
hammer content-view info --id $i --fields THIN
time hammer --output silent content-view publish --id $i --lifecycle-environments Testing --organization ORG
hammer --output silent content-view purge --id $i
done
date
ID 11 is the “CentOS 7” content view in question. ID 23 CV is my “EL 8” content view. ID 11 and ID 23 only have a very limited overlap in repositories.
Checking other tasks overlapping with the publish task (just listing in case it might be related):
- The smart proxy sync task for the ID 23 CV published/promoted before ended exactly one second before the error.
Ended at: 2022-09-12 02:04:54 UTC
- The destroy task for the ID 23 CV ended well before:
Ended at: 2022-09-12 02:04:37 UTC
- The paused task for ID 11 CV started at
Started at: 2022-09-12 02:04:43 UTC
So I don’t think it’s an issue with another task running at the same time.
Creation date of the new package group is August 30th.
foreman=# select * from katello_package_groups where name = 'Development tools';
id | name | pulp_id | description | created_at | updated_at | migrated_pulp3_href | missing_from_migr
ation | ignore_missing_from_migration
------+-------------------+------------------------------------------------------------------------------+----------------------------------+----------------------------+----------------------------+---------------------+------------------
------+-------------------------------
3772 | Development tools | /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ | A basic development environment. | 2022-07-30 12:48:56.819566 | 2022-07-30 12:48:56.819571 | | f
| f
7237 | Development tools | /pulp/api/v3/content/rpm/packagegroups/6d3f1b3b-29b2-4a5b-81a8-63a26c0170cc/ | A basic development environment. | 2022-08-30 18:48:28.200156 | 2022-08-30 18:48:28.200203 | | f
| f
(2 rows)
I’ll find it somewhat curious that the new package group is added again on the 30th of a month. And if that’s the true creation date it would also mean that it has been successfully published and promoted in that CV for a couple for times since then. So if I understand correctly, the package group must have been duplicated in pulpcore for two weeks and only this weekend it has been removed from there.
A grep on those two uuids in the http log reveals that both uuids worked for a while.
[root@foreman httpd]# fgrep -h -e 6d3f1b3b-29b2-4a5b-81a8-63a26c0170cc -e e69069bf-6755-4977-9221-1b7a395e4890 foreman-ssl_access_ssl.log-20220* foreman-ssl_access_ssl.log
2001:638:70e:19::1 - - [15/Aug/2022:04:06:16 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 200 2771 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [15/Aug/2022:04:06:16 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 200 2771 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [16/Aug/2022:04:05:54 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 200 2771 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [16/Aug/2022:04:05:54 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 200 2771 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [17/Aug/2022:04:07:49 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 200 2771 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [17/Aug/2022:04:07:49 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 200 2771 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [18/Aug/2022:04:06:13 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 200 2771 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [18/Aug/2022:04:06:14 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 200 2771 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [19/Aug/2022:04:06:06 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 200 2771 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [19/Aug/2022:04:06:06 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 200 2771 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [22/Aug/2022:04:07:05 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 200 2771 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [22/Aug/2022:04:07:05 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 200 2771 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [23/Aug/2022:04:05:39 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 200 2771 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [23/Aug/2022:04:05:39 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 200 2771 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [24/Aug/2022:04:06:19 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 200 2771 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [24/Aug/2022:04:06:19 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 200 2771 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [25/Aug/2022:04:06:44 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 200 2771 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [25/Aug/2022:04:06:44 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 200 2771 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [26/Aug/2022:04:06:51 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 200 2771 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [26/Aug/2022:04:06:51 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 200 2771 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [31/Aug/2022:10:08:26 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 200 2771 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [31/Aug/2022:10:08:27 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 200 2771 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [31/Aug/2022:10:08:27 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/6d3f1b3b-29b2-4a5b-81a8-63a26c0170cc/ HTTP/1.1" 200 2773 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [31/Aug/2022:10:08:27 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/6d3f1b3b-29b2-4a5b-81a8-63a26c0170cc/ HTTP/1.1" 200 2773 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [01/Sep/2022:04:06:08 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 200 2771 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [01/Sep/2022:04:06:08 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 200 2771 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [01/Sep/2022:04:06:08 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/6d3f1b3b-29b2-4a5b-81a8-63a26c0170cc/ HTTP/1.1" 200 2773 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [01/Sep/2022:04:06:08 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/6d3f1b3b-29b2-4a5b-81a8-63a26c0170cc/ HTTP/1.1" 200 2773 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [02/Sep/2022:04:05:31 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 200 2771 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [02/Sep/2022:04:05:31 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 200 2771 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [02/Sep/2022:04:05:31 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/6d3f1b3b-29b2-4a5b-81a8-63a26c0170cc/ HTTP/1.1" 200 2773 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [02/Sep/2022:04:05:31 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/6d3f1b3b-29b2-4a5b-81a8-63a26c0170cc/ HTTP/1.1" 200 2773 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [05/Sep/2022:04:05:53 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 200 2771 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [05/Sep/2022:04:05:54 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 200 2771 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [05/Sep/2022:04:05:54 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/6d3f1b3b-29b2-4a5b-81a8-63a26c0170cc/ HTTP/1.1" 200 2773 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [05/Sep/2022:04:05:54 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/6d3f1b3b-29b2-4a5b-81a8-63a26c0170cc/ HTTP/1.1" 200 2773 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [06/Sep/2022:04:05:46 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 200 2771 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [06/Sep/2022:04:05:46 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 200 2771 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [06/Sep/2022:04:05:46 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/6d3f1b3b-29b2-4a5b-81a8-63a26c0170cc/ HTTP/1.1" 200 2773 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [06/Sep/2022:04:05:46 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/6d3f1b3b-29b2-4a5b-81a8-63a26c0170cc/ HTTP/1.1" 200 2773 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [07/Sep/2022:04:05:53 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 200 2771 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [07/Sep/2022:04:05:53 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 200 2771 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [07/Sep/2022:04:05:53 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/6d3f1b3b-29b2-4a5b-81a8-63a26c0170cc/ HTTP/1.1" 200 2773 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [07/Sep/2022:04:05:54 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/6d3f1b3b-29b2-4a5b-81a8-63a26c0170cc/ HTTP/1.1" 200 2773 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [08/Sep/2022:04:06:29 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 200 2771 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [08/Sep/2022:04:06:29 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 200 2771 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [08/Sep/2022:04:06:29 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/6d3f1b3b-29b2-4a5b-81a8-63a26c0170cc/ HTTP/1.1" 200 2773 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [08/Sep/2022:04:06:29 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/6d3f1b3b-29b2-4a5b-81a8-63a26c0170cc/ HTTP/1.1" 200 2773 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [09/Sep/2022:04:06:24 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 200 2771 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [09/Sep/2022:04:06:24 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 200 2771 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [09/Sep/2022:04:06:24 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/6d3f1b3b-29b2-4a5b-81a8-63a26c0170cc/ HTTP/1.1" 200 2773 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [09/Sep/2022:04:06:24 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/6d3f1b3b-29b2-4a5b-81a8-63a26c0170cc/ HTTP/1.1" 200 2773 "-" "OpenAPI-Generator/3.17.4/ruby"
2001:638:70e:19::1 - - [12/Sep/2022:04:05:55 +0200] "GET /pulp/api/v3/content/rpm/packagegroups/e69069bf-6755-4977-9221-1b7a395e4890/ HTTP/1.1" 404 23 "-" "OpenAPI-Generator/3.17.4/ruby"
The 6d3f1b3b appeared the first time on 31/Aug/2022:10:08:27 +0200
which is exactly the publish run I did to fix the issue before in my post 13 above. So basically it seems after I have cleaned up before, I have published successfully but at the same time the duplicate package group popped up.
@iballou Can I get you any other information/logs?