def check_in(): """Processes activity reports from the containers.""" active = request.form['active'] container_ip = request.remote_addr container_id = r.get('ips:%s' % container_ip) if container_id is not None: r.hset('containers:%s' % container_id, 'active', active) return ''
def test_check_activity_active_connections(self): container = self._create_container() container_id = container['container_id'] r.hset('containers:%s' % container_id, 'active', '1') # Mock apply_async so we don't get stuck in infinite loop check_container_activity.apply_async = Mock() result = check_container_activity(container_id) self.assertEqual(result, 'container active') self.assertTrue(check_container_activity.apply_async.called)
def patch(self, container_id): """Updates information on a single container. Currently just status.""" args = self.reqparse.parse_args() if 'status' in args: if args['status'] == STOPPED: stop_container.delay(container_id) r.hset('containers:%s' % container_id, 'status', STOPPING) elif args['status'] == RUNNING: try: start_container(container_id) except APIError as exception: abort(500, message=exception.explanation) container = r.hgetall('containers:%s' % container_id) return marshal(container, container_fields)