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.

Change-Id: I69f04ff6f04a58d45737dca770f585f468e3ad58
Closes-Bug: 1524979
This commit is contained in:
Mark McClain 2015-12-10 16:20:59 -05:00
parent 444488d732
commit 395666e72b
2 changed files with 12 additions and 7 deletions

View File

@ -21,6 +21,7 @@ import sys
from oslo_config import cfg
from astara import drivers
from astara import state
from astara 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,

View File

@ -31,20 +31,23 @@ class TestDebug(base.RugTestBase):
cfg.CONF.unregister_opts(debug.DEBUG_OPTS)
super(TestDebug, self).tearDown()
@mock.patch('astara.drivers.get')
@mock.patch('astara.worker.WorkerContext')
@mock.patch('astara.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_router = drivers_get.return_value.return_value._router
assert set_trace.called
automaton.assert_called_once_with(
router_id='X',
tenant_id='123',
driver=drivers_get.return_value.return_value,
resource_id='X',
tenant_id=mock_router.tenant_id,
delete_callback=debug.delete_callback,
bandwidth_callback=debug.bandwidth_callback,
worker_context=ctx.return_value,