Fix router debug command
After the changes for drivers in Liberty, the astara-debug-router script was broken. This script helps to debug how a worker processes a single message and enables PDB usage. This is a modified backport since the files were moved in the master branch. Change-Id: I69f04ff6f04a58d45737dca770f585f468e3ad58 Closes-Bug: 1524979
This commit is contained in:
parent
26134dbc87
commit
ce7e18f09a
|
@ -21,6 +21,7 @@ import sys
|
|||
|
||||
from oslo_config import cfg
|
||||
|
||||
from akanda.rug import drivers
|
||||
from akanda.rug import state
|
||||
from akanda.rug import worker
|
||||
|
||||
|
@ -68,10 +69,11 @@ def debug_one_router(args=sys.argv[1:]):
|
|||
log.debug('Proxy settings: %r', os.getenv('no_proxy'))
|
||||
|
||||
context = worker.WorkerContext()
|
||||
router_obj = context.neutron.get_router_detail(cfg.CONF.router_id)
|
||||
driver = drivers.get('router')(context, cfg.CONF.router_id)
|
||||
a = state.Automaton(
|
||||
router_id=cfg.CONF.router_id,
|
||||
tenant_id=router_obj.tenant_id,
|
||||
driver=driver,
|
||||
resource_id=cfg.CONF.router_id,
|
||||
tenant_id=driver._router.tenant_id,
|
||||
delete_callback=delete_callback,
|
||||
bandwidth_callback=bandwidth_callback,
|
||||
worker_context=context,
|
||||
|
|
|
@ -31,20 +31,26 @@ class TestDebug(base.RugTestBase):
|
|||
cfg.CONF.unregister_opts(debug.DEBUG_OPTS)
|
||||
super(TestDebug, self).tearDown()
|
||||
|
||||
@mock.patch('akanda.rug.drivers.get')
|
||||
@mock.patch('akanda.rug.worker.WorkerContext')
|
||||
@mock.patch('akanda.rug.state.Automaton')
|
||||
@mock.patch('pdb.set_trace')
|
||||
def test_debug_one_router(self, set_trace, automaton, ctx):
|
||||
def test_debug_one_router(self, set_trace, automaton, ctx, drivers_get):
|
||||
ctx.return_value.neutron.get_router_detail.return_value = mock.Mock(
|
||||
tenant_id='123'
|
||||
)
|
||||
debug.debug_one_router(self.argv + ['--router-id', 'X'])
|
||||
|
||||
ctx.return_value.neutron.get_router_detail.assert_called_once_with('X')
|
||||
mock_driver = drivers_get.return_value.return_value
|
||||
|
||||
assert set_trace.called
|
||||
|
||||
drivers_get.return_value.assert_called_once_with(ctx.return_value, 'X')
|
||||
|
||||
automaton.assert_called_once_with(
|
||||
router_id='X',
|
||||
tenant_id='123',
|
||||
driver=mock_driver,
|
||||
resource_id='X',
|
||||
tenant_id=mock_driver._router.tenant_id,
|
||||
delete_callback=debug.delete_callback,
|
||||
bandwidth_callback=debug.bandwidth_callback,
|
||||
worker_context=ctx.return_value,
|
||||
|
|
Loading…
Reference in New Issue