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 vsaie...@mirantis.com <dstoltenb...@mirantis.com> +(380) 66 072 07 17 <++1+(650)+564+7038> _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev