Skip to content
This repository has been archived by the owner on Jan 30, 2020. It is now read-only.

Serialize systemd jobs properly #646

Closed
sukrit007 opened this issue Jul 10, 2014 · 3 comments
Closed

Serialize systemd jobs properly #646

sukrit007 opened this issue Jul 10, 2014 · 3 comments
Assignees
Milestone

Comments

@sukrit007
Copy link

Fleet currently does not apply locking when scheduling conflicting operations like "destroy", "start". For instance:

fleetctl destroy
fleetctl start

It might happen, that the fleet might be in process of stopping the container, while start might run concurrently.

If it runs on separate container , it results in issue :
#638

When it get scheduled on same machine, it results in docker issues ( as you might be in process of stopping and starting a docker container at same time which docker does not support).

Overall , I think we need some kind of locking abstraction in Fleet, so that fleet should not run the start command if any other conflicting command like stop is in progress.

@bcwaldon
Copy link
Contributor

To add a little bit more flavor to this: fleet is always submitting systemd jobs with "replace", which means any running jobs are shot. A StopUnit, which is in the process of gracefully shutting down a docker container, could be stopped prematurely by a StartUnit and put docker in a bad place.

@bcwaldon bcwaldon changed the title Locking Abstraction in Fleet. Serialize systemd jobs properly Jul 10, 2014
@bcwaldon bcwaldon added the bug label Jul 10, 2014
@jonboulle
Copy link
Contributor

related: #669

@bcwaldon
Copy link
Contributor

Fixed by #755

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants