|
|
@@ -213,9 +213,16 @@ def load(config_details):
|
|
|
|
|
|
|
|
|
class ServiceLoader(object):
|
|
|
- def __init__(self, working_dir, filename, service_name, service_dict, already_seen=None):
|
|
|
+ def __init__(
|
|
|
+ self,
|
|
|
+ working_dir,
|
|
|
+ filename,
|
|
|
+ service_name,
|
|
|
+ service_dict,
|
|
|
+ already_seen=None
|
|
|
+ ):
|
|
|
if working_dir is None:
|
|
|
- raise Exception("No working_dir passed to ServiceLoader()")
|
|
|
+ raise ValueError("No working_dir passed to ServiceLoader()")
|
|
|
|
|
|
self.working_dir = os.path.abspath(working_dir)
|
|
|
|
|
|
@@ -312,33 +319,33 @@ class ServiceLoader(object):
|
|
|
return merge_service_dicts(other_service_dict, self.service_dict)
|
|
|
|
|
|
def get_extended_config_path(self, extends_options):
|
|
|
- """
|
|
|
- Service we are extending either has a value for 'file' set, which we
|
|
|
+ """Service we are extending either has a value for 'file' set, which we
|
|
|
need to obtain a full path too or we are extending from a service
|
|
|
defined in our own file.
|
|
|
"""
|
|
|
if 'file' in extends_options:
|
|
|
- extends_from_filename = extends_options['file']
|
|
|
- return expand_path(self.working_dir, extends_from_filename)
|
|
|
-
|
|
|
+ return expand_path(self.working_dir, extends_options['file'])
|
|
|
return self.filename
|
|
|
|
|
|
def signature(self, name):
|
|
|
- return (self.filename, name)
|
|
|
+ return self.filename, name
|
|
|
|
|
|
|
|
|
def validate_extended_service_dict(service_dict, filename, service):
|
|
|
error_prefix = "Cannot extend service '%s' in %s:" % (service, filename)
|
|
|
|
|
|
if 'links' in service_dict:
|
|
|
- raise ConfigurationError("%s services with 'links' cannot be extended" % error_prefix)
|
|
|
+ raise ConfigurationError(
|
|
|
+ "%s services with 'links' cannot be extended" % error_prefix)
|
|
|
|
|
|
if 'volumes_from' in service_dict:
|
|
|
- raise ConfigurationError("%s services with 'volumes_from' cannot be extended" % error_prefix)
|
|
|
+ raise ConfigurationError(
|
|
|
+ "%s services with 'volumes_from' cannot be extended" % error_prefix)
|
|
|
|
|
|
if 'net' in service_dict:
|
|
|
if get_service_name_from_net(service_dict['net']) is not None:
|
|
|
- raise ConfigurationError("%s services with 'net: container' cannot be extended" % error_prefix)
|
|
|
+ raise ConfigurationError(
|
|
|
+ "%s services with 'net: container' cannot be extended" % error_prefix)
|
|
|
|
|
|
|
|
|
def process_container_options(service_dict, working_dir=None):
|