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


[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