Merge ~barryprice/charm-nrpe/+git/nrpe-charm:master into ~nrpe-charmers/charm-nrpe:master

Proposed by Barry Price
Status: Merged
Approved by: Junien F
Approved revision: da52077ebba6c2bba86a3f1310e66ad7f8fb8115
Merged at revision: 59f5025a825cd1c86ee9b9b71f1470a488820879
Proposed branch: ~barryprice/charm-nrpe/+git/nrpe-charm:master
Merge into: ~nrpe-charmers/charm-nrpe:master
Diff against target: 37 lines (+15/-6)
1 file modified
hooks/charmhelpers/core/services/base.py (+15/-6)
Reviewer Review Type Date Requested Status
Junien F Approve
Review via email: mp+337041@code.launchpad.net

Commit message

Restore our patch to charmhelpers

To post a comment you must log in.
Revision history for this message
🤖 Canonical IS Merge Bot (canonical-is-mergebot) wrote :

This merge proposal is being monitored by mergebot. Change the status to Approved to merge.

Revision history for this message
Junien F (axino) wrote :

+1

review: Approve
Revision history for this message
🤖 Canonical IS Merge Bot (canonical-is-mergebot) wrote :

Change successfully merged at revision 59f5025a825cd1c86ee9b9b71f1470a488820879

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/hooks/charmhelpers/core/services/base.py b/hooks/charmhelpers/core/services/base.py
2index ca9dc99..345b60d 100644
3--- a/hooks/charmhelpers/core/services/base.py
4+++ b/hooks/charmhelpers/core/services/base.py
5@@ -313,17 +313,26 @@ class PortManagerCallback(ManagerCallback):
6 with open(port_file) as fp:
7 old_ports = fp.read().split(',')
8 for old_port in old_ports:
9- if bool(old_port):
10- old_port = int(old_port)
11- if old_port not in new_ports:
12- hookenv.close_port(old_port)
13+ if bool(old_port) and not self.ports_contains(old_port, new_ports):
14+ hookenv.close_port(old_port)
15 with open(port_file, 'w') as fp:
16 fp.write(','.join(str(port) for port in new_ports))
17 for port in new_ports:
18+ # A port is either a number or 'ICMP'
19+ protocol = 'TCP'
20+ if str(port).upper() == 'ICMP':
21+ protocol = 'ICMP'
22 if event_name == 'start':
23- hookenv.open_port(port)
24+ hookenv.open_port(port, protocol)
25 elif event_name == 'stop':
26- hookenv.close_port(port)
27+ hookenv.close_port(port, protocol)
28+
29+ def ports_contains(self, port, ports):
30+ if not bool(port):
31+ return False
32+ if str(port).upper() != 'ICMP':
33+ port = int(port)
34+ return port in ports
35
36
37 def service_stop(service_name):

Subscribers

People subscribed via source and target branches