Add migration warning and option to migrate to labels.
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
This commit is contained in:
parent
ed50a0a3a0
commit
62059d55e6
7 changed files with 148 additions and 29 deletions
|
|
@ -1,13 +1,14 @@
|
|||
from __future__ import unicode_literals
|
||||
from __future__ import absolute_import
|
||||
import logging
|
||||
|
||||
from functools import reduce
|
||||
|
||||
from docker.errors import APIError
|
||||
|
||||
from .config import get_service_name_from_net, ConfigurationError
|
||||
from .const import LABEL_PROJECT, LABEL_ONE_OFF
|
||||
from .service import Service
|
||||
from .service import Service, check_for_legacy_containers
|
||||
from .container import Container
|
||||
from docker.errors import APIError
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
|
@ -82,6 +83,10 @@ class Project(object):
|
|||
volumes_from=volumes_from, **service_dict))
|
||||
return project
|
||||
|
||||
@property
|
||||
def service_names(self):
|
||||
return [service.name for service in self.services]
|
||||
|
||||
def get_service(self, name):
|
||||
"""
|
||||
Retrieve a service by name. Raises NoSuchService
|
||||
|
|
@ -109,7 +114,7 @@ class Project(object):
|
|||
"""
|
||||
if service_names is None or len(service_names) == 0:
|
||||
return self.get_services(
|
||||
service_names=[s.name for s in self.services],
|
||||
service_names=self.service_names,
|
||||
include_deps=include_deps
|
||||
)
|
||||
else:
|
||||
|
|
@ -230,10 +235,21 @@ class Project(object):
|
|||
service.remove_stopped(**options)
|
||||
|
||||
def containers(self, service_names=None, stopped=False, one_off=False):
|
||||
return [Container.from_ps(self.client, container)
|
||||
for container in self.client.containers(
|
||||
all=stopped,
|
||||
filters={'label': self.labels(one_off=one_off)})]
|
||||
containers = [
|
||||
Container.from_ps(self.client, container)
|
||||
for container in self.client.containers(
|
||||
all=stopped,
|
||||
filters={'label': self.labels(one_off=one_off)})]
|
||||
|
||||
if not containers:
|
||||
check_for_legacy_containers(
|
||||
self.client,
|
||||
self.name,
|
||||
self.service_names,
|
||||
stopped=stopped,
|
||||
one_off=one_off)
|
||||
|
||||
return containers
|
||||
|
||||
def _inject_deps(self, acc, service):
|
||||
net_name = service.get_net_name()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue