Project

Profile

Help

Story #2659

closed

As a User I would like Pulp3 to not show me offline workers in the status api

Added by bizhang about 7 years ago. Updated over 4 years ago.

Status:
CLOSED - CURRENTRELEASE
Priority:
Normal
Assignee:
Category:
-
Sprint/Milestone:
Start date:
Due date:
% Done:

100%

Estimated time:
Platform Release:
Groomed:
Yes
Sprint Candidate:
Yes
Tags:
Functional Test
Sprint:
Sprint 28
Quarter:

Description

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 online_workers queryset.
4) Update the docstrings so that those updates will flow to the docs

Also available in: Atom PDF