As a User I would like Pulp3 to not show me offline workers in the status api
Assumption: Pulp workers that are missing should not be shown in the status API.
In Pulp3, the Worker model has an 'online' boolean which is meant to allow Pulp to store records about workers even after they have gone offline. Additionally workers should be considered offline if their heartbeat time is older than 30 seconds. We need to filter for both cases because of the following failure scenario:
1) a working Pulp system with exactly 1 worker that has pid 1234
2) kill -9 1234
In this case, the DB record will show 'online' without the 30 second part of the filter.
To resolve this we should:
1) add a method called
online_workers to the TaskManager which returns a queryset with the two filters applied as described above
2) refactor the get_unreserved_worker method to use
online_workers instead. This will cause us to stay DRY w.r.t. this filtering.
3) Have the ViewSet of the /status/ API only return workers from the
4) Update the docstrings so that those updates will flow to the docs
#5 Updated by mhrivnak over 3 years ago
- Groomed changed from No to Yes
It may be helpful in the future to somehow represent workers that have gone "offline", but we need to answer more questions about that state. For example, we'd probably want to differentiate between workers that went offline gracefully vs. unexpectedly.
So for now, only showing online workers is I think the best move.
Please register to edit this issue