1
# Copyright 2012 NEC Corporation. All rights reserved.
3
# Licensed under the Apache License, Version 2.0 (the "License"); you may
4
# not use this file except in compliance with the License. You may obtain
5
# a copy of the License at
7
# http://www.apache.org/licenses/LICENSE-2.0
9
# Unless required by applicable law or agreed to in writing, software
10
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12
# License for the specific language governing permissions and limitations
15
from neutron.common import exceptions as qexc
18
class OFCException(qexc.NeutronException):
19
message = _("An OFC exception has occurred: %(reason)s")
21
def __init__(self, **kwargs):
22
super(OFCException, self).__init__(**kwargs)
23
self.status = kwargs.get('status')
24
self.err_msg = kwargs.get('err_msg')
25
self.err_code = kwargs.get('err_code')
28
class OFCResourceNotFound(qexc.NotFound):
29
message = _("The specified OFC resource (%(resource)s) is not found.")
32
class NECDBException(qexc.NeutronException):
33
message = _("An exception occurred in NECPluginV2 DB: %(reason)s")
36
class OFCMappingNotFound(qexc.NotFound):
37
message = _("Neutron-OFC resource mapping for "
38
"%(resource)s %(neutron_id)s is not found. "
39
"It may be deleted during processing.")
42
class OFCServiceUnavailable(OFCException):
43
message = _("OFC returns Server Unavailable (503) "
44
"(Retry-After=%(retry_after)s)")
46
def __init__(self, **kwargs):
47
super(OFCServiceUnavailable, self).__init__(**kwargs)
48
self.retry_after = kwargs.get('retry_after')
51
class PortInfoNotFound(qexc.NotFound):
52
message = _("PortInfo %(id)s could not be found")
55
class ProfilePortInfoInvalidDataPathId(qexc.InvalidInput):
56
message = _('Invalid input for operation: '
57
'datapath_id should be a hex string '
58
'with at most 8 bytes')
61
class ProfilePortInfoInvalidPortNo(qexc.InvalidInput):
62
message = _('Invalid input for operation: '
63
'port_no should be [0:65535]')
66
class RouterExternalGatewayNotSupported(qexc.BadRequest):
67
message = _("Router (provider=%(provider)s) does not support "
68
"an external network")
71
class ProviderNotFound(qexc.NotFound):
72
message = _("Provider %(provider)s could not be found")
75
class RouterOverLimit(qexc.Conflict):
76
message = _("Cannot create more routers with provider=%(provider)s")
79
class RouterProviderMismatch(qexc.Conflict):
80
message = _("Provider of Router %(router_id)s is %(provider)s. "
81
"This operation is supported only for router provider "
82
"%(expected_provider)s.")