Merge lp:~corey.bryant/charms/trusty/nova-compute/amulet-git-fixups into lp:~openstack-charmers-archive/charms/trusty/nova-compute/next
- Trusty Tahr (14.04)
- amulet-git-fixups
- Merge into next
Status: | Merged |
---|---|
Merged at revision: | 142 |
Proposed branch: | lp:~corey.bryant/charms/trusty/nova-compute/amulet-git-fixups |
Merge into: | lp:~openstack-charmers-archive/charms/trusty/nova-compute/next |
Diff against target: |
178 lines (+83/-35) 2 files modified
tests/00-setup (+1/-0) tests/basic_deployment.py (+82/-35) |
To merge this branch: | bzr merge lp:~corey.bryant/charms/trusty/nova-compute/amulet-git-fixups |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
OpenStack Charmers | Pending | ||
Review via email: mp+264570@code.launchpad.net |
Commit message
Description of the change
Corey Bryant (corey.bryant) wrote : | # |
uosci-testing-bot (uosci-testing-bot) wrote : | # |
charm_lint_check #6123 nova-compute-next for corey.bryant mp264570
LINT OK: passed
uosci-testing-bot (uosci-testing-bot) wrote : | # |
charm_unit_test #5755 nova-compute-next for corey.bryant mp264570
UNIT OK: passed
uosci-testing-bot (uosci-testing-bot) wrote : | # |
charm_amulet_test #5112 nova-compute-next for corey.bryant mp264570
AMULET OK: passed
Build: http://
uosci-testing-bot (uosci-testing-bot) wrote : | # |
charm_lint_check #6127 nova-compute-next for corey.bryant mp264570
LINT OK: passed
uosci-testing-bot (uosci-testing-bot) wrote : | # |
charm_unit_test #5759 nova-compute-next for corey.bryant mp264570
UNIT OK: passed
uosci-testing-bot (uosci-testing-bot) wrote : | # |
charm_amulet_test #5116 nova-compute-next for corey.bryant mp264570
AMULET FAIL: amulet-test failed
AMULET Results (max last 2 lines):
make: *** [test] Error 1
ERROR:root:Make target returned non-zero.
Full amulet test output: http://
Build: http://
- 148. By Corey Bryant
-
Enable tests/017-
basic-trusty- kilo - 149. By Corey Bryant
-
Update tests for kilo
uosci-testing-bot (uosci-testing-bot) wrote : | # |
charm_lint_check #6175 nova-compute-next for corey.bryant mp264570
LINT OK: passed
uosci-testing-bot (uosci-testing-bot) wrote : | # |
charm_unit_test #5807 nova-compute-next for corey.bryant mp264570
UNIT OK: passed
uosci-testing-bot (uosci-testing-bot) wrote : | # |
charm_amulet_test #5119 nova-compute-next for corey.bryant mp264570
AMULET OK: passed
Build: http://
Preview Diff
1 | === modified file 'tests/00-setup' | |||
2 | --- tests/00-setup 2014-09-30 20:31:36 +0000 | |||
3 | +++ tests/00-setup 2015-07-14 17:49:25 +0000 | |||
4 | @@ -5,6 +5,7 @@ | |||
5 | 5 | sudo add-apt-repository --yes ppa:juju/stable | 5 | sudo add-apt-repository --yes ppa:juju/stable |
6 | 6 | sudo apt-get update --yes | 6 | sudo apt-get update --yes |
7 | 7 | sudo apt-get install --yes python-amulet \ | 7 | sudo apt-get install --yes python-amulet \ |
8 | 8 | python-distro-info \ | ||
9 | 8 | python-glanceclient \ | 9 | python-glanceclient \ |
10 | 9 | python-keystoneclient \ | 10 | python-keystoneclient \ |
11 | 10 | python-novaclient | 11 | python-novaclient |
12 | 11 | 12 | ||
13 | === modified file 'tests/017-basic-trusty-kilo' (properties changed: -x to +x) | |||
14 | === modified file 'tests/basic_deployment.py' | |||
15 | --- tests/basic_deployment.py 2015-07-09 18:16:49 +0000 | |||
16 | +++ tests/basic_deployment.py 2015-07-14 17:49:25 +0000 | |||
17 | @@ -70,21 +70,24 @@ | |||
18 | 70 | nova_config = {'config-flags': 'auto_assign_floating_ip=False', | 70 | nova_config = {'config-flags': 'auto_assign_floating_ip=False', |
19 | 71 | 'enable-live-migration': 'False'} | 71 | 'enable-live-migration': 'False'} |
20 | 72 | if self.git: | 72 | if self.git: |
23 | 73 | release = self._get_openstack_release_string() | 73 | amulet_http_proxy = os.environ.get('AMULET_HTTP_PROXY') |
24 | 74 | reqs_branch = 'stable/' + release | 74 | |
25 | 75 | reqs_repo = 'git://github.com/openstack/requirements' | ||
26 | 76 | nova_repo = 'git://github.com/openstack/nova' | ||
27 | 75 | if self._get_openstack_release() == self.trusty_icehouse: | 77 | if self._get_openstack_release() == self.trusty_icehouse: |
32 | 76 | nova_branch = release + '-eol' | 78 | reqs_repo = 'git://github.com/coreycb/requirements' |
33 | 77 | else: | 79 | nova_repo = 'git://github.com/coreycb/nova' |
34 | 78 | nova_branch = 'stable/' + release | 80 | |
35 | 79 | amulet_http_proxy = os.environ.get('AMULET_HTTP_PROXY') | 81 | branch = 'stable/' + self._get_openstack_release_string() |
36 | 82 | |||
37 | 80 | openstack_origin_git = { | 83 | openstack_origin_git = { |
38 | 81 | 'repositories': [ | 84 | 'repositories': [ |
39 | 82 | {'name': 'requirements', | 85 | {'name': 'requirements', |
42 | 83 | 'repository': 'git://github.com/openstack/requirements', | 86 | 'repository': reqs_repo, |
43 | 84 | 'branch': reqs_branch}, | 87 | 'branch': branch}, |
44 | 85 | {'name': 'nova', | 88 | {'name': 'nova', |
47 | 86 | 'repository': 'git://github.com/openstack/nova', | 89 | 'repository': nova_repo, |
48 | 87 | 'branch': nova_branch}, | 90 | 'branch': branch}, |
49 | 88 | ], | 91 | ], |
50 | 89 | 'directory': '/mnt/openstack-git', | 92 | 'directory': '/mnt/openstack-git', |
51 | 90 | 'http_proxy': amulet_http_proxy, | 93 | 'http_proxy': amulet_http_proxy, |
52 | @@ -182,8 +185,11 @@ | |||
53 | 182 | if self._get_openstack_release() >= self.precise_folsom: | 185 | if self._get_openstack_release() >= self.precise_folsom: |
54 | 183 | endpoint_vol['id'] = u.not_null | 186 | endpoint_vol['id'] = u.not_null |
55 | 184 | endpoint_id['id'] = u.not_null | 187 | endpoint_id['id'] = u.not_null |
58 | 185 | expected = {'s3': [endpoint_vol], 'compute': [endpoint_vol], | 188 | if self._get_openstack_release() >= self.trusty_kilo: |
59 | 186 | 'ec2': [endpoint_vol], 'identity': [endpoint_id]} | 189 | expected = {'compute': [endpoint_vol], 'identity': [endpoint_id]} |
60 | 190 | else: | ||
61 | 191 | expected = {'s3': [endpoint_vol], 'compute': [endpoint_vol], | ||
62 | 192 | 'ec2': [endpoint_vol], 'identity': [endpoint_id]} | ||
63 | 187 | actual = self.keystone_demo.service_catalog.get_endpoints() | 193 | actual = self.keystone_demo.service_catalog.get_endpoints() |
64 | 188 | 194 | ||
65 | 189 | ret = u.validate_svc_catalog_endpoint_data(expected, actual) | 195 | ret = u.validate_svc_catalog_endpoint_data(expected, actual) |
66 | @@ -209,6 +215,9 @@ | |||
67 | 209 | 215 | ||
68 | 210 | def test_ec2_api_endpoint(self): | 216 | def test_ec2_api_endpoint(self): |
69 | 211 | """Verify the EC2 api endpoint data.""" | 217 | """Verify the EC2 api endpoint data.""" |
70 | 218 | if self._get_openstack_release() >= self.trusty_kilo: | ||
71 | 219 | return | ||
72 | 220 | |||
73 | 212 | endpoints = self.keystone.endpoints.list() | 221 | endpoints = self.keystone.endpoints.list() |
74 | 213 | admin_port = internal_port = public_port = '8773' | 222 | admin_port = internal_port = public_port = '8773' |
75 | 214 | expected = {'id': u.not_null, | 223 | expected = {'id': u.not_null, |
76 | @@ -226,6 +235,9 @@ | |||
77 | 226 | 235 | ||
78 | 227 | def test_s3_api_endpoint(self): | 236 | def test_s3_api_endpoint(self): |
79 | 228 | """Verify the S3 api endpoint data.""" | 237 | """Verify the S3 api endpoint data.""" |
80 | 238 | if self._get_openstack_release() >= self.trusty_kilo: | ||
81 | 239 | return | ||
82 | 240 | |||
83 | 229 | endpoints = self.keystone.endpoints.list() | 241 | endpoints = self.keystone.endpoints.list() |
84 | 230 | admin_port = internal_port = public_port = '3333' | 242 | admin_port = internal_port = public_port = '3333' |
85 | 231 | expected = {'id': u.not_null, | 243 | expected = {'id': u.not_null, |
86 | @@ -382,34 +394,69 @@ | |||
87 | 382 | mysql_relation['db_host'], | 394 | mysql_relation['db_host'], |
88 | 383 | 'nova') | 395 | 'nova') |
89 | 384 | 396 | ||
105 | 385 | expected = {'dhcpbridge_flagfile': '/etc/nova/nova.conf', | 397 | expected = { |
106 | 386 | 'dhcpbridge': '/usr/bin/nova-dhcpbridge', | 398 | 'DEFAULT': { |
107 | 387 | 'logdir': '/var/log/nova', | 399 | 'dhcpbridge_flagfile': '/etc/nova/nova.conf', |
108 | 388 | 'state_path': '/var/lib/nova', | 400 | 'dhcpbridge': '/usr/bin/nova-dhcpbridge', |
109 | 389 | 'lock_path': '/var/lock/nova', | 401 | 'logdir': '/var/log/nova', |
110 | 390 | 'force_dhcp_release': 'True', | 402 | 'state_path': '/var/lib/nova', |
111 | 391 | 'libvirt_use_virtio_for_bridges': 'True', | 403 | 'force_dhcp_release': 'True', |
112 | 392 | 'verbose': 'False', | 404 | 'verbose': 'False', |
113 | 393 | 'use_syslog': 'False', | 405 | 'use_syslog': 'False', |
114 | 394 | 'ec2_private_dns_show_ip': 'True', | 406 | 'ec2_private_dns_show_ip': 'True', |
115 | 395 | 'api_paste_config': '/etc/nova/api-paste.ini', | 407 | 'api_paste_config': '/etc/nova/api-paste.ini', |
116 | 396 | 'enabled_apis': 'ec2,osapi_compute,metadata', | 408 | 'enabled_apis': 'ec2,osapi_compute,metadata', |
117 | 397 | 'auth_strategy': 'keystone', | 409 | 'auth_strategy': 'keystone', |
118 | 398 | 'compute_driver': 'libvirt.LibvirtDriver', | 410 | 'flat_interface': 'eth1', |
119 | 399 | 'sql_connection': db_uri, | 411 | 'network_manager': 'nova.network.manager.FlatDHCPManager', |
120 | 412 | 'volume_api_class': 'nova.volume.cinder.API', | ||
121 | 413 | } | ||
122 | 414 | } | ||
123 | 415 | if self._get_openstack_release() < self.trusty_kilo: | ||
124 | 416 | d = 'DEFAULT' | ||
125 | 417 | expected[d]['lock_path'] = '/var/lock/nova' | ||
126 | 418 | expected[d]['libvirt_use_virtio_for_bridges'] = 'True' | ||
127 | 419 | expected[d]['compute_driver'] = 'libvirt.LibvirtDriver' | ||
128 | 420 | expected[d]['sql_connection'] = db_uri | ||
129 | 421 | expected[d]['rabbit_userid'] = 'nova' | ||
130 | 422 | expected[d]['rabbit_virtual_host'] = 'openstack' | ||
131 | 423 | expected[d]['rabbit_password'] = rabbitmq_relation['password'] | ||
132 | 424 | expected[d]['rabbit_host'] = rabbitmq_relation['hostname'] | ||
133 | 425 | expected[d]['glance_api_servers'] = glance_relation['glance-api-server'] | ||
134 | 426 | else: | ||
135 | 427 | oslo_concurrency = { | ||
136 | 428 | 'oslo_concurrency': { | ||
137 | 429 | 'lock_path': '/var/lock/nova' | ||
138 | 430 | } | ||
139 | 431 | } | ||
140 | 432 | database = { | ||
141 | 433 | 'database': { | ||
142 | 434 | 'connection': db_uri | ||
143 | 435 | } | ||
144 | 436 | } | ||
145 | 437 | oslo_messaging_rabbit = { | ||
146 | 438 | 'oslo_messaging_rabbit': { | ||
147 | 400 | 'rabbit_userid': 'nova', | 439 | 'rabbit_userid': 'nova', |
148 | 401 | 'rabbit_virtual_host': 'openstack', | 440 | 'rabbit_virtual_host': 'openstack', |
149 | 402 | 'rabbit_password': rabbitmq_relation['password'], | 441 | 'rabbit_password': rabbitmq_relation['password'], |
150 | 403 | 'rabbit_host': rabbitmq_relation['hostname'], | 442 | 'rabbit_host': rabbitmq_relation['hostname'], |
155 | 404 | 'glance_api_servers': glance_relation['glance-api-server'], | 443 | } |
156 | 405 | 'flat_interface': 'eth1', | 444 | } |
157 | 406 | 'network_manager': 'nova.network.manager.FlatDHCPManager', | 445 | glance = { |
158 | 407 | 'volume_api_class': 'nova.volume.cinder.API'} | 446 | 'glance': { |
159 | 447 | 'api_servers': glance_relation['glance-api-server'] | ||
160 | 448 | } | ||
161 | 449 | } | ||
162 | 450 | expected.update(oslo_concurrency) | ||
163 | 451 | expected.update(database) | ||
164 | 452 | expected.update(oslo_messaging_rabbit) | ||
165 | 453 | expected.update(glance) | ||
166 | 408 | 454 | ||
171 | 409 | ret = u.validate_config_data(unit, conf, 'DEFAULT', expected) | 455 | for section, pairs in expected.iteritems(): |
172 | 410 | if ret: | 456 | ret = u.validate_config_data(unit, conf, section, pairs) |
173 | 411 | message = "nova config error: {}".format(ret) | 457 | if ret: |
174 | 412 | amulet.raise_status(amulet.FAIL, msg=message) | 458 | message = "nova config error: {}".format(ret) |
175 | 459 | amulet.raise_status(amulet.FAIL, msg=message) | ||
176 | 413 | 460 | ||
177 | 414 | def test_image_instance_create(self): | 461 | def test_image_instance_create(self): |
178 | 415 | """Create an image/instance, verify they exist, and delete them.""" | 462 | """Create an image/instance, verify they exist, and delete them.""" |
Amulet deploy from source updates:
* Install amulet pre-req python-distro-info
* Use modified icehouse branches due to requirements issues