<div dir="ltr"><div class="gmail_default" style="font-family:monospace,monospace">FWaaS team,</div><div class="gmail_default" style="font-family:monospace,monospace"><br></div><div class="gmail_default" style="font-family:monospace,monospace">After a day of looking at the tests currently failing in the FWaaS repo, I believe I have the issue narrowed down considerably. First, to restate what is going on.  If you check out the neutron-fwaas repository and run `tox -e py27` in it, you will get six errors all in the <span style="font-family:arial,sans-serif">neutron_fwaas.tests.unit.services.firewall.agents.varmour.test_varmour_router.TestVarmourRouter </span>section.  Running the py34 tests results in similar problems.  The failures follow the following form:</div><div class="gmail_default" style="font-family:monospace,monospace">







<p class=""><span class="">Captured traceback:</span></p>
<p class=""><span class="">~~~~~~~~~~~~~~~~~~~</span></p>
<p class=""><span class="">    Traceback (most recent call last):</span></p>
<p class=""><span class="">      File "neutron_fwaas/tests/unit/services/firewall/agents/varmour/test_varmour_router.py", line 190, in test_agent_external_gateway</span></p>
<p class=""><span class="">        router = self._create_router()</span></p>
<p class=""><span class="">      File "neutron_fwaas/tests/unit/services/firewall/agents/varmour/test_varmour_router.py", line 87, in _create_router</span></p>
<p class=""><span class="">        router = varmour_router.vArmourL3NATAgent(HOSTNAME, self.conf)</span></p>
<p class=""><span class="">      File "neutron_fwaas/services/firewall/agents/varmour/varmour_router.py", line 54, in __init__</span></p>
<p class=""><span class="">        super(vArmourL3NATAgent, self).__init__(host, conf)</span></p>
<p class=""><span class="">      File "/home/njohns002/<a href="http://github.com/openstack/neutron-fwaas-311159/.tox/py27/src/neutron/neutron/agent/l3/agent.py">github.com/openstack/neutron-fwaas-311159/.tox/py27/src/neutron/neutron/agent/l3/agent.py</a>", line 244, in __init__</span></p>
<p class=""><span class="">        super(L3NATAgent, self).__init__(host=self.conf.host)</span></p>
<p class=""><span class="">      File "/home/njohns002/<a href="http://github.com/openstack/neutron-fwaas-311159/.tox/py27/src/neutron/neutron/agent/l3/ha.py">github.com/openstack/neutron-fwaas-311159/.tox/py27/src/neutron/neutron/agent/l3/ha.py</a>", line 93, in __init__</span></p>
<p class=""><span class="">        super(AgentMixin, self).__init__(host)</span></p>
<p class=""><span class="">      File "/home/njohns002/<a href="http://github.com/openstack/neutron-fwaas-311159/.tox/py27/src/neutron/neutron/agent/l3/dvr.py">github.com/openstack/neutron-fwaas-311159/.tox/py27/src/neutron/neutron/agent/l3/dvr.py</a>", line 30, in __init__</span></p>
<p class=""><span class="">        super(AgentMixin, self).__init__(host)</span></p>
<p class=""><span class="">      File "/home/njohns002/<a href="http://github.com/openstack/neutron-fwaas-311159/.tox/py27/src/neutron/neutron/agent/l3/agent.py">github.com/openstack/neutron-fwaas-311159/.tox/py27/src/neutron/neutron/agent/l3/agent.py</a>", line 70, in __init__</span></p>
<p class=""><span class="">        super(FWaaSAgentRpcCallbackMixin, self).__init__(host)</span></p>
<p class=""><span class="">      File "/home/njohns002/<a href="http://github.com/openstack/neutron-fwaas-311159/.tox/py27/src/neutron/neutron/manager.py">github.com/openstack/neutron-fwaas-311159/.tox/py27/src/neutron/neutron/manager.py</a>", line 44, in __init__</span></p>
<p class=""><span class="">        super(Manager, self).__init__(conf)</span></p>
<p class=""><span class="">      File "/home/njohns002/<a href="http://github.com/openstack/neutron-fwaas-311159/.tox/py27/lib/python2.7/site-packages/oslo_service/periodic_task.py">github.com/openstack/neutron-fwaas-311159/.tox/py27/lib/python2.7/site-packages/oslo_service/periodic_task.py</a>", line 177, in __init__</span></p>
<p class=""><span class="">        super(PeriodicTasks, self).__init__()</span></p>
<p class=""><span class="">    TypeError: __init__() takes exactly 2 arguments (1 given)</span></p></div><div class="gmail_default" style="font-family:monospace,monospace"><br></div><div class="gmail_default" style="font-family:monospace,monospace">I pinged the Oslo folks, and they were able to help me look into the issue, which cleared oslo.service of any role.  The change that introduced this is actually a neutron change - <a href="https://review.openstack.org/#/c/223343/">https://review.openstack.org/#/c/223343/</a> - and I could experimentally test for it by doing the following, which checks out the change before the problem one, <span style="font-family:arial,sans-serif">"Remove BGP code from neutron"</span><span style="color:inherit;font-size:inherit">.  At that point `tox -e py27` could complete successfully. </span></div>







<div class="gmail_default" style="font-family:monospace,monospace"><br></div><div class="gmail_default" style="font-family:monospace,monospace">Everything works with the older commit:   <span style="font-family:arial,sans-serif">cd .tox/py27/src/neutron && git checkout</span><span style="font-family:arial,sans-serif"> </span><span style="font-family:arial,sans-serif">fe702f8f2af265554c7ff6f464b99562f8c54254 && cd - && tox -e py27</span></div>















<div class="gmail_default" style="font-family:monospace,monospace">Things break with commit 223343:          <span style="font-family:arial,sans-serif">cd .tox/py27/src/neutron && git checkout</span><span style="font-family:arial,sans-serif"> </span><span style="font-family:arial,sans-serif">f</span><span style="font-family:arial,sans-serif">31861843d90e013d31fb76fc576b49a35e218aa4 </span><span style="font-family:arial,sans-serif"> </span><span style="font-family:arial,sans-serif">&& cd - && tox -e py27</span></div><div class="gmail_default" style="font-family:monospace,monospace"><br></div><div class="gmail_default" style="font-family:monospace,monospace">My guess on this is that the reason for the breakage is due to multiple inheritance and the changing of the ancestry for the L3NATAgent object.  So the focus of my effort (with Margaret Frances providing crucial insight) is determining what precisely needs to be fixed or reverted to make this work, while in keeping with the removal of FWaaS code from Neutron.  I shall continue to look at this tomorrow, but if anyone wishes to pick up the torch and figure this out then you should feel free to do so.  If not, I shall resume tomorrow.</div>







<div class="gmail_default" style="font-family:monospace,monospace"><br></div><div class="gmail_default" style="font-family:monospace,monospace">Thanks,</div><div class="gmail_default" style="font-family:monospace,monospace"><br></div><div class="gmail_default" style="font-family:monospace,monospace">--N.</div></div>