After the deployment, without any error, on one of the hosts:
ip link show eno5
16: eno5: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 9000 qdisc mq state DOWN mode DEFAULT group default qlen 1000
link/ether 04:09:73:ca:93:dc brd ff:ff:ff:ff:ff:ff
We can see that no VF has been created.
To work around that issue, it is necessary to trigger a config-changed.
For example:
After that, we can see the created VFs:
ip link show eno5
16: eno5: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 9000 qdisc mq state DOWN mode DEFAULT group default qlen 1000
link/ether 04:09:73:ca:93:dc brd ff:ff:ff:ff:ff:ff
vf 0 MAC 00:00:00:00:00:00, spoof checking off, link-state auto, trust off, query_rss off
vf 1 MAC 00:00:00:00:00:00, spoof checking off, link-state auto, trust off, query_rss off
vf 2 MAC 00:00:00:00:00:00, spoof checking off, link-state auto, trust off, query_rss off
vf 3 MAC 00:00:00:00:00:00, spoof checking off, link-state auto, trust off, query_rss off
vf 4 MAC 00:00:00:00:00:00, spoof checking off, link-state auto, trust off, query_rss off
vf 5 MAC 00:00:00:00:00:00, spoof checking off, link-state auto, trust off, query_rss off
vf 6 MAC 00:00:00:00:00:00, spoof checking off, link-state auto, trust off, query_rss off
vf 7 MAC 00:00:00:00:00:00, spoof checking off, link-state auto, trust off, query_rss off
With the following extract from the bundle, the initial deployment of the charm does not create the virtual functions.
neutron- openvswitch: openvswitch multiplier: *worker-multiplier mappings: *bridge-mappings arp-spoofing: True driver: openvswitch local-dhcp- and-metadata: true device- mappings: 'physnet_ sriov:eno5'
charm: cs:neutron-
num_units: 0
bindings:
data: *overlay-space
options:
worker-
bridge-
prevent-
firewall-
dns-servers: "8.8.8.8"
enable-
data-port: 'br-data:eno4'
enable-sriov: True
sriov-
sriov-numvfs: '[{"devname": "eno5", "physical_network": "physnet_sriov"}]
After the deployment, without any error, on one of the hosts: BROADCAST, MULTICAST, UP> mtu 9000 qdisc mq state DOWN mode DEFAULT group default qlen 1000
ip link show eno5
16: eno5: <NO-CARRIER,
link/ether 04:09:73:ca:93:dc brd ff:ff:ff:ff:ff:ff
We can see that no VF has been created.
To work around that issue, it is necessary to trigger a config-changed.
For example:
juju config neutron-openvswitch sriov-numvfs=''
juju deploy bundle.yaml
After that, we can see the created VFs: BROADCAST, MULTICAST, UP> mtu 9000 qdisc mq state DOWN mode DEFAULT group default qlen 1000
ip link show eno5
16: eno5: <NO-CARRIER,
link/ether 04:09:73:ca:93:dc brd ff:ff:ff:ff:ff:ff
vf 0 MAC 00:00:00:00:00:00, spoof checking off, link-state auto, trust off, query_rss off
vf 1 MAC 00:00:00:00:00:00, spoof checking off, link-state auto, trust off, query_rss off
vf 2 MAC 00:00:00:00:00:00, spoof checking off, link-state auto, trust off, query_rss off
vf 3 MAC 00:00:00:00:00:00, spoof checking off, link-state auto, trust off, query_rss off
vf 4 MAC 00:00:00:00:00:00, spoof checking off, link-state auto, trust off, query_rss off
vf 5 MAC 00:00:00:00:00:00, spoof checking off, link-state auto, trust off, query_rss off
vf 6 MAC 00:00:00:00:00:00, spoof checking off, link-state auto, trust off, query_rss off
vf 7 MAC 00:00:00:00:00:00, spoof checking off, link-state auto, trust off, query_rss off