Seeing this traceback in the l3-agent logs in the failing neutron-tempest-plugin-dvr-multinode-scenario job.
For example,
http://logs.openstack.org/23/622623/3/check/neutron-tempest-plugin-dvr-multinode-scenario/604b3c0/controller/logs/screen-q-l3.txt.gz?level=WARNING
neutron-l3-agent[13439]: ERROR neutron.agent.l3.agent [-] Error while deleting router da35128f-c2e4-4bc5-a409-a07f60970be1: TypeError: string indices must be integers
neutron-l3-agent[13439]: ERROR neutron.agent.l3.agent Traceback (most recent call last):
neutron-l3-agent[13439]: ERROR neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/agent.py", line 398, in _safe_router_removed
neutron-l3-agent[13439]: ERROR neutron.agent.l3.agent self.l3_ext_manager.delete_router(self.context, router_id)
neutron-l3-agent[13439]: ERROR neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/l3_agent_extensions_manager.py", line 66, in delete_router
neutron-l3-agent[13439]: ERROR neutron.agent.l3.agent extension.obj.delete_router(context, data)
neutron-l3-agent[13439]: ERROR neutron.agent.l3.agent File "/opt/stack/neutron/neutron/agent/l3/extensions/qos/gateway_ip.py", line 99, in delete_router
neutron-l3-agent[13439]: ERROR neutron.agent.l3.agent self.gateway_ip_qos_map.clean_by_resource(data['id'])
neutron-l3-agent[13439]: ERROR neutron.agent.l3.agent TypeError: string indices must be integers
This could be one of the reasons the job is failing.
Looking at the log again, the error is being caught, so this isn't causing the job failure, but it is in the log a lot.