yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #88294
[Bug 1961184] [NEW] [OVN] Virtual ports are always DOWN
Public bug reported:
Related bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2052243
In OVN (same as in OVS), virtual ports are always down.
Steps to Reproduce:
1. Define a port for our server, and allow it to use a vip:
$ openstack port create --network private --security-group prodlike serverport
$ openstack server create --security-group prodlike --port serverport \
--key-name stack --flavor m1.small --image cirros myserver \
--availability-zone nova:cpu35d
$ openstack floating ip set --port serverport 10.64.154.3
$ openstack port create myvip --network private \
--fixed-ip ip-address=192.168.200.20
$ openstack port set --allowed-address ip-address=192.168.200.20 serverport
At this moment, ovn-sbctl should not show the port "myvip" on any chassis:
$ ovn-sbctl show
Chassis "1126ea9a-2860-4e5c-9ab5-ca1e8959edee"
hostname: cpu35d
Encap geneve
ip: "10.64.145.100"
options: {csum="true"}
Port_Binding cr-lrp-52d45a86-6cbf-43ff-9700-755490192441
Port_Binding "d4aafa35-ab96-4451-9623-983a164f28dd"
The port is not bound yet:
$ openstack port show myvip -c status -c binding_host_id -c id
+-----------------+--------------------------------------+
| Field | Value |
+-----------------+--------------------------------------+
| binding_host_id | |
| id | 55c03aa0-2a21-4f28-bf5d-6ec2dcc5f7e3 |
| status | DOWN |
+-----------------+--------------------------------------+
2. Make the VM own the port:
Login into the VM and assign the virtual IP to the port:
$ ssh 10.64.154.3 -l cirros
$ sudo ip addr add 192.168.200.20 dev eth0
$ sudo arping -U 192.168.200.20
ARPING 192.168.200.20 from 192.168.200.20 eth0
^CSent 2 probe(s) (2 broadcast(s))
Received 0 response(s) (0 request(s), 0 broadcast(s))
When OVN detects traffic from/to a port with the IP of the virtual port, binds this VIP to the chassis hosting the port:
Chassis "1126ea9a-2860-4e5c-9ab5-ca1e8959edee"
hostname: cpu35d
Encap geneve
ip: "10.64.145.100"
options: {csum="true"}
Port_Binding "55c03aa0-2a21-4f28-bf5d-6ec2dcc5f7e3"
Port_Binding cr-lrp-52d45a86-6cbf-43ff-9700-755490192441
Port_Binding "d4aafa35-ab96-4451-9623-983a164f28dd"
3. Check the state of the port in Neutron
openstack port show myvip -c status -c binding_host_id -c id
Actual results:
+-----------------+--------------------------------------+
| Field | Value |
+-----------------+--------------------------------------+
| binding_host_id | |
| id | 55c03aa0-2a21-4f28-bf5d-6ec2dcc5f7e3 |
| status | DOWN |
+-----------------+--------------------------------------+
Expected results:
+-----------------+--------------------------------------+
| Field | Value |
+-----------------+--------------------------------------+
| binding_host_id | cpu35d |
| id | 55c03aa0-2a21-4f28-bf5d-6ec2dcc5f7e3 |
| status | ACTIVE |
+-----------------+--------------------------------------+
***QUESTION***: in OVN is easy to detect when a VIP port has been
bound/released and we can easily update the VIP port status and host ID.
Should we implement this feature for OVN only, adding a gap between OVS
and OVN?
** Affects: neutron
Importance: Undecided
Assignee: Rodolfo Alonso (rodolfo-alonso-hernandez)
Status: New
** Description changed:
Related bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2052243
In OVN (same as in OVS), virtual ports are always down.
Steps to Reproduce:
1. Define a port for our server, and allow it to use a vip:
- $ openstack port create --network private --security-group prodlike serverport
- $ openstack server create --security-group prodlike --port serverport \
- --key-name stack --flavor m1.small --image cirros myserver \
- --availability-zone nova:cpu35d
- $ openstack floating ip set --port serverport 10.64.154.3
- $ openstack port create myvip --network private \
- --fixed-ip ip-address=192.168.200.20
- $ openstack port set --allowed-address ip-address=192.168.200.20 serverport
+ $ openstack port create --network private --security-group prodlike serverport
+ $ openstack server create --security-group prodlike --port serverport \
+ --key-name stack --flavor m1.small --image cirros myserver \
+ --availability-zone nova:cpu35d
+ $ openstack floating ip set --port serverport 10.64.154.3
+ $ openstack port create myvip --network private \
+ --fixed-ip ip-address=192.168.200.20
+ $ openstack port set --allowed-address ip-address=192.168.200.20 serverport
At this moment, ovn-sbctl should not show the port "myvip" on any chassis:
$ ovn-sbctl show
Chassis "1126ea9a-2860-4e5c-9ab5-ca1e8959edee"
- hostname: cpu35d
- Encap geneve
- ip: "10.64.145.100"
- options: {csum="true"}
- Port_Binding cr-lrp-52d45a86-6cbf-43ff-9700-755490192441
- Port_Binding "d4aafa35-ab96-4451-9623-983a164f28dd"
+ hostname: cpu35d
+ Encap geneve
+ ip: "10.64.145.100"
+ options: {csum="true"}
+ Port_Binding cr-lrp-52d45a86-6cbf-43ff-9700-755490192441
+ Port_Binding "d4aafa35-ab96-4451-9623-983a164f28dd"
The port is not bound yet:
$ openstack port show myvip -c status -c binding_host_id -c id
+-----------------+--------------------------------------+
| Field | Value |
+-----------------+--------------------------------------+
| binding_host_id | |
| id | 55c03aa0-2a21-4f28-bf5d-6ec2dcc5f7e3 |
| status | DOWN |
+-----------------+--------------------------------------+
-
2. Make the VM own the port:
Login into the VM and assign the virtual IP to the port:
- $ ssh 10.64.154.3 -l cirros
- $ sudo ip addr add 192.168.200.20 dev eth0
- $ sudo arping -U 192.168.200.20
- ARPING 192.168.200.20 from 192.168.200.20 eth0
- ^CSent 2 probe(s) (2 broadcast(s))
- Received 0 response(s) (0 request(s), 0 broadcast(s))
+ $ ssh 10.64.154.3 -l cirros
+ $ sudo ip addr add 192.168.200.20 dev eth0
+ $ sudo arping -U 192.168.200.20
+ ARPING 192.168.200.20 from 192.168.200.20 eth0
+ ^CSent 2 probe(s) (2 broadcast(s))
+ Received 0 response(s) (0 request(s), 0 broadcast(s))
When OVN detects traffic from/to a port with the IP of the virtual port, binds this VIP to the chassis hosting the port:
Chassis "1126ea9a-2860-4e5c-9ab5-ca1e8959edee"
- hostname: cpu35d
- Encap geneve
- ip: "10.64.145.100"
- options: {csum="true"}
- Port_Binding "55c03aa0-2a21-4f28-bf5d-6ec2dcc5f7e3"
- Port_Binding cr-lrp-52d45a86-6cbf-43ff-9700-755490192441
- Port_Binding "d4aafa35-ab96-4451-9623-983a164f28dd"
-
+ hostname: cpu35d
+ Encap geneve
+ ip: "10.64.145.100"
+ options: {csum="true"}
+ Port_Binding "55c03aa0-2a21-4f28-bf5d-6ec2dcc5f7e3"
+ Port_Binding cr-lrp-52d45a86-6cbf-43ff-9700-755490192441
+ Port_Binding "d4aafa35-ab96-4451-9623-983a164f28dd"
3. Check the state of the port in Neutron
openstack port show myvip -c status -c binding_host_id -c id
Actual results:
+-----------------+--------------------------------------+
| Field | Value |
+-----------------+--------------------------------------+
| binding_host_id | |
| id | 55c03aa0-2a21-4f28-bf5d-6ec2dcc5f7e3 |
| status | DOWN |
+-----------------+--------------------------------------+
-
Expected results:
+-----------------+--------------------------------------+
| Field | Value |
+-----------------+--------------------------------------+
| binding_host_id | cpu35d |
| id | 55c03aa0-2a21-4f28-bf5d-6ec2dcc5f7e3 |
| status | ACTIVE |
+-----------------+--------------------------------------+
- QUESTION: in OVN is easy to detect when a VIP port has been
+ ***QUESTION***: in OVN is easy to detect when a VIP port has been
bound/released and we can easily update the VIP port status and host ID.
Should we implement this feature for OVN only, adding a gap between OVS
and OVN?
** Changed in: neutron
Assignee: (unassigned) => Rodolfo Alonso (rodolfo-alonso-hernandez)
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1961184
Title:
[OVN] Virtual ports are always DOWN
Status in neutron:
New
Bug description:
Related bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2052243
In OVN (same as in OVS), virtual ports are always down.
Steps to Reproduce:
1. Define a port for our server, and allow it to use a vip:
$ openstack port create --network private --security-group prodlike serverport
$ openstack server create --security-group prodlike --port serverport \
--key-name stack --flavor m1.small --image cirros myserver \
--availability-zone nova:cpu35d
$ openstack floating ip set --port serverport 10.64.154.3
$ openstack port create myvip --network private \
--fixed-ip ip-address=192.168.200.20
$ openstack port set --allowed-address ip-address=192.168.200.20 serverport
At this moment, ovn-sbctl should not show the port "myvip" on any chassis:
$ ovn-sbctl show
Chassis "1126ea9a-2860-4e5c-9ab5-ca1e8959edee"
hostname: cpu35d
Encap geneve
ip: "10.64.145.100"
options: {csum="true"}
Port_Binding cr-lrp-52d45a86-6cbf-43ff-9700-755490192441
Port_Binding "d4aafa35-ab96-4451-9623-983a164f28dd"
The port is not bound yet:
$ openstack port show myvip -c status -c binding_host_id -c id
+-----------------+--------------------------------------+
| Field | Value |
+-----------------+--------------------------------------+
| binding_host_id | |
| id | 55c03aa0-2a21-4f28-bf5d-6ec2dcc5f7e3 |
| status | DOWN |
+-----------------+--------------------------------------+
2. Make the VM own the port:
Login into the VM and assign the virtual IP to the port:
$ ssh 10.64.154.3 -l cirros
$ sudo ip addr add 192.168.200.20 dev eth0
$ sudo arping -U 192.168.200.20
ARPING 192.168.200.20 from 192.168.200.20 eth0
^CSent 2 probe(s) (2 broadcast(s))
Received 0 response(s) (0 request(s), 0 broadcast(s))
When OVN detects traffic from/to a port with the IP of the virtual port, binds this VIP to the chassis hosting the port:
Chassis "1126ea9a-2860-4e5c-9ab5-ca1e8959edee"
hostname: cpu35d
Encap geneve
ip: "10.64.145.100"
options: {csum="true"}
Port_Binding "55c03aa0-2a21-4f28-bf5d-6ec2dcc5f7e3"
Port_Binding cr-lrp-52d45a86-6cbf-43ff-9700-755490192441
Port_Binding "d4aafa35-ab96-4451-9623-983a164f28dd"
3. Check the state of the port in Neutron
openstack port show myvip -c status -c binding_host_id -c id
Actual results:
+-----------------+--------------------------------------+
| Field | Value |
+-----------------+--------------------------------------+
| binding_host_id | |
| id | 55c03aa0-2a21-4f28-bf5d-6ec2dcc5f7e3 |
| status | DOWN |
+-----------------+--------------------------------------+
Expected results:
+-----------------+--------------------------------------+
| Field | Value |
+-----------------+--------------------------------------+
| binding_host_id | cpu35d |
| id | 55c03aa0-2a21-4f28-bf5d-6ec2dcc5f7e3 |
| status | ACTIVE |
+-----------------+--------------------------------------+
***QUESTION***: in OVN is easy to detect when a VIP port has been
bound/released and we can easily update the VIP port status and host
ID. Should we implement this feature for OVN only, adding a gap
between OVS and OVN?
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1961184/+subscriptions
Follow ups