Merge ~gnuoy/charms/+source/interface-rabbitmq:master into ~openstack-charmers-layers/charms/+source/interface-rabbitmq:master

Proposed by Liam Young
Status: Merged
Merged at revision: 1b0ca5b98363888c1fcc1035ef1481637efb7abf
Proposed branch: ~gnuoy/charms/+source/interface-rabbitmq:master
Merge into: ~openstack-charmers-layers/charms/+source/interface-rabbitmq:master
Diff against target: 36 lines (+13/-5)
1 file modified
requires.py (+13/-5)
Reviewer Review Type Date Requested Status
James Page Approve
Review via email: mp+279743@code.launchpad.net
To post a comment you must log in.
Revision history for this message
James Page (james-page) wrote :

+1

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/requires.py b/requires.py
2index 06c9fc2..7a50d66 100644
3--- a/requires.py
4+++ b/requires.py
5@@ -35,18 +35,26 @@ class RabbitMQRequires(RelationBase):
6 def joined(self):
7 self.set_state('{relation_name}.connected')
8
9- @hook('{requires:rabbitmq}-relation-changed')
10- def changed(self):
11+ def update_state(self):
12 if self.base_data_complete():
13 self.set_state('{relation_name}.available')
14 if self.ssl_data_complete():
15 self.set_state('{relation_name}.available.ssl')
16+ else:
17+ self.remove_state('{relation_name}.available.ssl')
18+ else:
19+ self.remove_state('{relation_name}.available')
20+ self.remove_state('{relation_name}.available.ssl')
21+ if not self.rabbitmq_hosts():
22+ self.remove_state('{relation_name}.connected')
23+
24+ @hook('{requires:rabbitmq}-relation-changed')
25+ def changed(self):
26+ self.update_state()
27
28 @hook('{requires:rabbitmq}-relation-{broken,departed}')
29 def departed(self):
30- self.remove_state('{relation_name}.connected')
31- self.remove_state('{relation_name}.available')
32- self.remove_state('{relation_name}.available.ssl')
33+ self.update_state()
34
35 def base_data_complete(self):
36 """

Subscribers

People subscribed via source and target branches