Merge lp:~tribaal/charms/trusty/rabbitmq-server/add-pause-resume-actions into lp:~openstack-charmers-archive/charms/trusty/rabbitmq-server/next
Status: | Work in progress |
---|---|
Proposed branch: | lp:~tribaal/charms/trusty/rabbitmq-server/add-pause-resume-actions |
Merge into: | lp:~openstack-charmers-archive/charms/trusty/rabbitmq-server/next |
Diff against target: |
316 lines (+225/-3) 7 files modified
Makefile (+1/-1) actions.yaml (+4/-0) actions/actions.py (+61/-0) hooks/rabbit_utils.py (+31/-0) hooks/rabbitmq_server_relations.py (+1/-1) tests/basic_deployment.py (+125/-0) unit_tests/test_rabbitmq_server_relations.py (+2/-1) |
To merge this branch: | bzr merge lp:~tribaal/charms/trusty/rabbitmq-server/add-pause-resume-actions |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
David Ames (community) | Needs Fixing | ||
James Page | Needs Fixing | ||
Geoff Teale (community) | Approve | ||
Review via email: mp+277418@code.launchpad.net |
Description of the change
This branch adds two unit-level actions, "pause" and "resume" to the charm, that users can execute to pause and respectively resume a particular unit of a rabbitmq-server cluster, similar to the way other charms implement the same feature (ceilometer, swift*).
A unit that is "paused" should not have any responsability anymore and should be allowed to be taken offline without further warning. In Rabbitmq's case this is pretty simple, since the application itself allows for this to happen by default. Pausing the unit will simply stop the rabbitmq service on the given unit. Other charms need to make sure no data is lost.
One small non-obvious change here: the @restart_on_change decorator is further wrapped to make it "pause aware" otherwise some service-level configuration changes would restart the rabbitmq services on paused units. Again, this is not critical in rabbitmq's case since the application logic should handle a killed service gracefully, but was added anyway for consistency's sake.
Unmerged revisions
- 134. By Chris Glass
-
This should hopefully fix tests once and for all.
- 133. By Chris Glass
-
Added missing method (straight copy from the swift-proxy charm).
- 132. By Chris Glass
-
Re-added actions directory to linting after commit revert.
- 131. By Chris Glass
-
Reverting last change - unintended charmhelpers sync was pulled in as well.
- 130. By Chris Glass
-
Added new actions directory to lint makefile target.
- 129. By Chris Glass
-
Fixed missing mock for tests.
- 128. By Chris Glass
-
Lint fixes.
- 127. By Chris Glass
-
Move the maintenance status set to the assess_status() function. (james's review)
- 126. By Chris Glass
-
Forgot the tests
- 125. By Chris Glass
-
First pass to make rabbitmq-server maintenance-aware.
+1 Approve.