Hey Networking-ODL folks,

I just setup a Mirantis 9.0 release together with Opendaylight Beryllium. Using 
networking-odl v2 I see constantly the error:
2016-08-17 11:28:07.927 4040 ERROR neutron.plugins.ml2.managers 
[req-7e834676-81b4-479b-ad45-fa39f0fabed3 - - - - -] Failed to bind port 
faeaa465-6f08-4097-b173-48636cc71539 on host node-3.domain.tld for vnic_type 
normal using segments [{'segmentation_id': None, 'physical_network': 
u'physnet1', 'id': u'58d9518c-5664-4099-bcd1-b7818bea853b', 'network_type': 
u'flat'}]
2016-08-17 11:28:07.937 4040 ERROR networking_odl.ml2.network_topology 
[req-7e834676-81b4-479b-ad45-fa39f0fabed3 - - - - -] Network topology element 
has failed binding port:
2016-08-17 11:28:07.937 4040 ERROR networking_odl.ml2.network_topology 
Traceback (most recent call last):
2016-08-17 11:28:07.937 4040 ERROR networking_odl.ml2.network_topology   File 
"/usr/local/lib/python2.7/dist-packages/networking_odl/ml2/network_topology.py",
 line 117, in bind_port
2016-08-17 11:28:07.937 4040 ERROR networking_odl.ml2.network_topology     
port_context, vif_type, self._vif_details)
2016-08-17 11:28:07.937 4040 ERROR networking_odl.ml2.network_topology   File 
"/usr/local/lib/python2.7/dist-packages/networking_odl/ml2/ovsdb_topology.py", 
line 172, in bind_port
2016-08-17 11:28:07.937 4040 ERROR networking_odl.ml2.network_topology     
raise ValueError('Unable to find any valid segment in given context.')
2016-08-17 11:28:07.937 4040 ERROR networking_odl.ml2.network_topology 
ValueError: Unable to find any valid segment in given context.
2016-08-17 11:28:07.937 4040 ERROR networking_odl.ml2.network_topology 
2016-08-17 11:28:07.938 4040 ERROR networking_odl.ml2.network_topology 
[req-7e834676-81b4-479b-ad45-fa39f0fabed3 - - - - -] Unable to bind port 
element for given host and valid VIF types:
2016-08-17 11:28:07.939 4040 ERROR neutron.plugins.ml2.managers 
[req-7e834676-81b4-479b-ad45-fa39f0fabed3 - - - - -] Failed to bind port 
faeaa465-6f08-4097-b173-48636cc71539 on host node-3.domain.tld for vnic_type 
normal using segments [{'segmentation_id': None, 'physical_network': 
u'physnet1', 'id': u'58d9518c-5664-4099-bcd1-b7818bea853b', 'network_type': 
u'flat'}]

Looking at the code I saw that you can only bind ports which have a valid 
segmentation:
/usr/local/lib/python2.7/dist-packages/networking_odl/ml2/ovsdb_topology.py(151)bind_port()
    def bind_port(self, port_context, vif_type, vif_details):

        port_context_id = port_context.current['id']
        network_context_id = port_context.network.current['id']
        # Bind port to the first valid segment
        for segment in port_context.segments_to_bind:
            if self._is_valid_segment(segment): <-------
                # Guest best VIF type for given host
                vif_details = self._get_vif_details(
                    vif_details=vif_details, port_context_id=port_context_id,
                    vif_type=vif_type)
                LOG.debug(
                    'Bind port with valid segment:\n'
                    '\tport: %(port)r\n'
                    '\tnetwork: %(network)r\n'
                    '\tsegment: %(segment)r\n'
                    '\tVIF type: %(vif_type)r\n'
                    '\tVIF details: %(vif_details)r',
                    {'port': port_context_id,
                     'network': network_context_id,
                     'segment': segment, 'vif_type': vif_type,
                     'vif_details': vif_details})
                port_context.set_binding(
                    segment[driver_api.ID], vif_type, vif_details,
                    status=n_const.PORT_STATUS_ACTIVE)
                return

        raise ValueError('Unable to find any valid segment in given context.')

A valid segmentation is defined by:
[constants.TYPE_LOCAL, constants.TYPE_GRE,
constants.TYPE_VXLAN, constants.TYPE_VLAN]

The port which I try to bind here is a port on an external network which is 
flat since we do not have segmentation for external network. Any idea why it is 
changed that I can bind this port?

BR Nikolas

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to