Rename 'net' to 'network mode' in various classes/methods

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
This commit is contained in:
Aanand Prasad 2016-01-25 14:27:12 +00:00
commit 52e74ab7ad
9 changed files with 81 additions and 82 deletions

View file

@ -19,8 +19,8 @@ from .errors import CircularReference
from .errors import ComposeFileNotFound
from .errors import ConfigurationError
from .interpolation import interpolate_environment_variables
from .sort_services import get_container_name_from_net
from .sort_services import get_service_name_from_net
from .sort_services import get_container_name_from_network_mode
from .sort_services import get_service_name_from_network_mode
from .sort_services import sort_service_dicts
from .types import parse_extra_hosts
from .types import parse_restart_spec
@ -492,12 +492,12 @@ def validate_extended_service_dict(service_dict, filename, service):
"%s services with 'volumes_from' cannot be extended" % error_prefix)
if 'net' in service_dict:
if get_container_name_from_net(service_dict['net']):
if get_container_name_from_network_mode(service_dict['net']):
raise ConfigurationError(
"%s services with 'net: container' cannot be extended" % error_prefix)
if 'network_mode' in service_dict:
if get_service_name_from_net(service_dict['network_mode']):
if get_service_name_from_network_mode(service_dict['network_mode']):
raise ConfigurationError(
"%s services with 'network_mode: service' cannot be extended" % error_prefix)
@ -575,7 +575,7 @@ def finalize_service(service_config, service_names, version):
if 'net' in service_dict:
network_mode = service_dict.pop('net')
container_name = get_container_name_from_net(network_mode)
container_name = get_container_name_from_network_mode(network_mode)
if container_name and container_name in service_names:
service_dict['network_mode'] = 'service:{}'.format(container_name)
else:

View file

@ -4,22 +4,22 @@ from __future__ import unicode_literals
from compose.config.errors import DependencyError
def get_service_name_from_net(net_config):
return get_source_name_from_net(net_config, 'service')
def get_service_name_from_network_mode(network_mode):
return get_source_name_from_network_mode(network_mode, 'service')
def get_container_name_from_net(net_config):
return get_source_name_from_net(net_config, 'container')
def get_container_name_from_network_mode(network_mode):
return get_source_name_from_network_mode(network_mode, 'container')
def get_source_name_from_net(net_config, source_type):
if not net_config:
def get_source_name_from_network_mode(network_mode, source_type):
if not network_mode:
return
if not net_config.startswith(source_type+':'):
if not network_mode.startswith(source_type+':'):
return
_, net_name = net_config.split(':', 1)
_, net_name = network_mode.split(':', 1)
return net_name
@ -41,7 +41,7 @@ def sort_service_dicts(services):
service for service in services
if (name in get_service_names(service.get('links', [])) or
name in get_service_names_from_volumes_from(service.get('volumes_from', [])) or
name == get_service_name_from_net(service.get('network_mode')) or
name == get_service_name_from_network_mode(service.get('network_mode')) or
name in service.get('depends_on', []))
]

View file

@ -15,7 +15,7 @@ from jsonschema import RefResolver
from jsonschema import ValidationError
from .errors import ConfigurationError
from .sort_services import get_service_name_from_net
from .sort_services import get_service_name_from_network_mode
log = logging.getLogger(__name__)
@ -156,7 +156,7 @@ def validate_network_mode(service_config, service_names):
if 'networks' in service_config.config:
raise ConfigurationError("'network_mode' and 'networks' cannot be combined")
dependency = get_service_name_from_net(network_mode)
dependency = get_service_name_from_network_mode(network_mode)
if not dependency:
return

View file

@ -10,8 +10,8 @@ from docker.errors import NotFound
from . import parallel
from .config import ConfigurationError
from .config.sort_services import get_container_name_from_net
from .config.sort_services import get_service_name_from_net
from .config.sort_services import get_container_name_from_network_mode
from .config.sort_services import get_service_name_from_network_mode
from .const import DEFAULT_TIMEOUT
from .const import IMAGE_EVENTS
from .const import LABEL_ONE_OFF
@ -19,11 +19,11 @@ from .const import LABEL_PROJECT
from .const import LABEL_SERVICE
from .container import Container
from .network import Network
from .service import ContainerNet
from .service import ContainerNetworkMode
from .service import ConvergenceStrategy
from .service import Net
from .service import NetworkMode
from .service import Service
from .service import ServiceNet
from .service import ServiceNetworkMode
from .utils import microseconds_from_time_nano
from .volume import Volume
@ -91,7 +91,7 @@ class Project(object):
networks = []
links = project.get_links(service_dict)
net = project.get_net(service_dict, networks)
network_mode = project.get_network_mode(service_dict, networks)
volumes_from = get_volumes_from(project, service_dict)
if config_data.version == 2:
@ -110,7 +110,7 @@ class Project(object):
use_networking=use_networking,
networks=networks,
links=links,
net=net,
network_mode=network_mode,
volumes_from=volumes_from,
**service_dict)
)
@ -197,27 +197,27 @@ class Project(object):
del service_dict['links']
return links
def get_net(self, service_dict, networks):
net = service_dict.pop('network_mode', None)
if not net:
def get_network_mode(self, service_dict, networks):
network_mode = service_dict.pop('network_mode', None)
if not network_mode:
if self.use_networking:
return Net(networks[0]) if networks else Net('none')
return Net(None)
return NetworkMode(networks[0]) if networks else NetworkMode('none')
return NetworkMode(None)
service_name = get_service_name_from_net(net)
service_name = get_service_name_from_network_mode(network_mode)
if service_name:
return ServiceNet(self.get_service(service_name))
return ServiceNetworkMode(self.get_service(service_name))
container_name = get_container_name_from_net(net)
container_name = get_container_name_from_network_mode(network_mode)
if container_name:
try:
return ContainerNet(Container.from_id(self.client, container_name))
return ContainerNetworkMode(Container.from_id(self.client, container_name))
except APIError:
raise ConfigurationError(
"Service '{name}' uses the network stack of container '{dep}' which "
"does not exist.".format(name=service_dict['name'], dep=container_name))
return Net(net)
return NetworkMode(network_mode)
def start(self, service_names=None, **options):
containers = []

View file

@ -47,7 +47,6 @@ DOCKER_START_KEYS = [
'extra_hosts',
'ipc',
'read_only',
'net',
'log_driver',
'log_opt',
'mem_limit',
@ -113,7 +112,7 @@ class Service(object):
use_networking=False,
links=None,
volumes_from=None,
net=None,
network_mode=None,
networks=None,
**options
):
@ -123,7 +122,7 @@ class Service(object):
self.use_networking = use_networking
self.links = links or []
self.volumes_from = volumes_from or []
self.net = net or Net(None)
self.network_mode = network_mode or NetworkMode(None)
self.networks = networks or []
self.options = options
@ -472,7 +471,7 @@ class Service(object):
'options': self.options,
'image_id': self.image()['Id'],
'links': self.get_link_names(),
'net': self.net.id,
'net': self.network_mode.id,
'volumes_from': [
(v.source.name, v.mode)
for v in self.volumes_from if isinstance(v.source, Service)
@ -480,7 +479,7 @@ class Service(object):
}
def get_dependency_names(self):
net_name = self.net.service_name
net_name = self.network_mode.service_name
return (self.get_linked_service_names() +
self.get_volumes_from_names() +
([net_name] if net_name else []) +
@ -636,7 +635,7 @@ class Service(object):
binds=options.get('binds'),
volumes_from=self._get_volumes_from(),
privileged=options.get('privileged', False),
network_mode=self.net.mode,
network_mode=self.network_mode.mode,
devices=options.get('devices'),
dns=options.get('dns'),
dns_search=options.get('dns_search'),
@ -774,22 +773,22 @@ class Service(object):
log.error(six.text_type(e))
class Net(object):
class NetworkMode(object):
"""A `standard` network mode (ex: host, bridge)"""
service_name = None
def __init__(self, net):
self.net = net
def __init__(self, network_mode):
self.network_mode = network_mode
@property
def id(self):
return self.net
return self.network_mode
mode = id
class ContainerNet(object):
class ContainerNetworkMode(object):
"""A network mode that uses a container's network stack."""
service_name = None
@ -806,7 +805,7 @@ class ContainerNet(object):
return 'container:' + self.container.id
class ServiceNet(object):
class ServiceNetworkMode(object):
"""A network mode that uses a service's network stack."""
def __init__(self, service):