Hi Hikolas,
The `ovs-vsctl show` output does not show how physnet1 can be reached.
That is what I meant by it is not managed by OpenDaylight. Maybe you
need to manipulate the "OVS_BRIDGE_MAPPINGS" configuration options.
However, that does not explain why networking-odl or OpenDaylight does
not bind port on flat network. Maybe other folks have the answer.
Thanks,
Zang, Rui
On 8/19/2016 3:36 PM, Nikolas Hermanns wrote:
I redeployed the system cause of other reason so ids changed. Problem still
exist:
root@node-3:~# ovs-vsctl show
7c5fba05-9094-4306-87ed-2e44f2edc192
Manager "tcp:192.168.0.4:6640"
is_connected: true
Bridge br-int
Controller "tcp:192.168.0.4:6633"
is_connected: true
Port "TUNNEL:2"
Interface "TUNNEL:2"
type: vxlan
options: {key=flow, local_ip="192.168.2.4",
remote_ip="192.168.2.1"}
Port "tap33a54c35-1b"
Interface "tap33a54c35-1b"
type: internal
Port "tap54ea3b3f-ee"
Interface "tap54ea3b3f-ee"
type: internal
Port br-int
Interface br-int
type: internal
Port "tap6cd7d327-11"
Interface "tap6cd7d327-11"
type: internal
Port "qr-15746548-70"
Interface "qr-15746548-70"
type: internal
Port "TUNNEL:10"
Interface "TUNNEL:10"
type: vxlan
options: {key=flow, local_ip="192.168.2.4",
remote_ip="192.168.2.3"}
Port "tap15a2a33f-9f"
Interface "tap15a2a33f-9f"
type: internal
Port "tapfeea7fab-be"
Interface "tapfeea7fab-be"
type: internal
Port "TUNNEL:6"
Interface "TUNNEL:6"
type: vxlan
options: {key=flow, local_ip="192.168.2.4",
remote_ip="192.168.2.2"}
Port "tapc1ad3c0d-3c"
Interface "tapc1ad3c0d-3c"
type: internal
ovs_version: "2.4.1"
## neutron port-list
| fcb2ecbe-07ba-41a1-8c5e-7dac6577d58b | | fa:16:3e:9a:55:16 | {"subnet_id":
"102e7306-8a2d-4448-bf69-9e0c3c8649b4", "ip_address": "172.16.0.130"} |
## ERROR from the logs:
2016-08-19 07:29:30.170 23329 ERROR neutron.plugins.ml2.managers
[req-f228e4bb-0808-42b5-9628-0b2cd9ad1c92 - - - - -] Failed to bind port
fcb2ecbe-07ba-41a1-8c5e-7dac6577d58b on host node-3.domain.tld for vnic_type
normal using segments [{'segmentation_id': None, 'physical_network':
u'physnet1', 'id': u'9c2c66a2-557c-4547-912a-1f043ea76d9f', 'network_type':
u'flat'}]
2016-08-19 07:29:30.171 23329 INFO neutron.plugins.ml2.plugin
[req-f228e4bb-0808-42b5-9628-0b2cd9ad1c92 - - - - -] Attempt 10 to bind port
fcb2ecbe-07ba-41a1-8c5e-7dac6577d58b
2016-08-19 07:29:30.178 23329 ERROR networking_odl.ml2.network_topology
[req-f228e4bb-0808-42b5-9628-0b2cd9ad1c92 - - - - -] Network topology element
has failed binding port:
{
"class": "networking_odl.ml2.ovsdb_topology.OvsdbNetworkTopologyElement",
"has_datapath_type_netdev": false,
"host_addresses": [
"192.168.0.4"
],
"support_vhost_user": false,
"uuid": "7c5fba05-9094-4306-87ed-2e44f2edc192",
"valid_vif_types": [
"ovs"
]
}
2016-08-19 07:29:30.178 23329 ERROR networking_odl.ml2.network_topology
Traceback (most recent call last):
2016-08-19 07:29:30.178 23329 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-19 07:29:30.178 23329 ERROR networking_odl.ml2.network_topology
port_context, vif_type, self._vif_details)
2016-08-19 07:29:30.178 23329 ERROR networking_odl.ml2.network_topology File
"/usr/local/lib/python2.7/dist-packages/networking_odl/ml2/ovsdb_topology.py",
line 173, in bind_port
2016-08-19 07:29:30.178 23329 ERROR networking_odl.ml2.network_topology
raise ValueError('Unable to find any valid segment in given context.')
2016-08-19 07:29:30.178 23329 ERROR networking_odl.ml2.network_topology
ValueError: Unable to find any valid segment in given context.
2016-08-19 07:29:30.178 23329 ERROR networking_odl.ml2.network_topology
2016-08-19 07:29:30.180 23329 ERROR networking_odl.ml2.network_topology
[req-f228e4bb-0808-42b5-9628-0b2cd9ad1c92 - - - - -] Unable to bind port
element for given host and valid VIF types:
hostname: node-3.domain.tld
valid VIF types: vhostuser, ovs
2016-08-19 07:29:30.181 23329 ERROR neutron.plugins.ml2.managers
[req-f228e4bb-0808-42b5-9628-0b2cd9ad1c92 - - - - -] Failed to bind port
fcb2ecbe-07ba-41a1-8c5e-7dac6577d58b on host node-3.domain.tld for vnic_type
normal using segments [{'segmentation_id': None, 'physical_network':
u'physnet1', 'id': u'9c2c66a2-557c-4547-912a-1f043ea76d9f', 'network_type':
u'flat'}]
2016-08-19 07:29:30.644 23329 INFO networking_odl.journal.journal [-] Syncing
update port fcb2ecbe-07ba-41a1-8c5e-7dac6577d58b
Thanks for helping!
BR Nikolas
-----Original Message-----
From: Rui Zang [mailto:[email protected]]
Sent: Friday, August 19, 2016 4:26 AM
To: Nikolas Hermanns; OpenStack Development Mailing List (not for usage
questions)
Cc: Vishal Thapar; Michal Skalski; [email protected]
Subject: Re: [openstack-dev] [Neutron][networking-odl] New error Mitaka
together with ODL-Beryllium
Cloud you give me the output of `ovs-vsctl show` on node-3?
On 8/19/2016 5:20 AM, Nikolas Hermanns wrote:
Hey,
Thanks for the answer. It might be that I did not fully understand the
networking concept here.
OVS on the host node-3 is as well controlled by opendaylight. And
opendaylight sets up the external network as well. But it is still a flat
network
without segmentation. As far as I understood it, it is the port which connects
node-3 with the external network. But networking-odl from the beginning
onwards declines to bind this port.
That is my understanding. But I think I am not fully correct.
BR Nikolas
-----Original Message-----
From: Rui Zang [mailto:[email protected]]
Sent: Thursday, August 18, 2016 9:23 AM
To: OpenStack Development Mailing List (not for usage questions)
Cc: Vishal Thapar; Nikolas Hermanns; Michal Skalski; neutron-
[email protected]
Subject: Re: [openstack-dev] [Neutron][networking-odl] New error
Mitaka together with ODL-Beryllium
Hi Nikolas,
First of all, [email protected] (copied) might be a
better place to ask networking-odl questions.
It seems that the external network you described is not managed by
OpenDaylight, so it failed port binding.
You probably want to configure multiple mechanism drivers, say if
physnet1 is connected by ovs br-xxx on node-3.domain.tld, you could
run ovs agent on that host and configure bridge_mappings correctly.
The openvswitch mechanism driver would succeed the port binding.
Thanks,
Zang, Rui
On 8/17/2016 7:38 PM, Nikolas Hermanns wrote:
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:
[email protected]?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: [email protected]?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev