Beispiel #1
0
def start_container(container_id):
    """Starts a container. Never actually invoked asynchronously."""
    client.start(container_id, publish_all_ports=True)

    container_details = client.inspect_container(container_id)

    # Gather info about the new container
    container = {
        'container_id': container_id,
        'name': container_details['Name'],
        'image': container_details['Config']['Image'],
        'status': RUNNING,
        'active': 0
    }

    # Get new container's ports
    ports = get_container_ports(container_details['NetworkSettings']['Ports'])
    container.update(ports)

    r.hmset('containers:%s' % container_id, container)

    container_ip = container_details['NetworkSettings']['IPAddress']
    r.set('ips:%s' % container_ip, container_id)

    if not DISABLE_TIMEOUTS:
        check_container_activity.apply_async(
            args=(container_id, ), countdown=INITIAL_TIMEOUT_INTERVAL)

    return container
Beispiel #2
0
def start_container(container_id):
    """Starts a container. Never actually invoked asynchronously."""
    client.start(container_id, publish_all_ports=True)

    container_details = client.inspect_container(container_id)

    # Gather info about the new container
    container = {'container_id': container_id,
                 'name': container_details['Name'],
                 'image': container_details['Config']['Image'],
                 'status': RUNNING,
                 'active': 0}

    # Get new container's ports
    ports = get_container_ports(container_details['NetworkSettings']['Ports'])
    container.update(ports)

    r.hmset('containers:%s' % container_id, container)

    container_ip = container_details['NetworkSettings']['IPAddress']
    r.set('ips:%s' % container_ip, container_id)

    if not DISABLE_TIMEOUTS:
        check_container_activity.apply_async(
            args=(container_id,), countdown=INITIAL_TIMEOUT_INTERVAL)

    return container
Beispiel #3
0
    def test_container_audit_started_container(self):
        container = self._create_container()
        container_id = container['container_id']

        resp = self.app.patch('/v1/containers/%s' % container_id,
            headers=self.auth,
            data=dict(status='stopped'))
        self.assertEqual(resp.status_code, 200)

        client.start(container_id)

        resp = self.app.get('/v1/containers?audit=true',
            headers=self.auth)
        data = json.loads(resp.data)

        self.assertEqual(resp.status_code, 200)
        self.assertEqual(data[0]['status'], 'running')