Story #4881
As a user, the pulp-content is not represented in the status API
100%
Description
Problem¶
When using the Status API you can't see if the content app is online. Each instance of the pulp-content app should checkin into the database periodically with a heartbeat.
Solution¶
The status API should should show the checking-in pulp-content instances that have checked in, within the last 30 seconds. A new constant should be made for that value. 30 is selected as the same default as the timeout for workers also.
The new constant can be called CONTENT_APP_TTL = 30.
Design notes¶
The checkin code needs to be coroutine based so the scheduler knows to wake it up near when it needs to. On the order of 30 seconds this should be ok. It should wake up every CONTENT_APP_TTL / 4.
Associated revisions
History
#1
Updated by bmbouter over 1 year ago
- Description updated (diff)
#2
Updated by daviddavis over 1 year ago
- Tags Katello-P1 added
#3
Updated by dkliban@redhat.com over 1 year ago
- Groomed changed from No to Yes
- Sprint Candidate changed from No to Yes
- Sprint set to Sprint 54
#4
Updated by ttereshc over 1 year ago
- Sprint changed from Sprint 54 to Sprint 55
#5
Updated by bmbouter over 1 year ago
- Status changed from NEW to ASSIGNED
- Assignee set to bmbouter
#6
Updated by bmbouter over 1 year ago
- Status changed from ASSIGNED to POST
PR available at: https://github.com/pulp/pulpcore/pull/183
#7
Updated by bmbouter over 1 year ago
- Status changed from POST to MODIFIED
- % Done changed from 0 to 100
Applied in changeset pulpcore|9d6d2f2bdf829e50ed24561e46e7fc07f8747d0e.
#8
Updated by bmbouter about 1 year ago
- Sprint/Milestone set to 3.0.0
#9
Updated by bmbouter about 1 year ago
- Status changed from MODIFIED to CLOSED - CURRENTRELEASE
Please register to edit this issue
Adds content-app to status API
A new model is introduced called
ContentAppStatus
is introduced which will record status check-in records from the Content App.The Content App will check in periodically checkin and write to the
ContentAppStatus
object.To tell the ContentAppStatus records apart for multiple Content Apps each Content App now requires a name. The name is auto-selected as '{pid}@{hostname}'.
The Status API viewset now shows a 'content_apps' section which lists the ContentAppStatus records, showing their names and last heartbeat time.
Adds a doc and feature changelog entries.
https://pulp.plan.io/issues/4881 closes #4881