def RunContainers()

in container_agent/run_containers.py [0:0]


def RunContainers(containers, namespace):
    docker = CliDockerClient()
    prefix = '%s-' % (namespace, )
    named = dict(('%s%s-%s' % (prefix, ctr.name, ContainerHash(ctr)), ctr)
                 for ctr in containers)

    # First reap containers that might collide with the desired state
    running = [name for name in docker.list_containers(prefix)
               if name.startswith(prefix)]
    for name in running:
        log.debug('in %s namespace: %s', namespace, name)
        if name not in named:
            log.info('reaping unwanted container: %s', name)
            docker.kill(name)

    # Implement desired state
    for name, ctr in named.iteritems():
        RunContainer(docker, name, ctr)