aboutsummaryrefslogtreecommitdiffstats
path: root/networking_sfc/services/sfc/common/exceptions.py
diff options
context:
space:
mode:
Diffstat (limited to 'networking_sfc/services/sfc/common/exceptions.py')
-rw-r--r--networking_sfc/services/sfc/common/exceptions.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/networking_sfc/services/sfc/common/exceptions.py b/networking_sfc/services/sfc/common/exceptions.py
new file mode 100644
index 0000000..7d1b9d9
--- /dev/null
+++ b/networking_sfc/services/sfc/common/exceptions.py
@@ -0,0 +1,46 @@
+# Copyright 2015 Futurewei. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+"""Exceptions used by SFC plugin and drivers."""
+
+from neutron.common import exceptions
+
+
+class SfcDriverError(exceptions.NeutronException):
+ """SFC driver call failed."""
+ message = _("%(method)s failed.")
+
+
+class SfcException(exceptions.NeutronException):
+ """Base for SFC driver exceptions returned to user."""
+ pass
+
+
+class SfcBadRequest(exceptions.BadRequest, SfcException):
+ """Base for SFC driver bad request exceptions returned to user."""
+ pass
+
+
+class SfcNoSubnetGateway(SfcDriverError):
+ """No subnet gateway."""
+ message = _("There is no %(type)s of ip prefix %(cidr)s.")
+
+
+class SfcNoSuchSubnet(SfcDriverError):
+ """No such subnet."""
+ message = _("There is no %(type)s of %(cidr)s.")
+
+
+class FlowClassifierInvalid(SfcDriverError):
+ """Invalid flow classifier."""
+ message = _("There is no %(type)s assigned.")