Merge lp:~james-page/charms/trusty/openstack-dashboard/bug.1391784 into lp:~openstack-charmers-archive/charms/trusty/openstack-dashboard/next

Proposed by James Page
Status: Merged
Merged at revision: 49
Proposed branch: lp:~james-page/charms/trusty/openstack-dashboard/bug.1391784
Merge into: lp:~openstack-charmers-archive/charms/trusty/openstack-dashboard/next
Diff against target: 89 lines (+48/-2)
3 files modified
config.yaml (+12/-0)
hooks/horizon_hooks.py (+6/-2)
unit_tests/test_horizon_hooks.py (+30/-0)
To merge this branch: bzr merge lp:~james-page/charms/trusty/openstack-dashboard/bug.1391784
Reviewer Review Type Date Requested Status
Ryan Beisner (community) Approve
Liam Young (community) Approve
Review via email: mp+241526@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Ryan Beisner (1chb1n) wrote :

UOSCI bot says:
charm_lint_check #1006 openstack-dashboard-next for james-page mp241526
    LINT OK: passed

LINT Results (max last 5 lines):
  I: config.yaml: option profile has no default value
  I: config.yaml: option ssl_key has no default value
  I: config.yaml: option vip has no default value
  I: config.yaml: option ssl_cert has no default value
  I: config.yaml: option secret has no default value

Full lint test output: http://paste.ubuntu.com/8961146/
Build: http://10.98.191.181:8080/job/charm_lint_check/1006/

Revision history for this message
Ryan Beisner (1chb1n) wrote :

UOSCI bot says:
charm_amulet_test #386 openstack-dashboard-next for james-page mp241526
    AMULET FAIL: amulet-test missing

AMULET Results (max last 5 lines):
INFO:root:Workspace dir: /var/lib/jenkins/workspace/charm_amulet_test
INFO:root:Reading file: Makefile
INFO:root:Searching for: ['@juju test']
INFO:root:Search string not found in makefile target commands.
ERROR:root:No make target was executed.

Full amulet test output: http://paste.ubuntu.com/8961147/
Build: http://10.98.191.181:8080/job/charm_amulet_test/386/

Revision history for this message
Ryan Beisner (1chb1n) wrote :

UOSCI bot says:
charm_unit_test #841 openstack-dashboard-next for james-page mp241526
    UNIT OK: passed

UNIT Results (max last 5 lines):
  hooks/horizon_hooks 87 8 91% 73-74, 122-124, 149-150, 173
  hooks/horizon_utils 73 8 89% 135, 190-202
  TOTAL 222 17 92%
  Ran 40 tests in 1.910s
  OK

Full unit test output: http://paste.ubuntu.com/8961148/
Build: http://10.98.191.181:8080/job/charm_unit_test/841/

Revision history for this message
uosci-testing-bot (uosci-testing-bot) wrote :

UOSCI bot says:
charm_lint_check #1009 openstack-dashboard-next for james-page mp241526
    LINT OK: passed

LINT Results (max last 5 lines):
  I: config.yaml: option profile has no default value
  I: config.yaml: option ssl_key has no default value
  I: config.yaml: option vip has no default value
  I: config.yaml: option ssl_cert has no default value
  I: config.yaml: option secret has no default value

Full lint test output: http://paste.ubuntu.com/8964663/
Build: http://10.98.191.181:8080/job/charm_lint_check/1009/

Revision history for this message
uosci-testing-bot (uosci-testing-bot) wrote :

UOSCI bot says:
charm_amulet_test #472 openstack-dashboard-next for james-page mp241526
    AMULET FAIL: amulet-test missing

AMULET Results (max last 5 lines):
INFO:root:Workspace dir: /var/lib/jenkins/workspace/charm_amulet_test
INFO:root:Reading file: Makefile
INFO:root:Searching for: ['@juju test']
INFO:root:Search string not found in makefile target commands.
ERROR:root:No make target was executed.

Full amulet test output: http://paste.ubuntu.com/9100982/
Build: http://10.98.191.181:8080/job/charm_amulet_test/472/

Revision history for this message
uosci-testing-bot (uosci-testing-bot) wrote :

UOSCI bot says:
charm_unit_test #964 openstack-dashboard-next for james-page mp241526
    UNIT OK: passed

UNIT Results (max last 5 lines):
  hooks/horizon_hooks 87 8 91% 73-74, 122-124, 149-150, 173
  hooks/horizon_utils 73 8 89% 135, 190-202
  TOTAL 222 17 92%
  Ran 40 tests in 1.653s
  OK

Full unit test output: http://paste.ubuntu.com/9100983/
Build: http://10.98.191.181:8080/job/charm_unit_test/964/

Revision history for this message
uosci-testing-bot (uosci-testing-bot) wrote :

UOSCI bot says:
charm_lint_check #1130 openstack-dashboard-next for james-page mp241526
    LINT OK: passed

LINT Results (max last 5 lines):
  I: config.yaml: option profile has no default value
  I: config.yaml: option ssl_key has no default value
  I: config.yaml: option vip has no default value
  I: config.yaml: option ssl_cert has no default value
  I: config.yaml: option secret has no default value

Full lint test output: http://paste.ubuntu.com/9100985/
Build: http://10.98.191.181:8080/job/charm_lint_check/1130/

Revision history for this message
Liam Young (gnuoy) wrote :

Approve

review: Approve
Revision history for this message
uosci-testing-bot (uosci-testing-bot) wrote :

charm_lint_check #731 openstack-dashboard-next for james-page mp241526
    LINT OK: passed

Build: http://10.245.162.77:8080/job/charm_lint_check/731/

Revision history for this message
uosci-testing-bot (uosci-testing-bot) wrote :

charm_unit_test #760 openstack-dashboard-next for james-page mp241526
    UNIT OK: passed

Build: http://10.245.162.77:8080/job/charm_unit_test/760/

Revision history for this message
uosci-testing-bot (uosci-testing-bot) wrote :

charm_amulet_test #916 openstack-dashboard-next for james-page mp241526
    AMULET FAIL: amulet-test missing

AMULET Results (max last 2 lines):
INFO:root:Search string not found in makefile target commands.
ERROR:root:No make target was executed.

Full amulet test output: http://paste.ubuntu.com/9730901/
Build: http://10.245.162.77:8080/job/charm_amulet_test/916/

Revision history for this message
Ryan Beisner (1chb1n) wrote :

FYI, P, T & U deploy tests are happy.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'config.yaml'
--- config.yaml 2014-10-30 03:30:36 +0000
+++ config.yaml 2015-01-13 14:46:35 +0000
@@ -36,6 +36,18 @@
36 type: string36 type: string
37 default:37 default:
38 description: "Virtual IP to use to front openstack dashboard ha configuration"38 description: "Virtual IP to use to front openstack dashboard ha configuration"
39 vip_iface:
40 type: string
41 default: eth0
42 description: |
43 Default network interface to use for HA vip when it cannot be automatically
44 determined.
45 vip_cidr:
46 type: int
47 default: 24
48 description: |
49 Default CIDR netmask to use for HA vip when it cannot be automatically
50 determined.
39 ha-bindiface:51 ha-bindiface:
40 type: string52 type: string
41 default: eth053 default: eth0
4254
=== modified file 'hooks/horizon_hooks.py'
--- hooks/horizon_hooks.py 2015-01-12 11:48:23 +0000
+++ hooks/horizon_hooks.py 2015-01-13 14:46:35 +0000
@@ -162,7 +162,11 @@
162 res_vip = 'ocf:heartbeat:IPaddr2'162 res_vip = 'ocf:heartbeat:IPaddr2'
163 vip_params = 'ip'163 vip_params = 'ip'
164164
165 iface = get_iface_for_address(vip)165 iface = (get_iface_for_address(vip) or
166 config('vip_iface'))
167 netmask = (get_netmask_for_address(vip) or
168 config('vip_cidr'))
169
166 if iface is not None:170 if iface is not None:
167 vip_key = 'res_horizon_{}_vip'.format(iface)171 vip_key = 'res_horizon_{}_vip'.format(iface)
168 resources[vip_key] = res_vip172 resources[vip_key] = res_vip
@@ -171,7 +175,7 @@
171 ' nic="{iface}"'.format(ip=vip_params,175 ' nic="{iface}"'.format(ip=vip_params,
172 vip=vip,176 vip=vip,
173 iface=iface,177 iface=iface,
174 netmask=get_netmask_for_address(vip))178 netmask=netmask)
175 )179 )
176 vip_group.append(vip_key)180 vip_group.append(vip_key)
177181
178182
=== modified file 'unit_tests/test_horizon_hooks.py'
--- unit_tests/test_horizon_hooks.py 2015-01-09 15:42:47 +0000
+++ unit_tests/test_horizon_hooks.py 2015-01-13 14:46:35 +0000
@@ -125,6 +125,36 @@
125 }125 }
126 self.relation_set.assert_called_with(**ex_args)126 self.relation_set.assert_called_with(**ex_args)
127127
128 def test_ha_joined_no_bound_ip(self):
129 conf = {
130 'ha-bindiface': 'eth100',
131 'ha-mcastport': '37373',
132 'vip': '192.168.25.163',
133 }
134 self.test_config.set('vip_iface', 'eth120')
135 self.test_config.set('vip_cidr', '21')
136 self.get_iface_for_address.return_value = None
137 self.get_netmask_for_address.return_value = None
138 self.get_hacluster_config.return_value = conf
139 self._call_hook('ha-relation-joined')
140 ex_args = {
141 'corosync_mcastport': '37373',
142 'init_services': {
143 'res_horizon_haproxy': 'haproxy'},
144 'resource_params': {
145 'res_horizon_eth120_vip':
146 'params ip="192.168.25.163" cidr_netmask="21"'
147 ' nic="eth120"',
148 'res_horizon_haproxy': 'op monitor interval="5s"'},
149 'corosync_bindiface': 'eth100',
150 'clones': {
151 'cl_horizon_haproxy': 'res_horizon_haproxy'},
152 'resources': {
153 'res_horizon_eth120_vip': 'ocf:heartbeat:IPaddr2',
154 'res_horizon_haproxy': 'lsb:haproxy'}
155 }
156 self.relation_set.assert_called_with(**ex_args)
157
128 def test_ha_joined_incomplete_config(self):158 def test_ha_joined_incomplete_config(self):
129 self.get_hacluster_config.side_effect = HAIncompleteConfig(1, 'bang')159 self.get_hacluster_config.side_effect = HAIncompleteConfig(1, 'bang')
130 self.assertRaises(HAIncompleteConfig, self._call_hook,160 self.assertRaises(HAIncompleteConfig, self._call_hook,

Subscribers

People subscribed via source and target branches