def test_get_serial_console_socket_exhausted(self, get_serial_console): get_serial_console.side_effect = ( exception.SocketPortRangeExhaustedException(host='127.0.0.1')) body = {'os-getSerialConsole': {'type': 'serial'}} self._check_console_failure('self.controller.get_serial_console', webob.exc.HTTPBadRequest, body) self.assertTrue(get_serial_console.called)
def test_acquire_port_not_ble_to_bind_at_any_port(self, fake_verify_port): start, stop = 15, 20 self.flags(port_range='%d:%d' % (start, stop), group='serial_console') fake_verify_port.side_effect = ( exception.SocketPortRangeExhaustedException(host='127.0.0.1')) self.assertRaises(exception.SocketPortRangeExhaustedException, serial.acquire_port, '127.0.0.1')
def test_create_console_socket_exhausted(self, mock_get): mock_handler = mock.MagicMock() mock_handler.side_effect = ( exception.SocketPortRangeExhaustedException(host='127.0.0.1')) self.controller.handlers['serial'] = mock_handler body = {'remote_console': {'protocol': 'serial', 'type': 'serial'}} self.assertRaises(webob.exc.HTTPBadRequest, self.controller.create, self.req, fakes.FAKE_UUID, body=body)
def test_get_serial_console_socket_exhausted(self, get_serial_console): get_serial_console.side_effect = ( exception.SocketPortRangeExhaustedException(host='127.0.0.1')) body = {'os-getSerialConsole': {'type': 'serial'}} req = webob.Request.blank(self.url) req.method = "POST" req.body = jsonutils.dumps(body) req.headers["content-type"] = "application/json" res = req.get_response(self.app) self.assertEqual(res.status_int, 500) self.assertTrue(get_serial_console.called)
def acquire_port(host): """Returns a free TCP port on host. Find and returns a free TCP port on 'host' in the range of 'CONF.serial_console.port_range'. """ start, stop = _get_port_range() for port in six.moves.range(start, stop): if (host, port) in ALLOCATED_PORTS: continue try: _verify_port(host, port) ALLOCATED_PORTS.add((host, port)) return port except exception.SocketPortInUseException as e: LOG.warn(e.format_message()) raise exception.SocketPortRangeExhaustedException(host=host)
def test_get_serial_console_socket_exhausted(self): body = {'os-getSerialConsole': {'type': 'serial'}} self._check_console_failure( self.controller.get_serial_console, webob.exc.HTTPBadRequest, body, 'get_serial_console', exception.SocketPortRangeExhaustedException(host='127.0.0.1'))