Actions
Story #4881
closedAs a user, the pulp-content is not represented in the status API
Start date:
Due date:
% Done:
100%
Estimated time:
Platform Release:
Groomed:
Yes
Sprint Candidate:
Yes
Tags:
Katello
Sprint:
Sprint 55
Quarter:
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.
Actions
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