Hello I am stuck for days on network setup issues and would be grateful if you could provide any pointer on how best to proceed. We have an existed vlan based network. I would like to set up the openstack to be vlan based, that is, each project would be on a separate vlan. To achieve this, I went about doing this: - Converted the port connected to neutron_external_interface to trunk on the HP switch. I am planning to use openstack to provision VM on vlan 20 * Created network ->openstack network create --project=eng --provider-network-type=vlan --provider-physical-network=sriovtenant1 --provider-segment=20 eng --gateway 192.168.20.252 --dns-nameserver 192.168.20.1 * Created subnet -> openstack subnet create --network=eng --subnet-range=192.168.20.0/24 --allocation-pool start=192.168.20.1,end=192.168.20.220 --gateway 192.168.20.252 --dns-nameserver 192.168.20.1 eng_sub1 * Created port ->openstack port create --network eng --vnic-type=direct eng_port1 [kolla@ostack-40 tmp]$ openstack network show eng | grep provider | provider:network_type | vlan | | provider:physical_network | sriovtenant1 | | provider:segmentation_id | 20 | [kolla@ostack-40 tmp]$ The issue is however with port status. It always seems to be down: [kolla@ostack-40 tmp]$ openstack port show 511f54fb-d7f2-4e59-98db-8833bb4cf5e4 | grep -i status | data_plane_status | None | | propagate_uplink_status | None | | status | DOWN | [kolla@ostack-40 tmp]$ This is the globals.yml file we are using: --- config_owner_user: "kolla" config_owner_group: "kolla" workaround_ansible_issue_8743: yes openstack_release: "2024.1" kolla_internal_vip_address: "192.168.101.221" kolla_internal_fqdn: "example.openstack.exampletech.com" kolla_external_vip_address: "192.168.102.221" kolla_external_fqdn: "example.vm.exampletech.com" kolla_sysctl_conf_path: /etc/sysctl.d/100-kolla.conf kolla_container_engine: podman network_interface: "enp4s0f0" neutron_external_interface: "enp4s0f1" disable_firewall: "true" enable_external_api_firewalld: "false" enable_neutron_sriov: "yes" neutron_sriov_physnet_mappings: sriovtenant1: enp4s0f1 enable_neutron_dvr: "yes" openvswitch_hw_offload: "yes" enable_neutron_provider_networks: "yes" ceph_version: "reef" external_ceph_cephx_enabled: "yes" ceph_glance_user: "glance" ceph_glance_keyring: "client.{{ ceph_glance_user }}.keyring" ceph_glance_pool_name: "images" ceph_cinder_user: "cinder" ceph_cinder_keyring: "client.{{ ceph_cinder_user }}.keyring" ceph_cinder_pool_name: "volumes" ceph_cinder_backup_user: "cinder-backup" ceph_cinder_backup_keyring: "client.{{ ceph_cinder_backup_user }}.keyring" ceph_cinder_backup_pool_name: "backups" ceph_nova_keyring: "{{ ceph_cinder_keyring }}" ceph_nova_user: "{{ ceph_cinder_user }}" ceph_nova_pool_name: "vms" keystone_admin_project: "example" glance_backend_ceph: "yes" cinder_backend_ceph: "yes" nova_backend_ceph: "yes" We are certain sriov is working due to this observations: [root@ostack-40 ~]# cat /sys/class/net/enp4s0f1/device/sriov_totalvfs 63 [root@ostack-40 ~]# When I look for the string vlan, on the logs, I see this which implies that vlan seem to have been initialized fine. 2024-08-26 14:57:36.933 2 INFO neutron.plugins.ml2.drivers.type_vlan [-] Network VLAN ranges: OrderedDict([('sriovtenant1', [(9, 2000)])]) 2024-08-26 14:57:49.469 2 INFO neutron.plugins.ml2.drivers.type_vlan [None req-8326ea90-01d6-4de4-895c-5a37456e4dde - - - - - -] VlanTypeDriver initialization complete [root@ostack-40 ~]# grep -i "vlan " /var/log/kolla/neutron/neutron-server.log 2024-08-26 14:57:36.933 2 INFO neutron.plugins.ml2.drivers.type_vlan [-] Network VLAN ranges: OrderedDict([('sriovtenant1', [(9, 2000)])]) 2024-08-26 14:57:49.469 2 INFO neutron.plugins.ml2.drivers.type_vlan [None req-8326ea90-01d6-4de4-895c-5a37456e4dde - - - - - -] VlanTypeDriver initialization complete [root@ostack-40 ~]# grep -i vlan /var/log/kolla/neutron/neutron-server.log 2024-08-26 14:57:36.929 2 INFO neutron.plugins.ml2.managers [-] Configured type driver names: ['flat', 'vlan', 'vxlan'] 2024-08-26 14:57:36.933 2 INFO neutron.plugins.ml2.drivers.type_vlan [-] Network VLAN ranges: OrderedDict([('sriovtenant1', [(9, 2000)])]) 2024-08-26 14:57:36.933 2 INFO neutron.plugins.ml2.managers [-] Loaded type driver names: ['flat', 'vlan', 'vxlan'] 2024-08-26 14:57:36.934 2 INFO neutron.plugins.ml2.managers [-] Registered types: dict_keys(['flat', 'vlan', 'vxlan']) 2024-08-26 14:57:37.006 2 INFO neutron.plugins.ml2.managers [-] Initializing driver for type 'vlan' 2024-08-26 14:57:49.469 2 INFO neutron.plugins.ml2.drivers.type_vlan [None req-8326ea90-01d6-4de4-895c-5a37456e4dde - - - - - -] VlanTypeDriver initialization complete 2024-08-26 14:57:49.494 2 INFO neutron.extensions.vlantransparent [None req-72317867-444d-42a7-8421-2ef4460e9aed - - - - - -] Disabled vlantransparent extension. 2024-08-26 14:57:49.597 2 INFO neutron.api.extensions [None req-72317867-444d-42a7-8421-2ef4460e9aed - - - - - -] Extension vlan-transparent not supported by any of loaded plugins What could we possibly be missing? Regards, William