Merge lp:~james-page/charms/trusty/nova-cloud-controller/xenial into lp:~openstack-charmers-archive/charms/trusty/nova-cloud-controller/next
- Trusty Tahr (14.04)
- xenial
- Merge into next
Status: | Merged |
---|---|
Merged at revision: | 218 |
Proposed branch: | lp:~james-page/charms/trusty/nova-cloud-controller/xenial |
Merge into: | lp:~openstack-charmers-archive/charms/trusty/nova-cloud-controller/next |
Diff against target: |
321 lines (+215/-7) 5 files modified
hooks/nova_cc_hooks.py (+2/-2) hooks/nova_cc_utils.py (+19/-5) templates/mitaka/nova.conf (+174/-0) tests/basic_deployment.py (+7/-0) unit_tests/test_nova_cc_utils.py (+13/-0) |
To merge this branch: | bzr merge lp:~james-page/charms/trusty/nova-cloud-controller/xenial |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Billy Olsen | Approve | ||
David Ames (community) | Needs Fixing | ||
Review via email: mp+285779@code.launchpad.net |
Commit message
Description of the change
- 226. By James Page
-
Enable testing of xenial
uosci-testing-bot (uosci-testing-bot) wrote : | # |
uosci-testing-bot (uosci-testing-bot) wrote : | # |
charm_unit_test #222 nova-cloud-
UNIT OK: passed
David Ames (thedac) wrote : | # |
Besides s/kilo/mitaka in the nova.conf template this looks good. Waiting for final amulet run.
uosci-testing-bot (uosci-testing-bot) wrote : | # |
charm_amulet_test #117 nova-cloud-
AMULET FAIL: amulet-test failed
AMULET Results (max last 2 lines):
make: *** [functional_test] Error 1
ERROR:root:Make target returned non-zero.
Full amulet test output: http://
Build: http://
uosci-testing-bot (uosci-testing-bot) wrote : | # |
charm_amulet_test #123 nova-cloud-
AMULET FAIL: amulet-test failed
AMULET Results (max last 2 lines):
make: *** [functional_test] Error 1
ERROR:root:Make target returned non-zero.
Full amulet test output: http://
Build: http://
- 227. By James Page
-
Fixup template header
- 228. By James Page
-
Drop tests for ec2 and objectstore on >= liberty
- 229. By James Page
-
Disable mitaka tests until all merges land
uosci-testing-bot (uosci-testing-bot) wrote : | # |
charm_lint_check #372 nova-cloud-
LINT OK: passed
uosci-testing-bot (uosci-testing-bot) wrote : | # |
charm_unit_test #294 nova-cloud-
UNIT OK: passed
uosci-testing-bot (uosci-testing-bot) wrote : | # |
charm_lint_check #374 nova-cloud-
LINT OK: passed
uosci-testing-bot (uosci-testing-bot) wrote : | # |
charm_unit_test #297 nova-cloud-
UNIT OK: passed
uosci-testing-bot (uosci-testing-bot) wrote : | # |
charm_amulet_test #146 nova-cloud-
AMULET FAIL: amulet-test failed
AMULET Results (max last 2 lines):
make: *** [functional_test] Error 1
ERROR:root:Make target returned non-zero.
Full amulet test output: http://
Build: http://
David Ames (thedac) wrote : | # |
James,
This amulet fail is legit. The amulet test was changed
=== modified file 'tests/
--- tests/basic_
+++ tests/basic_
@@ -195,6 +195,9 @@
}
+ if self._get_
+ services[
+ services[
That is what is failing:
2016-02-12 17:34:18,008 service_
nova-cloud-
juju-test.
juju-test.
- 230. By James Page
-
Drop ec2 and objectstore checks from restart tests for liberty or greater
uosci-testing-bot (uosci-testing-bot) wrote : | # |
charm_lint_check #664 nova-cloud-
LINT OK: passed
uosci-testing-bot (uosci-testing-bot) wrote : | # |
charm_unit_test #574 nova-cloud-
UNIT OK: passed
uosci-testing-bot (uosci-testing-bot) wrote : | # |
charm_lint_check #666 nova-cloud-
LINT OK: passed
uosci-testing-bot (uosci-testing-bot) wrote : | # |
charm_unit_test #576 nova-cloud-
UNIT OK: passed
uosci-testing-bot (uosci-testing-bot) wrote : | # |
charm_amulet_test #271 nova-cloud-
AMULET OK: passed
Billy Olsen (billy-olsen) wrote : | # |
Looks sane to me.
Preview Diff
1 | === modified file 'hooks/nova_cc_hooks.py' | |||
2 | --- hooks/nova_cc_hooks.py 2016-02-11 15:49:38 +0000 | |||
3 | +++ hooks/nova_cc_hooks.py 2016-02-16 19:02:24 +0000 | |||
4 | @@ -1067,8 +1067,8 @@ | |||
5 | 1067 | fp.write('manual\n') | 1067 | fp.write('manual\n') |
6 | 1068 | fp.flush() | 1068 | fp.flush() |
7 | 1069 | 1069 | ||
10 | 1070 | elif (not config('single-nova-consoleauth') | 1070 | elif (not config('single-nova-consoleauth') and |
11 | 1071 | and console_attributes('protocol')): | 1071 | console_attributes('protocol')): |
12 | 1072 | for item in ['vip_consoleauth', 'res_nova_consoleauth']: | 1072 | for item in ['vip_consoleauth', 'res_nova_consoleauth']: |
13 | 1073 | if item not in data['delete_resources']: | 1073 | if item not in data['delete_resources']: |
14 | 1074 | data['delete_resources'].append(item) | 1074 | data['delete_resources'].append(item) |
15 | 1075 | 1075 | ||
16 | === modified file 'hooks/nova_cc_utils.py' | |||
17 | --- hooks/nova_cc_utils.py 2016-01-08 12:30:31 +0000 | |||
18 | +++ hooks/nova_cc_utils.py 2016-02-16 19:02:24 +0000 | |||
19 | @@ -162,6 +162,10 @@ | |||
20 | 162 | 'nova-scheduler', | 162 | 'nova-scheduler', |
21 | 163 | ] | 163 | ] |
22 | 164 | 164 | ||
23 | 165 | SERVICE_BLACKLIST = { | ||
24 | 166 | 'liberty': ['nova-api-ec2', 'nova-objectstore'] | ||
25 | 167 | } | ||
26 | 168 | |||
27 | 165 | API_PORTS = { | 169 | API_PORTS = { |
28 | 166 | 'nova-api-ec2': 8773, | 170 | 'nova-api-ec2': 8773, |
29 | 167 | 'nova-api-os-compute': 8774, | 171 | 'nova-api-os-compute': 8774, |
30 | @@ -186,9 +190,20 @@ | |||
31 | 186 | NEUTRON_DEFAULT = '/etc/default/neutron-server' | 190 | NEUTRON_DEFAULT = '/etc/default/neutron-server' |
32 | 187 | QUANTUM_DEFAULT = '/etc/default/quantum-server' | 191 | QUANTUM_DEFAULT = '/etc/default/quantum-server' |
33 | 188 | 192 | ||
34 | 193 | |||
35 | 194 | def resolve_services(): | ||
36 | 195 | _services = deepcopy(BASE_SERVICES) | ||
37 | 196 | os_rel = get_os_codename_install_source(config('openstack-origin')) | ||
38 | 197 | for release in SERVICE_BLACKLIST: | ||
39 | 198 | if os_rel >= release: | ||
40 | 199 | [_services.remove(service) | ||
41 | 200 | for service in SERVICE_BLACKLIST[release]] | ||
42 | 201 | return _services | ||
43 | 202 | |||
44 | 203 | |||
45 | 189 | BASE_RESOURCE_MAP = OrderedDict([ | 204 | BASE_RESOURCE_MAP = OrderedDict([ |
46 | 190 | (NOVA_CONF, { | 205 | (NOVA_CONF, { |
48 | 191 | 'services': BASE_SERVICES, | 206 | 'services': resolve_services(), |
49 | 192 | 'contexts': [context.AMQPContext(ssl_dir=NOVA_CONF_DIR), | 207 | 'contexts': [context.AMQPContext(ssl_dir=NOVA_CONF_DIR), |
50 | 193 | context.SharedDBContext( | 208 | context.SharedDBContext( |
51 | 194 | relation_prefix='nova', ssl_dir=NOVA_CONF_DIR), | 209 | relation_prefix='nova', ssl_dir=NOVA_CONF_DIR), |
52 | @@ -220,7 +235,7 @@ | |||
53 | 220 | nova_cc_context.CloudComputeContext()], | 235 | nova_cc_context.CloudComputeContext()], |
54 | 221 | }), | 236 | }), |
55 | 222 | (NOVA_API_PASTE, { | 237 | (NOVA_API_PASTE, { |
57 | 223 | 'services': [s for s in BASE_SERVICES if 'api' in s], | 238 | 'services': [s for s in resolve_services() if 'api' in s], |
58 | 224 | 'contexts': [nova_cc_context.IdentityServiceContext(), | 239 | 'contexts': [nova_cc_context.IdentityServiceContext(), |
59 | 225 | nova_cc_context.APIRateLimitingContext()], | 240 | nova_cc_context.APIRateLimitingContext()], |
60 | 226 | }), | 241 | }), |
61 | @@ -348,8 +363,7 @@ | |||
62 | 348 | if plugin: | 363 | if plugin: |
63 | 349 | conf = neutron_plugin_attribute(plugin, 'config', net_manager) | 364 | conf = neutron_plugin_attribute(plugin, 'config', net_manager) |
64 | 350 | ctxts = (neutron_plugin_attribute(plugin, 'contexts', | 365 | ctxts = (neutron_plugin_attribute(plugin, 'contexts', |
67 | 351 | net_manager) | 366 | net_manager) or []) |
66 | 352 | or []) | ||
68 | 353 | services = neutron_plugin_attribute(plugin, 'server_services', | 367 | services = neutron_plugin_attribute(plugin, 'server_services', |
69 | 354 | net_manager) | 368 | net_manager) |
70 | 355 | resource_map[conf] = {} | 369 | resource_map[conf] = {} |
71 | @@ -1010,7 +1024,7 @@ | |||
72 | 1010 | '''Map of services and required interfaces that must be present before | 1024 | '''Map of services and required interfaces that must be present before |
73 | 1011 | the service should be allowed to start''' | 1025 | the service should be allowed to start''' |
74 | 1012 | gmap = {} | 1026 | gmap = {} |
76 | 1013 | nova_services = deepcopy(BASE_SERVICES) | 1027 | nova_services = resolve_services() |
77 | 1014 | if os_release('nova-common') not in ['essex', 'folsom']: | 1028 | if os_release('nova-common') not in ['essex', 'folsom']: |
78 | 1015 | nova_services.append('nova-conductor') | 1029 | nova_services.append('nova-conductor') |
79 | 1016 | 1030 | ||
80 | 1017 | 1031 | ||
81 | === added file 'templates/mitaka/nova.conf' | |||
82 | --- templates/mitaka/nova.conf 1970-01-01 00:00:00 +0000 | |||
83 | +++ templates/mitaka/nova.conf 2016-02-16 19:02:24 +0000 | |||
84 | @@ -0,0 +1,174 @@ | |||
85 | 1 | # mitaka | ||
86 | 2 | ############################################################################### | ||
87 | 3 | # [ WARNING ] | ||
88 | 4 | # Configuration file maintained by Juju. Local changes may be overwritten. | ||
89 | 5 | ############################################################################### | ||
90 | 6 | [DEFAULT] | ||
91 | 7 | verbose={{ verbose }} | ||
92 | 8 | debug={{ debug }} | ||
93 | 9 | dhcpbridge_flagfile=/etc/nova/nova.conf | ||
94 | 10 | dhcpbridge=/usr/bin/nova-dhcpbridge | ||
95 | 11 | logdir=/var/log/nova | ||
96 | 12 | state_path=/var/lib/nova | ||
97 | 13 | force_dhcp_release=True | ||
98 | 14 | iscsi_helper=tgtadm | ||
99 | 15 | libvirt_use_virtio_for_bridges=True | ||
100 | 16 | connection_type=libvirt | ||
101 | 17 | root_helper=sudo nova-rootwrap /etc/nova/rootwrap.conf | ||
102 | 18 | ec2_private_dns_show_ip=True | ||
103 | 19 | api_paste_config=/etc/nova/api-paste.ini | ||
104 | 20 | volumes_path=/var/lib/nova/volumes | ||
105 | 21 | enabled_apis=ec2,osapi_compute,metadata | ||
106 | 22 | auth_strategy=keystone | ||
107 | 23 | compute_driver=libvirt.LibvirtDriver | ||
108 | 24 | use_ipv6 = {{ use_ipv6 }} | ||
109 | 25 | osapi_compute_listen = {{ bind_host }} | ||
110 | 26 | metadata_host = {{ bind_host }} | ||
111 | 27 | s3_listen = {{ bind_host }} | ||
112 | 28 | ec2_listen = {{ bind_host }} | ||
113 | 29 | |||
114 | 30 | osapi_compute_workers = {{ workers }} | ||
115 | 31 | ec2_workers = {{ workers }} | ||
116 | 32 | |||
117 | 33 | scheduler_default_filters = {{ scheduler_default_filters }} | ||
118 | 34 | cpu_allocation_ratio = {{ cpu_allocation_ratio }} | ||
119 | 35 | ram_allocation_ratio = {{ ram_allocation_ratio }} | ||
120 | 36 | |||
121 | 37 | use_syslog={{ use_syslog }} | ||
122 | 38 | my_ip = {{ host_ip }} | ||
123 | 39 | |||
124 | 40 | {% if memcached_servers %} | ||
125 | 41 | memcached_servers = {{ memcached_servers }} | ||
126 | 42 | {% endif %} | ||
127 | 43 | |||
128 | 44 | {% include "parts/novnc" %} | ||
129 | 45 | |||
130 | 46 | {% if keystone_ec2_url -%} | ||
131 | 47 | keystone_ec2_url = {{ keystone_ec2_url }} | ||
132 | 48 | {% endif -%} | ||
133 | 49 | |||
134 | 50 | {% if rbd_pool -%} | ||
135 | 51 | rbd_pool = {{ rbd_pool }} | ||
136 | 52 | rbd_user = {{ rbd_user }} | ||
137 | 53 | rbd_secret_uuid = {{ rbd_secret_uuid }} | ||
138 | 54 | {% endif -%} | ||
139 | 55 | |||
140 | 56 | {% if neutron_plugin and neutron_plugin == 'ovs' -%} | ||
141 | 57 | libvirt_vif_driver = nova.virt.libvirt.vif.LibvirtGenericVIFDriver | ||
142 | 58 | libvirt_user_virtio_for_bridges = True | ||
143 | 59 | {% if neutron_security_groups -%} | ||
144 | 60 | security_group_api = {{ network_manager }} | ||
145 | 61 | nova_firewall_driver = nova.virt.firewall.NoopFirewallDriver | ||
146 | 62 | {% endif -%} | ||
147 | 63 | {% if external_network -%} | ||
148 | 64 | default_floating_pool = {{ external_network }} | ||
149 | 65 | {% endif -%} | ||
150 | 66 | {% endif -%} | ||
151 | 67 | |||
152 | 68 | {% if neutron_plugin and neutron_plugin == 'vsp' -%} | ||
153 | 69 | neutron_ovs_bridge = alubr0 | ||
154 | 70 | {% endif -%} | ||
155 | 71 | |||
156 | 72 | {% if neutron_plugin and neutron_plugin == 'nvp' -%} | ||
157 | 73 | security_group_api = neutron | ||
158 | 74 | nova_firewall_driver = nova.virt.firewall.NoopFirewallDriver | ||
159 | 75 | {% if external_network -%} | ||
160 | 76 | default_floating_pool = {{ external_network }} | ||
161 | 77 | {% endif -%} | ||
162 | 78 | {% endif -%} | ||
163 | 79 | |||
164 | 80 | {% if neutron_plugin and neutron_plugin == 'Calico' -%} | ||
165 | 81 | security_group_api = neutron | ||
166 | 82 | nova_firewall_driver = nova.virt.firewall.NoopFirewallDriver | ||
167 | 83 | {% endif -%} | ||
168 | 84 | |||
169 | 85 | {% if neutron_plugin and neutron_plugin == 'plumgrid' -%} | ||
170 | 86 | security_group_api=neutron | ||
171 | 87 | firewall_driver = nova.virt.firewall.NoopFirewallDriver | ||
172 | 88 | {% endif -%} | ||
173 | 89 | |||
174 | 90 | {% if network_manager_config -%} | ||
175 | 91 | {% for key, value in network_manager_config.iteritems() -%} | ||
176 | 92 | {{ key }} = {{ value }} | ||
177 | 93 | {% endfor -%} | ||
178 | 94 | {% endif -%} | ||
179 | 95 | |||
180 | 96 | {% if network_manager and network_manager == 'neutron' -%} | ||
181 | 97 | network_api_class = nova.network.neutronv2.api.API | ||
182 | 98 | {% else -%} | ||
183 | 99 | network_manager = nova.network.manager.FlatDHCPManager | ||
184 | 100 | {% endif -%} | ||
185 | 101 | |||
186 | 102 | {% if default_floating_pool -%} | ||
187 | 103 | default_floating_pool = {{ default_floating_pool }} | ||
188 | 104 | {% endif -%} | ||
189 | 105 | |||
190 | 106 | {% if volume_service -%} | ||
191 | 107 | volume_api_class=nova.volume.cinder.API | ||
192 | 108 | {% endif -%} | ||
193 | 109 | |||
194 | 110 | {% if user_config_flags -%} | ||
195 | 111 | {% for key, value in user_config_flags.iteritems() -%} | ||
196 | 112 | {{ key }} = {{ value }} | ||
197 | 113 | {% endfor -%} | ||
198 | 114 | {% endif -%} | ||
199 | 115 | |||
200 | 116 | {% if listen_ports -%} | ||
201 | 117 | {% for key, value in listen_ports.iteritems() -%} | ||
202 | 118 | {{ key }} = {{ value }} | ||
203 | 119 | {% endfor -%} | ||
204 | 120 | {% endif -%} | ||
205 | 121 | |||
206 | 122 | {% if sections and 'DEFAULT' in sections -%} | ||
207 | 123 | {% for key, value in sections['DEFAULT'] -%} | ||
208 | 124 | {{ key }} = {{ value }} | ||
209 | 125 | {% endfor -%} | ||
210 | 126 | {% endif %} | ||
211 | 127 | |||
212 | 128 | {% include "section-zeromq" %} | ||
213 | 129 | |||
214 | 130 | {% include "parts/database-v2" %} | ||
215 | 131 | |||
216 | 132 | {% if glance_api_servers -%} | ||
217 | 133 | [glance] | ||
218 | 134 | api_servers = {{ glance_api_servers }} | ||
219 | 135 | {% endif -%} | ||
220 | 136 | |||
221 | 137 | {% if network_manager and network_manager == 'neutron' -%} | ||
222 | 138 | [neutron] | ||
223 | 139 | url = {{ neutron_url }} | ||
224 | 140 | {% if auth_host -%} | ||
225 | 141 | auth_plugin = password | ||
226 | 142 | project_name = {{ admin_tenant_name }} | ||
227 | 143 | username = {{ admin_user }} | ||
228 | 144 | password = {{ admin_password }} | ||
229 | 145 | auth_url = {{ auth_protocol }}://{{ auth_host }}:{{ auth_port }} | ||
230 | 146 | region = {{ region }} | ||
231 | 147 | {% endif -%} | ||
232 | 148 | {% endif -%} | ||
233 | 149 | |||
234 | 150 | [keystone_authtoken] | ||
235 | 151 | {% if auth_host -%} | ||
236 | 152 | auth_type = password | ||
237 | 153 | project_name = {{ admin_tenant_name }} | ||
238 | 154 | username = {{ admin_user }} | ||
239 | 155 | password = {{ admin_password }} | ||
240 | 156 | auth_url = {{ auth_protocol }}://{{ auth_host }}:{{ auth_port }} | ||
241 | 157 | region = {{ region }} | ||
242 | 158 | {% endif -%} | ||
243 | 159 | |||
244 | 160 | [osapi_v3] | ||
245 | 161 | enabled=True | ||
246 | 162 | |||
247 | 163 | {% include "parts/cell" %} | ||
248 | 164 | |||
249 | 165 | [conductor] | ||
250 | 166 | workers = {{ workers }} | ||
251 | 167 | |||
252 | 168 | {% include "section-rabbitmq-oslo" %} | ||
253 | 169 | |||
254 | 170 | [oslo_concurrency] | ||
255 | 171 | lock_path=/var/lock/nova | ||
256 | 172 | |||
257 | 173 | [spice] | ||
258 | 174 | {% include "parts/spice" %} | ||
259 | 0 | 175 | ||
260 | === modified file 'tests/basic_deployment.py' | |||
261 | --- tests/basic_deployment.py 2015-10-16 05:41:09 +0000 | |||
262 | +++ tests/basic_deployment.py 2016-02-16 19:02:24 +0000 | |||
263 | @@ -195,6 +195,9 @@ | |||
264 | 195 | self.keystone_sentry: ['keystone'], | 195 | self.keystone_sentry: ['keystone'], |
265 | 196 | self.glance_sentry: ['glance-registry', 'glance-api'] | 196 | self.glance_sentry: ['glance-registry', 'glance-api'] |
266 | 197 | } | 197 | } |
267 | 198 | if self._get_openstack_release_string() >= 'liberty': | ||
268 | 199 | services[self.nova_cc_sentry].remove('nova-api-ec2') | ||
269 | 200 | services[self.nova_cc_sentry].remove('nova-objectstore') | ||
270 | 198 | 201 | ||
271 | 199 | ret = u.validate_services_by_name(services) | 202 | ret = u.validate_services_by_name(services) |
272 | 200 | if ret: | 203 | if ret: |
273 | @@ -731,6 +734,10 @@ | |||
274 | 731 | 'nova-conductor': conf_file | 734 | 'nova-conductor': conf_file |
275 | 732 | } | 735 | } |
276 | 733 | 736 | ||
277 | 737 | if self._get_openstack_release_string() >= 'liberty': | ||
278 | 738 | del services['nova-api-ec2'] | ||
279 | 739 | del services['nova-objectstore'] | ||
280 | 740 | |||
281 | 734 | # Expected default and alternate values | 741 | # Expected default and alternate values |
282 | 735 | flags_default = 'quota_cores=20,quota_instances=40,quota_ram=102400' | 742 | flags_default = 'quota_cores=20,quota_instances=40,quota_ram=102400' |
283 | 736 | flags_alt = 'quota_cores=10,quota_instances=20,quota_ram=51200' | 743 | flags_alt = 'quota_cores=10,quota_instances=20,quota_ram=51200' |
284 | 737 | 744 | ||
285 | === modified file 'unit_tests/test_nova_cc_utils.py' | |||
286 | --- unit_tests/test_nova_cc_utils.py 2015-10-06 08:37:21 +0000 | |||
287 | +++ unit_tests/test_nova_cc_utils.py 2016-02-16 19:02:24 +0000 | |||
288 | @@ -794,6 +794,7 @@ | |||
289 | 794 | self.relation_ids.return_value = [] | 794 | self.relation_ids.return_value = [] |
290 | 795 | self.network_manager.return_value = 'neutron' | 795 | self.network_manager.return_value = 'neutron' |
291 | 796 | self.os_release.return_value = 'icehouse' | 796 | self.os_release.return_value = 'icehouse' |
292 | 797 | self.get_os_codename_install_source.return_value = 'icehouse' | ||
293 | 797 | self.is_relation_made.return_value = False | 798 | self.is_relation_made.return_value = False |
294 | 798 | self.assertEqual( | 799 | self.assertEqual( |
295 | 799 | {'neutron-server': ['identity-service', 'amqp', 'shared-db'], | 800 | {'neutron-server': ['identity-service', 'amqp', 'shared-db'], |
296 | @@ -807,6 +808,7 @@ | |||
297 | 807 | ) | 808 | ) |
298 | 808 | self.network_manager.return_value = 'quantum' | 809 | self.network_manager.return_value = 'quantum' |
299 | 809 | self.os_release.return_value = 'grizzly' | 810 | self.os_release.return_value = 'grizzly' |
300 | 811 | self.get_os_codename_install_source.return_value = 'grizzly' | ||
301 | 810 | self.assertEqual( | 812 | self.assertEqual( |
302 | 811 | {'quantum-server': ['identity-service', 'amqp', 'shared-db'], | 813 | {'quantum-server': ['identity-service', 'amqp', 'shared-db'], |
303 | 812 | 'nova-api-ec2': ['identity-service', 'amqp', 'shared-db'], | 814 | 'nova-api-ec2': ['identity-service', 'amqp', 'shared-db'], |
304 | @@ -817,6 +819,17 @@ | |||
305 | 817 | 'nova-scheduler': ['identity-service', 'amqp', 'shared-db'], }, | 819 | 'nova-scheduler': ['identity-service', 'amqp', 'shared-db'], }, |
306 | 818 | utils.guard_map() | 820 | utils.guard_map() |
307 | 819 | ) | 821 | ) |
308 | 822 | self.network_manager.return_value = 'neutron' | ||
309 | 823 | self.os_release.return_value = 'mitaka' | ||
310 | 824 | self.get_os_codename_install_source.return_value = 'mitaka' | ||
311 | 825 | self.assertEqual( | ||
312 | 826 | {'neutron-server': ['identity-service', 'amqp', 'shared-db'], | ||
313 | 827 | 'nova-api-os-compute': ['identity-service', 'amqp', 'shared-db'], | ||
314 | 828 | 'nova-cert': ['identity-service', 'amqp', 'shared-db'], | ||
315 | 829 | 'nova-conductor': ['identity-service', 'amqp', 'shared-db'], | ||
316 | 830 | 'nova-scheduler': ['identity-service', 'amqp', 'shared-db'], }, | ||
317 | 831 | utils.guard_map() | ||
318 | 832 | ) | ||
319 | 820 | 833 | ||
320 | 821 | def test_guard_map_pgsql(self): | 834 | def test_guard_map_pgsql(self): |
321 | 822 | self.relation_ids.return_value = ['pgsql:1'] | 835 | self.relation_ids.return_value = ['pgsql:1'] |
charm_lint_check #238 nova-cloud- controller- next for james-page mp285779
LINT OK: passed
Build: http:// 10.245. 162.36: 8080/job/ charm_lint_ check/238/