Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
    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)
Exemplo n.º 4
0
    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)
Exemplo n.º 5
0
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'))