~corey.bryant/ubuntu/trusty/neutron/lp1318721

« back to all changes in this revision

Viewing changes to neutron/plugins/ml2/drivers/mech_bigswitch/driver.py

  • Committer: Package Import Robot
  • Author(s): Chuck Short, Corey Bryant
  • Date: 2014-10-06 09:15:06 UTC
  • mfrom: (28.1.4 trusty-proposed)
  • Revision ID: package-import@ubuntu.com-20141006091506-cesvev43moce4y74
Tags: 1:2014.1.3-0ubuntu1
[ Corey Bryant ]
* Resynchronize with stable/icehouse (4a0210e) (LP: #1377136):
  - [3a30d19] Deletes floating ip related connection states
  - [dd4b77f] Forbid regular users to reset admin-only attrs to default values
  - [dc2c893] Add delete operations for the ODL MechanismDriver
  - [b51e2c7] Add missing ml2 plugin to migration 1fcfc149aca4
  - [a17a500] Don't convert numeric protocol values to int
  - [3a85946] NSX: Optionally not enforce nat rule match length check
  - [645f984] Don't spawn metadata-proxy for non-isolated nets
  - [b464d89] Big Switch: Check for 'id' in port before lookup
  - [3116ffa] use TRUE in SQL for boolean var
  - [3520e66] call security_groups_member_updated in port_update
  - [50e1534] Don't allow user to set firewall rule with port and no protocol
  - [0061533] BSN: Add context to backend request for debugging
  - [6de6d61] Improve ODL ML2 Exception Handling
  - [2a4153d] Send network name and uuid to subnet create
  - [b5e3c9a] BSN: Allow concurrent reads to consistency DB
  - [b201432] Big Switch: Retry on 503 errors from backend
  - [f6c47ee] NSX: log request body to NSX as debug
  - [97d622a] Fix metadata agent's auth info caching
  - [255df45] NSX: Correct allowed_address_pair return value on create_port
  - [5bea041] Neutron should not use the neutronclient utils module for import_class
  - [d5314e2] Cisco N1kv plugin to send subtype on network profile creation
  - [f32d1ce] Pass object to policy when finding fields to strip
  - [8b5f6be] Call policy.init() once per API request
  - [9a6d811] Perform policy checks only once on list responses
  - [c48db90] Datacenter moid should not be tuple
  - [161d465] Allow unsharing a network used as gateway/floatingip
  - [9574a2f] Add support for router scheduling in Cisco N1kv Plugin
  - [6f54565] Fix func job hook script permission problems
  - [ea43103] Add hook scripts for the functional infra job
  - [8161cb7] Fixes Hyper-V agent issue on Hyper-V 2008 R2
  - [8e99cfd] Fixes Hyper-V issue due to ML2 RPC versioning
  - [69f9121] Ensure ip6tables are used only if ipv6 is enabled in kernel
  - [399b809] Remove explicit dependency on amqplib
  - [a872143] Clear entries in Cisco N1KV specific tables on rollback
  - [ad82fad] Verify ML2 type driver exists before calling del
  - [af2cc98] Big Switch: Only update hash header on success
  - [b1e5eec] Ignore variable column widths in ovsdb functional tests
  - [4a0210e] VMWare: don't notify on disassociate_floatingips()

Show diffs side-by-side

added added

removed removed

Lines of Context:
26
26
from neutron.extensions import portbindings
27
27
from neutron.openstack.common import log
28
28
from neutron.plugins.bigswitch import config as pl_config
29
 
from neutron.plugins.bigswitch.plugin import NeutronRestProxyV2Base
 
29
from neutron.plugins.bigswitch import plugin
30
30
from neutron.plugins.bigswitch import servermanager
31
31
from neutron.plugins.ml2 import driver_api as api
32
32
 
33
33
 
34
34
LOG = log.getLogger(__name__)
35
 
 
36
 
 
37
 
class BigSwitchMechanismDriver(NeutronRestProxyV2Base,
 
35
put_context_in_serverpool = plugin.put_context_in_serverpool
 
36
 
 
37
 
 
38
class BigSwitchMechanismDriver(plugin.NeutronRestProxyV2Base,
38
39
                               api.MechanismDriver):
39
40
 
40
41
    """Mechanism Driver for Big Switch Networks Controller.
61
62
        self.segmentation_types = ', '.join(cfg.CONF.ml2.type_drivers)
62
63
        LOG.debug(_("Initialization done"))
63
64
 
 
65
    @put_context_in_serverpool
64
66
    def create_network_postcommit(self, context):
65
67
        # create network on the network controller
66
68
        self._send_create_network(context.current)
67
69
 
 
70
    @put_context_in_serverpool
68
71
    def update_network_postcommit(self, context):
69
72
        # update network on the network controller
70
73
        self._send_update_network(context.current)
71
74
 
 
75
    @put_context_in_serverpool
72
76
    def delete_network_postcommit(self, context):
73
77
        # delete network on the network controller
74
78
        self._send_delete_network(context.current)
75
79
 
 
80
    @put_context_in_serverpool
76
81
    def create_port_postcommit(self, context):
77
82
        # create port on the network controller
78
83
        port = self._prepare_port_for_controller(context)
80
85
            self.async_port_create(port["network"]["tenant_id"],
81
86
                                   port["network"]["id"], port)
82
87
 
 
88
    @put_context_in_serverpool
83
89
    def update_port_postcommit(self, context):
84
90
        # update port on the network controller
85
91
        port = self._prepare_port_for_controller(context)
87
93
            self.servers.rest_update_port(port["network"]["tenant_id"],
88
94
                                          port["network"]["id"], port)
89
95
 
 
96
    @put_context_in_serverpool
90
97
    def delete_port_postcommit(self, context):
91
98
        # delete port on the network controller
92
99
        port = context.current