<div dir="ltr"><div class="gmail_default" style="font-size:13px!important"><br></div><div class="gmail_extra"><br><div class="gmail_quote" style="">On Wed, Dec 13, 2017 at 2:30 PM, Michel Peterson <span dir="ltr"><<a href="mailto:michel@redhat.com" target="_blank">michel@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>Through my work in networking-odl I've found what I believe is an issue present in a majority of ML2 drivers. An issue I think needs awareness so each project can decide a course of action.<br><br>The issue stems from the adopted practice of importing `neutron.tests.unit.plugins.<wbr>ml2.test_plugin` and creating classes with noop operation to "inherit" tests for free [1]. The idea behind is nice, you inherit >600 tests that cover several scenarios. <br><br>There are several issues of adopting this pattern, two of which are paramount:<br><br></div>1. If the mechanism driver is not loaded correctly [2], the tests then don't test the mechanism driver but still succeed and therefore there is no indication that there is something wrong with the code. In the case of networking-odl it wasn't discovered until last week, which means that for >1 year it this was adding PASSed tests uselessly. <br><br>2. It gives a false sense of reassurance. If the code of those tests is analyzed it's possible to see that the code itself is mostly centered around testing the REST endpoint of neutron than actually testing that the mechanism succeeds on the operation it was supposed to test. As a result of this, there is marginally added value on having those tests. To be clear, the hooks for the respective operations are called on the mechanism driver, but the result of the operation is not asserted.</div><div><br></div><div>I would love to hear more voices around this, so feel free to comment.</div></div></blockquote><div style=""><br></div><div style="font-size:small" class="gmail_default">​i talked to a few guys from networking-ovn which are now processing this info so they could chime in, but from what I've understood the issue wasn't given much thought in networking-ovn (and I suspect other mechanism drivers).</div><div style="font-size:13px!important" class="gmail_default">​</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div></div><div style=""><br></div><div>Regarding networking-odl the solution I propose is the following: <br></div><div>  **First**, discard completely the change mentioned in the footnote #2.</div><div>  **Second**, create a patch that completely removes the tests that follow this pattern.</div><div>  **Third**, incorporate the neutron tempest plugin into the CI and rely on that for assuring coverage of the different scenarios. <br></div></div></blockquote><div style=""><br></div><div style="font-size:small" class="gmail_default">​This sounds like a good plan to me.</div><div style="font-size:13px!important" class="gmail_default">​</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div></div><div style=""><br></div><div>Also to mention that when discovered this issue in networking-odl we took a decision not to merge more patches until the PS of footnote #2 was addressed. I think we can now decide to overrule that decision and proceed as usual.</div></div></blockquote><div style=""><br></div><div style="font-size:small" class="gmail_default">​Agreed.</div><div style="font-size:13px!important" class="gmail_default">​</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div style=""><br></div><div><div><div><br><br>[1]: <a href="http://codesearch.openstack.org/?q=class%20.*%5C(.*TestMl2" target="_blank">http://codesearch.openstack.<wbr>org/?q=class%20.*\(.*TestMl2</a></div><div>[2]: something that was happening in networking-odl and addressed by <a href="https://review.openstack.org/#/c/523934" target="_blank">https://review.openstack.org/#<wbr>/c/523934</a><br></div></div></div></div>
<br>______________________________<wbr>_________________<br>
neutron-dev mailing list<br>
<a href="mailto:neutron-dev@lists.opendaylight.org">neutron-dev@lists.<wbr>opendaylight.org</a><br>
<a href="https://lists.opendaylight.org/mailman/listinfo/neutron-dev" rel="noreferrer" target="_blank">https://lists.opendaylight.<wbr>org/mailman/listinfo/neutron-<wbr>dev</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div style="font-size:large"><font size="2">Regards,</font><br></div>Mike</div></div>
</div></div>