Resync helpers

This commit is contained in:
James Page 2014-07-02 09:13:36 +01:00
parent 730b876845
commit 92ed63861a
3 changed files with 30 additions and 11 deletions

2
.bzrignore Normal file
View File

@ -0,0 +1,2 @@
bin
.coverage

View File

@ -7,19 +7,36 @@ class OpenStackAmuletDeployment(AmuletDeployment):
"""This class inherits from AmuletDeployment and has additional support """This class inherits from AmuletDeployment and has additional support
that is specifically for use by OpenStack charms.""" that is specifically for use by OpenStack charms."""
def __init__(self, series=None, openstack=None): def __init__(self, series=None, openstack=None, source=None):
"""Initialize the deployment environment.""" """Initialize the deployment environment."""
self.openstack = None
super(OpenStackAmuletDeployment, self).__init__(series) super(OpenStackAmuletDeployment, self).__init__(series)
self.openstack = openstack
self.source = source
if openstack: def _add_services(self, this_service, other_services):
self.openstack = openstack """Add services to the deployment and set openstack-origin."""
super(OpenStackAmuletDeployment, self)._add_services(this_service,
other_services)
name = 0
services = other_services
services.append(this_service)
use_source = ['mysql', 'mongodb', 'rabbitmq-server', 'ceph']
if self.openstack:
for svc in services:
if svc[name] not in use_source:
config = {'openstack-origin': self.openstack}
self.d.configure(svc[name], config)
if self.source:
for svc in services:
if svc[name] in use_source:
config = {'source': self.source}
self.d.configure(svc[name], config)
def _configure_services(self, configs): def _configure_services(self, configs):
"""Configure all of the services.""" """Configure all of the services."""
for service, config in configs.iteritems(): for service, config in configs.iteritems():
if service == self.this_service:
config['openstack-origin'] = self.openstack
self.d.configure(service, config) self.d.configure(service, config)
def _get_openstack_release(self): def _get_openstack_release(self):

View File

@ -74,7 +74,7 @@ class OpenStackAmuletUtils(AmuletUtils):
if ret: if ret:
return "unexpected tenant data - {}".format(ret) return "unexpected tenant data - {}".format(ret)
if not found: if not found:
return "tenant {} does not exist".format(e.name) return "tenant {} does not exist".format(e['name'])
return ret return ret
def validate_role_data(self, expected, actual): def validate_role_data(self, expected, actual):
@ -91,7 +91,7 @@ class OpenStackAmuletUtils(AmuletUtils):
if ret: if ret:
return "unexpected role data - {}".format(ret) return "unexpected role data - {}".format(ret)
if not found: if not found:
return "role {} does not exist".format(e.name) return "role {} does not exist".format(e['name'])
return ret return ret
def validate_user_data(self, expected, actual): def validate_user_data(self, expected, actual):
@ -110,7 +110,7 @@ class OpenStackAmuletUtils(AmuletUtils):
if ret: if ret:
return "unexpected user data - {}".format(ret) return "unexpected user data - {}".format(ret)
if not found: if not found:
return "user {} does not exist".format(e.name) return "user {} does not exist".format(e['name'])
return ret return ret
def validate_flavor_data(self, expected, actual): def validate_flavor_data(self, expected, actual):
@ -192,8 +192,8 @@ class OpenStackAmuletUtils(AmuletUtils):
count = 1 count = 1
status = instance.status status = instance.status
while status == 'BUILD' and count < 10: while status != 'ACTIVE' and count < 60:
time.sleep(5) time.sleep(3)
instance = nova.servers.get(instance.id) instance = nova.servers.get(instance.id)
status = instance.status status = instance.status
self.log.debug('instance status: {}'.format(status)) self.log.debug('instance status: {}'.format(status))