Merge "Make manage_images a property of ProviderConfig"
This commit is contained in:
commit
a45492c7a5
@ -440,7 +440,7 @@ class CleanupWorker(BaseWorker):
|
||||
# (since this should be done regardless of the build
|
||||
# state).
|
||||
for provider in known_providers:
|
||||
if not provider.driver.manage_images:
|
||||
if not provider.manage_images:
|
||||
# This provider doesn't manage images
|
||||
continue
|
||||
try:
|
||||
@ -469,7 +469,7 @@ class CleanupWorker(BaseWorker):
|
||||
continue
|
||||
|
||||
for provider in known_providers:
|
||||
if not provider.driver.manage_images:
|
||||
if not provider.manage_images:
|
||||
# This provider doesn't manage images
|
||||
continue
|
||||
try:
|
||||
@ -975,7 +975,7 @@ class UploadWorker(BaseWorker):
|
||||
to providers, do the upload if they are available on the local disk.
|
||||
'''
|
||||
for provider in self._config.providers.values():
|
||||
if not provider.driver.manage_images:
|
||||
if not provider.manage_images:
|
||||
continue
|
||||
for image in provider.diskimages.values():
|
||||
uploaded = False
|
||||
|
@ -207,7 +207,7 @@ class NodeRequestHandler(object, metaclass=abc.ABCMeta):
|
||||
|
||||
:returns: True if it is available, False otherwise.
|
||||
'''
|
||||
if self.provider.driver.manage_images:
|
||||
if self.provider.manage_images:
|
||||
for label in self.request.node_types:
|
||||
if self.pool.labels[label].cloud_image:
|
||||
if not self.manager.labelReady(self.pool.labels[label]):
|
||||
@ -715,7 +715,6 @@ class ProviderConfig(ConfigValue, metaclass=abc.ABCMeta):
|
||||
self.driver = Driver()
|
||||
self.driver.name = provider.get('driver', 'openstack')
|
||||
self.max_concurrency = provider.get('max-concurrency', -1)
|
||||
self.driver.manage_images = False
|
||||
|
||||
def __repr__(self):
|
||||
return "<Provider %s>" % self.name
|
||||
@ -728,6 +727,14 @@ class ProviderConfig(ConfigValue, metaclass=abc.ABCMeta):
|
||||
'''
|
||||
pass
|
||||
|
||||
@property
|
||||
@abc.abstractmethod
|
||||
def manage_images(self):
|
||||
'''
|
||||
Return True if provider manages external images, False otherwise.
|
||||
'''
|
||||
pass
|
||||
|
||||
@abc.abstractmethod
|
||||
def __eq__(self, other):
|
||||
pass
|
||||
|
@ -107,6 +107,10 @@ class OpenStackProviderConfig(ProviderConfig):
|
||||
def pools(self):
|
||||
return self.__pools
|
||||
|
||||
@property
|
||||
def manage_images(self):
|
||||
return True
|
||||
|
||||
@staticmethod
|
||||
def reset():
|
||||
OpenStackProviderConfig.os_client_config = None
|
||||
@ -119,7 +123,6 @@ class OpenStackProviderConfig(ProviderConfig):
|
||||
self.cloud_config = self.os_client_config.get_one_cloud(**cloud_kwargs)
|
||||
|
||||
self.image_type = self.cloud_config.config['image_format']
|
||||
self.driver.manage_images = True
|
||||
self.region_name = self.provider.get('region-name')
|
||||
self.rate = float(self.provider.get('rate', 1.0))
|
||||
self.boot_timeout = self.provider.get('boot-timeout', 60)
|
||||
|
@ -50,6 +50,10 @@ class StaticProviderConfig(ProviderConfig):
|
||||
def pools(self):
|
||||
return self.__pools
|
||||
|
||||
@property
|
||||
def manage_images(self):
|
||||
return False
|
||||
|
||||
def load(self, config):
|
||||
for pool in self.provider.get('pools', []):
|
||||
pp = StaticPool()
|
||||
|
@ -882,7 +882,7 @@ class NodePool(threading.Thread):
|
||||
ready in at least one provider. False otherwise.
|
||||
'''
|
||||
for pool in label.pools:
|
||||
if not pool.provider.driver.manage_images:
|
||||
if not pool.provider.manage_images:
|
||||
# Provider doesn't manage images, assuming label is ready
|
||||
return True
|
||||
for pool_label in pool.labels.values():
|
||||
|
@ -39,6 +39,10 @@ class TestConfig(ProviderConfig):
|
||||
def pools(self):
|
||||
return self.__pools
|
||||
|
||||
@property
|
||||
def manage_images(self):
|
||||
return False
|
||||
|
||||
def load(self, newconfig):
|
||||
self.labels = set()
|
||||
for pool in self.provider.get('pools', []):
|
||||
|
Loading…
x
Reference in New Issue
Block a user