Use correct exception in L3 driver controller

The driver controller was using Invalid instead of InvalidInput
for validation errors. This was being converted to a 500 instead
of a BadRequest. This patch corrects it to use InvalidInput.

Change-Id: I8f4913fe8f98580a925d3f5b80ad0353e4c9636f
Partial-Bug: #1621430
diff --git a/neutron/tests/tempest/api/admin/test_routers_flavors.py b/neutron/tests/tempest/api/admin/test_routers_flavors.py
index 3e214e1..9b6f06f 100644
--- a/neutron/tests/tempest/api/admin/test_routers_flavors.py
+++ b/neutron/tests/tempest/api/admin/test_routers_flavors.py
@@ -71,3 +71,9 @@
         self.create_router('name', flavor_id=self.flavor['id'])
         with testtools.ExpectedException(lib_exc.Conflict):
             self.admin_client.delete_flavor(self.flavor['id'])
+
+    @test.idempotent_id('83939cf7-5070-41bc-9a3e-cd9f22df2186')
+    def test_badrequest_on_requesting_flags_and_flavor(self):
+        with testtools.ExpectedException(lib_exc.BadRequest):
+            self.admin_client.create_router(
+                'name', flavor_id=self.flavor['id'], distributed=True)