~ubuntu-branches/ubuntu/vivid/neutron/vivid-updates

« back to all changes in this revision

Viewing changes to neutron/plugins/nec/common/exceptions.py

  • Committer: Package Import Robot
  • Author(s): James Page
  • Date: 2015-03-30 11:17:19 UTC
  • mfrom: (1.1.21)
  • Revision ID: package-import@ubuntu.com-20150330111719-h0gx7233p4jkkgfh
Tags: 1:2015.1~b3-0ubuntu1
* New upstream milestone release:
  - d/control: Align version requirements with upstream.
  - d/control: Add new dependency on oslo-log.
  - d/p/*: Rebase.
  - d/control,d/neutron-plugin-hyperv*: Dropped, decomposed into
    separate project upstream.
  - d/control,d/neutron-plugin-openflow*: Dropped, decomposed into
    separate project upstream.
  - d/neutron-common.install: Add neutron-rootwrap-daemon and 
    neutron-keepalived-state-change binaries.
  - d/rules: Ignore neutron-hyperv-agent when installing; only for Windows.
  - d/neutron-plugin-cisco.install: Drop neutron-cisco-cfg-agent as
    decomposed into separate project upstream.
  - d/neutron-plugin-vmware.install: Drop neutron-check-nsx-config and
    neutron-nsx-manage as decomposed into separate project upstream.
  - d/control: Add dependency on python-neutron-fwaas to neutron-l3-agent.
* d/pydist-overrides: Add overrides for oslo packages.
* d/control: Fixup type in package description (LP: #1263539).
* d/p/fixup-driver-test-execution.patch: Cherry pick fix from upstream VCS
  to support unit test exection in out-of-tree vendor drivers.
* d/neutron-common.postinst: Allow general access to /etc/neutron but limit
  access to root/neutron to /etc/neutron/neutron.conf to support execution
  of unit tests in decomposed vendor drivers.
* d/control: Add dependency on python-neutron-fwaas to neutron-l3-agent
  package.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright 2012 NEC Corporation.  All rights reserved.
2
 
#
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
6
 
#
7
 
#         http://www.apache.org/licenses/LICENSE-2.0
8
 
#
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
13
 
#    under the License.
14
 
 
15
 
from neutron.common import exceptions as qexc
16
 
 
17
 
 
18
 
class OFCException(qexc.NeutronException):
19
 
    message = _("An OFC exception has occurred: %(reason)s")
20
 
 
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')
26
 
 
27
 
 
28
 
class OFCResourceNotFound(qexc.NotFound):
29
 
    message = _("The specified OFC resource (%(resource)s) is not found.")
30
 
 
31
 
 
32
 
class NECDBException(qexc.NeutronException):
33
 
    message = _("An exception occurred in NECPluginV2 DB: %(reason)s")
34
 
 
35
 
 
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.")
40
 
 
41
 
 
42
 
class OFCServiceUnavailable(OFCException):
43
 
    message = _("OFC returns Server Unavailable (503) "
44
 
                "(Retry-After=%(retry_after)s)")
45
 
 
46
 
    def __init__(self, **kwargs):
47
 
        super(OFCServiceUnavailable, self).__init__(**kwargs)
48
 
        self.retry_after = kwargs.get('retry_after')
49
 
 
50
 
 
51
 
class PortInfoNotFound(qexc.NotFound):
52
 
    message = _("PortInfo %(id)s could not be found")
53
 
 
54
 
 
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')
59
 
 
60
 
 
61
 
class ProfilePortInfoInvalidPortNo(qexc.InvalidInput):
62
 
    message = _('Invalid input for operation: '
63
 
                'port_no should be [0:65535]')
64
 
 
65
 
 
66
 
class RouterExternalGatewayNotSupported(qexc.BadRequest):
67
 
    message = _("Router (provider=%(provider)s) does not support "
68
 
                "an external network")
69
 
 
70
 
 
71
 
class ProviderNotFound(qexc.NotFound):
72
 
    message = _("Provider %(provider)s could not be found")
73
 
 
74
 
 
75
 
class RouterOverLimit(qexc.Conflict):
76
 
    message = _("Cannot create more routers with provider=%(provider)s")
77
 
 
78
 
 
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.")