[kolla-ansible][neutron][openvswitch]
Hi everyone. I have strange problem with neutron ml2 plugin. I have a little strange setup: controllers in networkA/subnetA computesA in networkA/subnetA computesB in networkB/subnetB (separate L2, controllers can be connected via routing) Because computesB are on different LAN I had to put on two computes in that lan neutron-dhcp-agents and add them to networks served for instances in locationB. In addition aggregates are created so, that if an instance has network from locationB then it has to start on computes in locationB. computes and controllers have one flat network (vlan 21) ans three vlan networks (221, 51 and 251),, vlans 21 and 221 are in locationA, 51 and 251 in locationB, the ml2_plugin is configured like below: [ml2_type_vlan] network_vlan_ranges = physnet1:221:221,physnet2:51:51,physnet3:251:251 bond0 is the neutron_external_interface and has vlan 21 as native and 221,51 and 251 as tagged vlans. Openstack networks are mapped to corresponding physnets. dhcp_agents in location A are working without any problems, vm's are started without any problem in vlans 21 and 221 with addresses from all subnets from networks in these vlans. In location B when I add dhcp_agent the port is doen (namespaces qdhcpxxxxxxxxx are created on computesB and are replying to their own address, but not the gateway or any other address), port status of dhcp_agent is DOWN, and in logs I have: Device Port(admin_state_up=True,allowed_address_pairs=[],binding_levels=[],bindings=[PortBinding],created_at=2024-12-01T17:52:25Z,data_plane_status=None,description='',device_id='dhcpfd2f8da2-397b-5456-a75c-f9c5bbccb8b1-81b9ac42-6267-48e2-8352-0ae5c09d85fa',device_owner='network:dhcp',device_profile=<?>,dhcp_options=[],distributed_bindings=[],dns=None,fixed_ips=[IPAllocation,IPAllocation],hints=None,id=08c60b9d-ea8f-4a2d-a3b7-5f787d15f45d,mac_address=fa:16:3e:37:27:0c,name='',network_id=81b9ac42-6267-48e2-8352-0ae5c09d85fa,numa_affinity_policy=<?>,project_id='c0e2f3d69c064ae5b5596fd150d550d7',qos_network_policy_id=None,qos_policy_id=None,revision_number=2,security=PortSecurity(08c60b9d-ea8f-4a2d-a3b7-5f787d15f45d),security_group_ids=set([]),status='DOWN',updated_at=2024-12-01T17:52:25Z) is not bound. Device 08c60b9d\-ea8f\-4a2d\-a3b7\-5f787d15f45d not defined on plugin or binding failed Port 08c60b9d-ea8f-4a2d-a3b7-5f787d15f45d cannot update to ACTIVE because it failed. _port_provisioned /var/lib/kolla/venv/lib/python3.10/site-packages/neutron/plugins/ml2/plugin.py:357 Why the same configuration works in LocationA? In location B the same situation is with all ports - even if I create a port "by hand". The error message (in debug mode!) says not much - Device 08c60b9d\-ea8f\-4a2d\-a3b7\-5f787d15f45d not defined on plugin or binding failed, how can I find what is wrong? I would appreciate any help. Best regards, Adam Tomas
Nail it :) neutron-openvswitch-agent in location B needs to point to the same physnet as the network which is supposed to be served there. So neutron-server ml2_plugin needs to have two physnets (physnet1 and physnet2) in ml2_config.ini, and neutron-openvswitch-agent needs to have (openvswitch_agent.ini): [ovs] bridge_mappings = physnet1:br-ext in location A and [ovs] bridge_mappings = physnet2:br-ext in location B assuming that openstack network in locationA points to flat physnet1 and in locationB to flat physnet2
participants (1)
-
Adam Tomas