Hello OVN community,
I'm playing with OpenStack Ironic (Baremetal as a Service) and OVN + VTEP
integration [0]. I use OVN+VTEP to connect remote baremetal server to OVN
network.
My baremetal server port is `external` and it does not have a connection to
the metadata service running behind the `distributed` network port.
I have no name!@openvswitch-ovn-db-0:/$ ovn-nbctl --db=tcp:127.0.0.1:6641
--no-leader find Logical_switch_port
name=276d148a-bb2c-4e2f-9e19-261948b8aeaf
_uuid : 4958d204-1e00-4d1f-bb34-1c5e4f9a3d5c
addresses : ["fa:41:52:73:01:01 192.168.15.104"]
dhcpv4_options : a0ccc856-6147-46b5-a195-213acf715ed7
dhcpv6_options : []
dynamic_addresses : []
enabled : true
external_ids : {"neutron:cidrs"="192.168.15.104/24",
"neutron:device_id"="6664ad03-1b5b-4cef-b0ea-bbb9aef2742d",
"neutron:device_owner"="compute:nova",
"neutron:host_id"="b8da9830-a919-4227-b9b9-ce3703a677f4", "neutron:mtu"="",
"neutron:network_name"=neutron-94ff1ca1-ffb6-457a-8b3e-57595463572c,
"neutron:port_capabilities"="", "neutron:port_fip"="10.11.12.150",
"neutron:port_name"="",
"neutron:project_id"="6b79cecf340942379d264cae13777c5c",
"neutron:revision_number"="7", "neutron:security_group_ids"="",
"neutron:subnet_pool_addr_scope4"="", "neutron:subnet_pool_addr_scope6"="",
"neutron:vnic_type"=baremetal}
ha_chassis_group : 597dc5d5-7f63-4712-84cf-87b8943ac50c
mirror_rules : []
name : "276d148a-bb2c-4e2f-9e19-261948b8aeaf"
options : {}
parent_name : []
port_security : []
tag : []
tag_request : []
type : external
up : true
I have no name!@openvswitch-ovn-db-0:/$ ovn-nbctl --db=tcp:127.0.0.1:6641
--no-leader find Logical_switch_port
name=3d1aab77-894e-4d7c-8fe7-66cbb5b42053
_uuid : 5c2ea46b-a932-4e8d-8741-2c12e9c8f9e9
addresses : ["fa:16:3e:9e:90:06 192.168.15.2"]
dhcpv4_options : []
dhcpv6_options : []
dynamic_addresses : []
enabled : true
external_ids : {"neutron:cidrs"="192.168.15.2/24",
"neutron:device_id"=ovnmeta-94ff1ca1-ffb6-457a-8b3e-57595463572c,
"neutron:device_owner"="network:distributed", "neutron:mtu"="",
"neutron:network_name"=neutron-94ff1ca1-ffb6-457a-8b3e-57595463572c,
"neutron:port_capabilities"="", "neutron:port_name"="",
"neutron:project_id"="6b79cecf340942379d264cae13777c5c",
"neutron:revision_number"="2", "neutron:security_group_ids"="",
"neutron:subnet_pool_addr_scope4"="", "neutron:subnet_pool_addr_scope6"="",
"neutron:vnic_type"=normal}
ha_chassis_group : []
mirror_rules : []
name : "3d1aab77-894e-4d7c-8fe7-66cbb5b42053"
options : {}
parent_name : []
port_security : []
tag : []
tag_request : []
type : localport
up : false
Looks like the reason for this that MAC learning not happening for metadata
port, please see remote-mac bindings on the switch, as you can see there is
no entry for metadata port fa:16:3e:9e:90:06
I have no name!@vs-cs-5bisnox6xvd4-0-xmyll46fpkky-server-wqhmpbirvhg3:/$
vtep-ctl list-remote-macs neutron-94ff1ca1-ffb6-457a-8b3e-57595463572c
ucast-mac-remote
fa:16:3e:61:a5:7e -> vxlan_over_ipv4/10.10.0.156
fa:41:52:73:01:01 -> vxlan_over_ipv4/10.10.0.156
mcast-mac-remote
unknown-dst -> vxlan_over_ipv4/10.10.0.156
unknown-dst -> vxlan_over_ipv4/10.10.0.165
Inside VM metadata is routed via metadata port
root@demoinstance15-bm:~# ip route
default via 192.168.15.1 dev enp1s0 proto dhcp src 192.168.15.104 metric 100
169.254.169.254 via 192.168.15.2 dev enp1s0 proto dhcp src 192.168.15.104
metric 100
192.168.15.0/24 dev enp1s0 proto kernel scope link src 192.168.15.104
Can you please advise what is the proper way to make metadata working for
baremetal server?
[0] https://bugs.launchpad.net/ironic/+bug/2034953
--
<https://www.mirantis.com/>
Vasyl Saienko
Principal DevOps Engineer
[email protected] <[email protected]>
+(380) 66 072 07 17 <++1+(650)+564+7038>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev