Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Eliminate need for persistence in uniteravailability manifold #3129

Closed

Conversation

cmars
Copy link
Contributor

@cmars cmars commented Aug 27, 2015

Wait groups are used to provide the necessary mutual exclusion between workload upgrades and workers that want to interact with the agent & workload asynchronously. Availability always starts false and would be set to true only after the uniter resumes prior state from disk after restart, or otherwise enters the "started" state.

Availability consumers are expected to always ExitAvailable() if they successfully EnterAvailable()==true -- even if shut down with Worker.Kill.

(Review request: http://reviews.vapour.ws/r/2509/)

@cmars cmars mentioned this pull request Aug 27, 2015
Using sync.WaitGroup to manage mutually-exclusive uniter operations with
availability consumers.

Update availability test to check whether ExitAvailability is called.

Improve godoc comments.

Rename manifold, hide sharp edges of waitgroups from consumers.
@cmars cmars force-pushed the cmars-030-uniteravailability-wg branch from 71feabb to a5ccec2 Compare August 28, 2015 17:51
jujubot added a commit that referenced this pull request Sep 2, 2015
Uniter sets availability

Add uniteravailability resource dependency to uniter, have uniter set availability according to upgrade & started states.

Prerequisite branch: http://reviews.vapour.ws/r/2509/ (#3129)

(Review request: http://reviews.vapour.ws/r/2511/)
@jameinel jameinel closed this Jan 19, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants