Merge lp:~junaidali/charms/trusty/plumgrid-director/trunk into lp:~plumgrid-team/charms/trusty/plumgrid-director/trunk

Proposed by Junaid Ali
Status: Merged
Merged at revision: 28
Proposed branch: lp:~junaidali/charms/trusty/plumgrid-director/trunk
Merge into: lp:~plumgrid-team/charms/trusty/plumgrid-director/trunk
Diff against target: 148 lines (+44/-24)
4 files modified
hooks/pg_dir_context.py (+10/-1)
hooks/pg_dir_hooks.py (+22/-18)
hooks/pg_dir_utils.py (+12/-1)
unit_tests/test_pg_dir_hooks.py (+0/-4)
To merge this branch: bzr merge lp:~junaidali/charms/trusty/plumgrid-director/trunk
Reviewer Review Type Date Requested Status
Bilal Baqar Approve
Hassaan Pasha Pending
Review via email: mp+288399@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Bilal Baqar (bbaqar) wrote :

Made a few comments.

review: Needs Fixing
Revision history for this message
Bilal Baqar (bbaqar) :
review: Needs Fixing
27. By Bilal Baqar

Made the following changes:
1. Reordered file and module imports
2. Sorted director IPs
3. Added unit fqdn in /etc/hosts of plumgrid-lxc
4. Loading plumgrid specific iptables on install
5. Added temporary upgrade hook to load iptables
6. stop_pg() is being used in restart_pg()
7. persistant iptables

28. By Bilal Baqar

Improved config-changed hook to perform steps according to the config changed

Revision history for this message
Bilal Baqar (bbaqar) :
review: Approve
Revision history for this message
Bilal Baqar (bbaqar) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'hooks/pg_dir_context.py'
--- hooks/pg_dir_context.py 2016-03-12 20:38:52 +0000
+++ hooks/pg_dir_context.py 2016-03-25 13:15:20 +0000
@@ -6,7 +6,6 @@
6import re6import re
7from charmhelpers.contrib.openstack import context7from charmhelpers.contrib.openstack import context
8from charmhelpers.contrib.openstack.utils import get_host_ip8from charmhelpers.contrib.openstack.utils import get_host_ip
9from charmhelpers.contrib.network.ip import get_address_in_network
10from charmhelpers.core.hookenv import (9from charmhelpers.core.hookenv import (
11 config,10 config,
12 unit_get,11 unit_get,
@@ -16,6 +15,11 @@
16 related_units,15 related_units,
17 relation_get,16 relation_get,
18)17)
18from charmhelpers.contrib.network.ip import (
19 is_ip,
20 get_address_in_network,
21)
22
19from socket import (23from socket import (
20 gethostname,24 gethostname,
21 getfqdn25 getfqdn
@@ -84,6 +88,11 @@
84 else:88 else:
85 pg_dir_ips_string = pg_dir_ips_string + ',' + str(ip)89 pg_dir_ips_string = pg_dir_ips_string + ',' + str(ip)
86 pg_ctxt['director_ips_string'] = pg_dir_ips_string90 pg_ctxt['director_ips_string'] = pg_dir_ips_string
91 PG_VIP = config('plumgrid-virtual-ip')
92 if is_ip(PG_VIP):
93 pg_ctxt['virtual_ip'] = conf['plumgrid-virtual-ip']
94 else:
95 raise ValueError('Invalid IP Provided')
87 pg_ctxt['virtual_ip'] = conf['plumgrid-virtual-ip']96 pg_ctxt['virtual_ip'] = conf['plumgrid-virtual-ip']
88 unit_hostname = gethostname()97 unit_hostname = gethostname()
89 pg_ctxt['pg_hostname'] = unit_hostname98 pg_ctxt['pg_hostname'] = unit_hostname
9099
=== modified file 'hooks/pg_dir_hooks.py'
--- hooks/pg_dir_hooks.py 2016-03-13 03:50:51 +0000
+++ hooks/pg_dir_hooks.py 2016-03-25 13:15:20 +0000
@@ -7,6 +7,7 @@
77
8import sys8import sys
9import time9import time
10from charmhelpers.core.host import service_running
1011
11from charmhelpers.core.hookenv import (12from charmhelpers.core.hookenv import (
12 Hooks,13 Hooks,
@@ -69,33 +70,36 @@
69 This hook is run when a config parameter is changed.70 This hook is run when a config parameter is changed.
70 It also runs on node reboot.71 It also runs on node reboot.
71 '''72 '''
72 if add_lcm_key():
73 log("PLUMgrid LCM Key added")
74 return 1
75 charm_config = config()73 charm_config = config()
74 if charm_config.changed('lcm-ssh-key'):
75 if add_lcm_key():
76 log("PLUMgrid LCM Key added")
76 if charm_config.changed('plumgrid-license-key'):77 if charm_config.changed('plumgrid-license-key'):
77 if post_pg_license():78 if post_pg_license():
78 log("PLUMgrid License Posted")79 log("PLUMgrid License Posted")
79 return 1
80 if charm_config.changed('fabric-interfaces'):80 if charm_config.changed('fabric-interfaces'):
81 if not fabric_interface_changed():81 if not fabric_interface_changed():
82 log("Fabric interface already set")82 log("Fabric interface already set")
83 return 183 else:
84 if charm_config.changed('os-data-network'):84 stop_pg()
85 if charm_config['fabric-interfaces'] == 'MANAGEMENT':85 if charm_config.changed('plumgrid-virtual-ip'):
86 log('Fabric running on managment network')86 CONFIGS.write_all()
87 return 187 stop_pg()
88 stop_pg()88 if (charm_config.changed('install_sources') or
89 configure_sources(update=True)89 charm_config.changed('plumgrid-build') or
90 pkgs = determine_packages()90 charm_config.changed('install_keys') or
91 for pkg in pkgs:91 charm_config.changed('iovisor-build')):
92 apt_install(pkg, options=['--force-yes'], fatal=True)92 stop_pg()
93 remove_iovisor()93 configure_sources(update=True)
94 load_iovisor()94 pkgs = determine_packages()
95 for pkg in pkgs:
96 apt_install(pkg, options=['--force-yes'], fatal=True)
97 remove_iovisor()
98 load_iovisor()
95 ensure_mtu()99 ensure_mtu()
96 add_lcm_key()
97 CONFIGS.write_all()100 CONFIGS.write_all()
98 restart_pg()101 if not service_running('plumgrid'):
102 restart_pg()
99103
100104
101@hooks.hook('start')105@hooks.hook('start')
102106
=== modified file 'hooks/pg_dir_utils.py'
--- hooks/pg_dir_utils.py 2016-03-12 21:34:47 +0000
+++ hooks/pg_dir_utils.py 2016-03-25 13:15:20 +0000
@@ -30,6 +30,7 @@
30from charmhelpers.core.host import (30from charmhelpers.core.host import (
31 service_start,31 service_start,
32 service_stop,32 service_stop,
33 service_running
33)34)
34from charmhelpers.fetch import (35from charmhelpers.fetch import (
35 apt_cache,36 apt_cache,
@@ -142,7 +143,17 @@
142 '''143 '''
143 stop_pg()144 stop_pg()
144 service_start('plumgrid')145 service_start('plumgrid')
145 time.sleep(5)146 time.sleep(3)
147 if not service_running('plumgrid'):
148 if service_running('libvirt-bin'):
149 raise ValueError("plumgrid service couldn't be started")
150 else:
151 if service_start('libvirt-bin'):
152 time.sleep(3)
153 if not service_running('plumgrid'):
154 raise ValueError("plumgrid service couldn't be started")
155 else:
156 raise ValueError("libvirt-bin service couldn't be started")
146157
147158
148def stop_pg():159def stop_pg():
149160
=== modified file 'unit_tests/test_pg_dir_hooks.py'
--- unit_tests/test_pg_dir_hooks.py 2016-03-10 19:38:25 +0000
+++ unit_tests/test_pg_dir_hooks.py 2016-03-25 13:15:20 +0000
@@ -62,10 +62,6 @@
62 self.load_iovisor.assert_called_with()62 self.load_iovisor.assert_called_with()
63 self.ensure_mtu.assert_called_with()63 self.ensure_mtu.assert_called_with()
6464
65 def test_config_changed_hook(self):
66 self.add_lcm_key.return_value = 1
67 self._call_hook('config-changed')
68
69 def test_start(self):65 def test_start(self):
70 self._call_hook('start')66 self._call_hook('start')
71 self.test_config.set('plumgrid-license-key', None)67 self.test_config.set('plumgrid-license-key', None)

Subscribers

People subscribed via source and target branches