Description of problem: Failed to configure spoofchk for VF associated with ovs user bridge in NIC partitioning deployment. fatal: [overcloud-computeovsdpdksriov-0]: FAILED! => { "NetworkConfig_result.stderr_lines": [ "+ '[' -n '{\"network_config\": [{\"addresses\": [{\"ip_netmask\": \"192.168.30.30/24\"}], \"dns_servers\": [\"10.11.5.19\"], \"name\": \"eno4\", \"routes\": [{\"ip_netmask\": \"169.254.169.254/32\", \"n ext_hop\": \"192.168.30.1\"}, {\"default\": true, \"next_hop\": \"192.168.30.1\"}], \"type\": \"interface\", \"use_dhcp\": false}, {\"defroute\": false, \"name\": \"eno3\", \"type\": \"interface\", \"use_dhcp\": true}, {\"defroute\": false, \"name\": \"eno1\", \"type\": \"interface\", \"use_dhcp\": false}, {\"defroute\": false, \"hotplug\": true, \"mtu\": 9000, \"name\": \"eno2\", \"nm_controlled\": true, \"numvfs\": 8 , \"type\": \"sriov_pf\", \"use_dhcp\": false}, {\"addresses\": [{\"ip_netmask\": \"182.50.32.43/24\"}], \"device\": \"eno2\", \"type\": \"sriov_vf\", \"vfid\": 2, \"vlan_id\": 304}, {\"addresses\": [{\"ip_netma sk\": \"182.50.16.194/24\"}], \"device\": \"eno2\", \"type\": \"sriov_vf\", \"vfid\": 3, \"vlan_id\": 302}, {\"addresses\": [{\"ip_netmask\": \"182.50.0.20/24\"}], \"members\": [{\"members\": [{\"device\": \"eno 2\", \"type\": \"sriov_vf\", \"vfid\": 1}], \"name\": \"dpdk-tenant-port\", \"type\": \"ovs_dpdk_port\"}], \"name\": \"br-tenant\", \"ovs_extra\": [\"set port br-tenant tag=305\"], \"type\": \"ovs_user_bridge\", \"use_dhcp\": false}]}' ']'", "+ '[' -z '' ']'", "+ trap configure_safe_defaults EXIT", "++ date +%Y-%m-%dT%H:%M:%S", "+ DATETIME=2019-10-17T03:04:07", "+ '[' -f /etc/os-net-config/config.json ']'", "+ mkdir -p /etc/os-net-config", "+ echo '{\"network_config\": [{\"addresses\": [{\"ip_netmask\": \"192.168.30.30/24\"}], \"dns_servers\": [\"10.11.5.19\"], \"name\": \"eno4\", \"routes\": [{\"ip_netmask\": \"169.254.169.254/32\", \"nex t_hop\": \"192.168.30.1\"}, {\"default\": true, \"next_hop\": \"192.168.30.1\"}], \"type\": \"interface\", \"use_dhcp\": false}, {\"defroute\": false, \"name\": \"eno3\", \"type\": \"interface\", \"use_dhcp\": t rue}, {\"defroute\": false, \"name\": \"eno1\", \"type\": \"interface\", \"use_dhcp\": false}, {\"defroute\": false, \"hotplug\": true, \"mtu\": 9000, \"name\": \"eno2\", \"nm_controlled\": true, \"numvfs\": 8, \"type\": \"sriov_pf\", \"use_dhcp\": false}, {\"addresses\": [{\"ip_netmask\": \"182.50.32.43/24\"}], \"device\": \"eno2\", \"type\": \"sriov_vf\", \"vfid\": 2, \"vlan_id\": 304}, {\"addresses\": [{\"ip_netmask \": \"182.50.16.194/24\"}], \"device\": \"eno2\", \"type\": \"sriov_vf\", \"vfid\": 3, \"vlan_id\": 302}, {\"addresses\": [{\"ip_netmask\": \"182.50.0.20/24\"}], \"members\": [{\"members\": [{\"device\": \"eno2\ ", \"type\": \"sriov_vf\", \"vfid\": 1}], \"name\": \"dpdk-tenant-port\", \"type\": \"ovs_dpdk_port\"}], \"name\": \"br-tenant\", \"ovs_extra\": [\"set port br-tenant tag=305\"], \"type\": \"ovs_user_bridge\", \ "use_dhcp\": false}]}'", "++ type -t network_config_hook", "+ '[' '' = function ']'", "+ sed -i s/bridge_name/br-ex/ /etc/os-net-config/config.json", "+ sed -i s/interface_name/nic1/ /etc/os-net-config/config.json", "+ set +e", "+ os-net-config -c /etc/os-net-config/config.json -v --detailed-exit-codes", "[2019/10/17 03:04:08 AM] [INFO] Using config file at: /etc/os-net-config/config.json", "[2019/10/17 03:04:08 AM] [INFO] Ifcfg net config provider created.", "[2019/10/17 03:04:08 AM] [INFO] Not using any mapping file.", "[2019/10/17 03:04:09 AM] [INFO] Finding active nics", "[2019/10/17 03:04:09 AM] [INFO] eno3 is an embedded active nic", "[2019/10/17 03:04:09 AM] [INFO] eno1 is an embedded active nic", "[2019/10/17 03:04:09 AM] [INFO] lo is not an active nic", "[2019/10/17 03:04:09 AM] [INFO] eno4 is an embedded active nic", "[2019/10/17 03:04:09 AM] [INFO] eno2 is an embedded active nic", "[2019/10/17 03:04:09 AM] [INFO] No DPDK mapping available in path (/var/lib/os-net-config/dpdk_mapping.yaml)", "[2019/10/17 03:04:09 AM] [INFO] Active nics are ['eno1', 'eno2', 'eno3', 'eno4']", "[2019/10/17 03:04:09 AM] [INFO] nic3 mapped to: eno3", "[2019/10/17 03:04:09 AM] [INFO] nic4 mapped to: eno4", "[2019/10/17 03:04:09 AM] [INFO] nic1 mapped to: eno1", "[2019/10/17 03:04:09 AM] [INFO] nic2 mapped to: eno2", "[2019/10/17 03:04:09 AM] [INFO] adding sriov pf: eno2", "[2019/10/17 03:04:09 AM] [INFO] applying network configs...", "[2019/10/17 03:04:09 AM] [INFO] running ifdown on interface: eno2", "[2019/10/17 03:04:09 AM] [INFO] interface eno2 is up, trying with ip command", "[2019/10/17 03:04:09 AM] [INFO] Writing config /etc/sysconfig/network-scripts/ifcfg-eno2", "[2019/10/17 03:04:09 AM] [INFO] running ifup on interface: eno2", "[2019/10/17 03:04:09 AM] [INFO] Configuring PFs now", "[2019/10/17 03:04:09 AM] [INFO] Running ip link set dev eno2 promisc on", "[2019/10/17 03:04:09 AM] [INFO] Bringing up PF: eno2", "[2019/10/17 03:04:09 AM] [INFO] Running ip link set dev eno2 up", "[2019/10/17 03:04:11 AM] [INFO] Received udev event add for /sys/devices/pci0000:00/0000:00:03.0/0000:01:0a.0/net/eno2v0", "[2019/10/17 03:04:11 AM] [INFO] VF: eno2v0 created for PF: eno2", "[2019/10/17 03:04:11 AM] [INFO] Received udev event add for /sys/devices/pci0000:00/0000:00:03.0/0000:01:0a.2/net/eno2v2", "[2019/10/17 03:04:11 AM] [INFO] VF: eno2v2 created for PF: eno2", "[2019/10/17 03:04:11 AM] [INFO] Received udev event move for /sys/devices/pci0000:00/0000:00:03.0/0000:01:0a.2/net/eno2v2", "[2019/10/17 03:04:11 AM] [INFO] Received udev event move for /sys/devices/pci0000:00/0000:00:03.0/0000:01:0a.0/net/eno2v0", "[2019/10/17 03:04:11 AM] [INFO] Received udev event add for /sys/devices/pci0000:00/0000:00:03.0/0000:01:0a.1/net/eno2v1", "[2019/10/17 03:04:11 AM] [INFO] VF: eno2v1 created for PF: eno2", "[2019/10/17 03:04:11 AM] [INFO] Received udev event move for /sys/devices/pci0000:00/0000:00:03.0/0000:01:0a.1/net/eno2v1", "[2019/10/17 03:04:11 AM] [INFO] Received udev event add for /sys/devices/pci0000:00/0000:00:03.0/0000:01:0a.3/net/eno2v3", "[2019/10/17 03:04:11 AM] [INFO] VF: eno2v3 created for PF: eno2", "[2019/10/17 03:04:11 AM] [INFO] Received udev event move for /sys/devices/pci0000:00/0000:00:03.0/0000:01:0a.3/net/eno2v3", "[2019/10/17 03:04:11 AM] [INFO] Received udev event add for /sys/devices/pci0000:00/0000:00:03.0/0000:01:0a.5/net/eno2v5", "[2019/10/17 03:04:11 AM] [INFO] VF: eno2v5 created for PF: eno2", "[2019/10/17 03:04:11 AM] [INFO] Received udev event add for /sys/devices/pci0000:00/0000:00:03.0/0000:01:0a.7/net/eno2v7", "[2019/10/17 03:04:11 AM] [INFO] VF: eno2v7 created for PF: eno2", "[2019/10/17 03:04:11 AM] [INFO] Received udev event move for /sys/devices/pci0000:00/0000:00:03.0/0000:01:0a.5/net/eno2v5", "[2019/10/17 03:04:11 AM] [INFO] Received udev event add for /sys/devices/pci0000:00/0000:00:03.0/0000:01:0a.4/net/eno2v4", "[2019/10/17 03:04:11 AM] [INFO] Received udev event move for /sys/devices/pci0000:00/0000:00:03.0/0000:01:0a.7/net/eno2v7", "[2019/10/17 03:04:11 AM] [INFO] VF: eno2v4 created for PF: eno2", "[2019/10/17 03:04:11 AM] [INFO] Received udev event move for /sys/devices/pci0000:00/0000:00:03.0/0000:01:0a.4/net/eno2v4", "[2019/10/17 03:04:11 AM] [INFO] Received udev event add for /sys/devices/pci0000:00/0000:00:03.0/0000:01:0a.6/net/eno2v6", "[2019/10/17 03:04:11 AM] [INFO] VF: eno2v6 created for PF: eno2", "[2019/10/17 03:04:11 AM] [INFO] Required VFs are created for PF eno2", "[2019/10/17 03:04:11 AM] [INFO] Received udev event move for /sys/devices/pci0000:00/0000:00:03.0/0000:01:0a.6/net/eno2v6", "[2019/10/17 03:04:11 AM] [INFO] adding interface: eno4", "[2019/10/17 03:04:11 AM] [INFO] adding custom route for interface: eno4", "[2019/10/17 03:04:11 AM] [INFO] adding interface: eno3", "[2019/10/17 03:04:11 AM] [INFO] adding interface: eno1", "[2019/10/17 03:04:11 AM] [INFO] adding sriov vf: eno2v2 for pf: eno2, vfid: 2", "[2019/10/17 03:04:11 AM] [INFO] adding sriov vf: eno2v3 for pf: eno2, vfid: 3", "[2019/10/17 03:04:11 AM] [INFO] Trust is not set for VF eno2:1, defaulting to on", "[2019/10/17 03:04:11 AM] [INFO] Spoofcheck is not set for VF eno2:1, defaulting to off", "[2019/10/17 03:04:11 AM] [INFO] adding ovs user bridge: br-tenant", "[2019/10/17 03:04:11 AM] [INFO] adding ovs dpdk port: dpdk-tenant-port", "[2019/10/17 03:04:12 AM] [INFO] Configuring VFs now", "[2019/10/17 03:04:12 AM] [INFO] Configuring settings for PF: eno2 VF :2 VF name : eno2v2", "[2019/10/17 03:04:12 AM] [INFO] Running ip link set dev eno2 vf 2 vlan 304", "[2019/10/17 03:04:12 AM] [INFO] Configuring settings for PF: eno2 VF :3 VF name : eno2v3", "[2019/10/17 03:04:12 AM] [INFO] Running ip link set dev eno2 vf 3 vlan 302", "[2019/10/17 03:04:12 AM] [INFO] Configuring settings for PF: eno2 VF :1 VF name : eno2v1", "[2019/10/17 03:04:12 AM] [INFO] Running ip link set dev eno2 vf 1 spoofchk off", "[2019/10/17 03:04:12 AM] [ERROR] Failed to execute ip link set dev eno2 vf 1 spoofchk off", "Traceback (most recent call last):", " File \"/bin/os-net-config\", line 10, in <module>", " sys.exit(main())", " File \"/usr/lib/python3.6/site-packages/os_net_config/cli.py\", line 340, in main", " utils.configure_sriov_vfs()", " File \"/usr/lib/python3.6/site-packages/os_net_config/utils.py\", line 552, in configure_sriov_vfs", " sriov_config.configure_sriov_vf()", " File \"/usr/lib/python3.6/site-packages/os_net_config/sriov_config.py\", line 454, in configure_sriov_vf", " run_ip_config_cmd(*cmd)", " File \"/usr/lib/python3.6/site-packages/os_net_config/sriov_config.py\", line 366, in run_ip_config_cmd", " processutils.execute(*cmd, **kwargs)", " File \"/usr/lib/python3.6/site-packages/oslo_concurrency/processutils.py\", line 424, in execute", " cmd=sanitized_cmd)", "oslo_concurrency.processutils.ProcessExecutionError: Unexpected error while running command.", "Command: ip link set dev eno2 vf 1 spoofchk off", "Exit code: 2", "Stdout: ''", "Stderr: 'RTNETLINK answers: Resource temporarily unavailable\\n'", "+ RETVAL=1", "+ set -e", "+ [[ 1 == 2 ]]", "+ [[ 1 != 0 ]]", "+ echo 'ERROR: os-net-config configuration failed.'", "ERROR: os-net-config configuration failed.", "+ exit 1", "+ configure_safe_defaults", "+ [[ 1 == 0 ]]", "+ cat", "++ ls /sys/class/net", "++ grep -v -e '^lo$' -e '^vnet$'", "+ for iface in $(ls /sys/class/net | grep -v -e ^lo$ -e ^vnet$)", "++ cat /sys/class/net/eno1/addr_assign_type", "+ local mac_addr_type=0", "+ '[' 0 '!=' 0 ']'", "++ cat /sys/class/net/eno1/carrier", "+ HAS_LINK=1", "+ TRIES=10", "+ '[' 1 == 0 -a 10 -gt 0 ']'", "+ '[' 1 == 1 ']'", "+ cat", "+ for iface in $(ls /sys/class/net | grep -v -e ^lo$ -e ^vnet$)", "++ cat /sys/class/net/eno2/addr_assign_type", "+ local mac_addr_type=0", "+ '[' 0 '!=' 0 ']'", "++ cat /sys/class/net/eno2/carrier", "+ HAS_LINK=1", "+ TRIES=10", "+ '[' 1 == 0 -a 10 -gt 0 ']'", "+ '[' 1 == 1 ']'", "+ cat", "++ ls /sys/class/net", "++ grep -v -e '^lo$' -e '^vnet$'", "+ for iface in $(ls /sys/class/net | grep -v -e ^lo$ -e ^vnet$)", "++ cat /sys/class/net/eno1/addr_assign_type", "+ local mac_addr_type=0", "+ '[' 0 '!=' 0 ']'", "++ cat /sys/class/net/eno1/carrier", "+ HAS_LINK=1", "+ TRIES=10", "+ '[' 1 == 0 -a 10 -gt 0 ']'", "+ '[' 1 == 1 ']'", "+ cat", "+ for iface in $(ls /sys/class/net | grep -v -e ^lo$ -e ^vnet$)", "++ cat /sys/class/net/eno2/addr_assign_type", "+ local mac_addr_type=0", "+ '[' 0 '!=' 0 ']'", "++ cat /sys/class/net/eno2/carrier", "+ HAS_LINK=1", "+ TRIES=10", "+ '[' 1 == 0 -a 10 -gt 0 ']'", "+ '[' 1 == 1 ']'", "+ cat", "+ for iface in $(ls /sys/class/net | grep -v -e ^lo$ -e ^vnet$)", "++ cat /sys/class/net/eno2v0/addr_assign_type", "+ local mac_addr_type=3", "+ '[' 3 '!=' 0 ']'", "+ echo 'Device has generated MAC, skipping.'", "+ for iface in $(ls /sys/class/net | grep -v -e ^lo$ -e ^vnet$)", "++ cat /sys/class/net/eno2v2/addr_assign_type", "+ local mac_addr_type=3", "+ '[' 3 '!=' 0 ']'", "+ echo 'Device has generated MAC, skipping.'", "+ for iface in $(ls /sys/class/net | grep -v -e ^lo$ -e ^vnet$)", "++ cat /sys/class/net/eno2v3/addr_assign_type", "+ local mac_addr_type=3", "+ '[' 3 '!=' 0 ']'", "+ echo 'Device has generated MAC, skipping.'", "+ for iface in $(ls /sys/class/net | grep -v -e ^lo$ -e ^vnet$)", "++ cat /sys/class/net/eno2v4/addr_assign_type", "+ local mac_addr_type=3", "+ '[' 3 '!=' 0 ']'", "+ echo 'Device has generated MAC, skipping.'", "+ for iface in $(ls /sys/class/net | grep -v -e ^lo$ -e ^vnet$)", "++ cat /sys/class/net/eno2v5/addr_assign_type", "+ local mac_addr_type=3", "+ '[' 3 '!=' 0 ']'", "+ HAS_LINK=1", "+ TRIES=10", "+ '[' 1 == 0 -a 10 -gt 0 ']'", "+ '[' 1 == 1 ']'", "+ cat", "+ set +e", "+ os-net-config -c /etc/os-net-config/dhcp_all_interfaces.yaml -v --detailed-exit-codes --cleanup", "[2019/10/17 03:04:13 AM] [INFO] Using config file at: /etc/os-net-config/dhcp_all_interfaces.yaml", "[2019/10/17 03:04:13 AM] [INFO] Ifcfg net config provider created.", "[2019/10/17 03:04:13 AM] [INFO] Not using any mapping file.", "[2019/10/17 03:04:13 AM] [INFO] Finding active nics", "[2019/10/17 03:04:13 AM] [INFO] eno2v7 is not an active nic", "[2019/10/17 03:04:13 AM] [INFO] eno2v5 is not an active nic", "[2019/10/17 03:04:13 AM] [INFO] eno3 is an embedded active nic", "[2019/10/17 03:04:13 AM] [INFO] eno2v3 is not an active nic", "[2019/10/17 03:04:13 AM] [INFO] eno1 is an embedded active nic", "[2019/10/17 03:04:13 AM] [INFO] lo is not an active nic", "[2019/10/17 03:04:13 AM] [INFO] eno2v6 is not an active nic", "[2019/10/17 03:04:13 AM] [INFO] eno4 is an embedded active nic", "[2019/10/17 03:04:13 AM] [INFO] eno2v4 is not an active nic", "[2019/10/17 03:04:13 AM] [INFO] eno2 is an embedded active nic", "[2019/10/17 03:04:13 AM] [INFO] eno2v2 is not an active nic", "[2019/10/17 03:04:13 AM] [INFO] eno2v0 is not an active nic", "[2019/10/17 03:04:13 AM] [INFO] eno2v1 is an embedded DPDK bound nic", "[2019/10/17 03:04:13 AM] [INFO] Active nics are ['eno1', 'eno2', 'eno2v1', 'eno3', 'eno4']", "[2019/10/17 03:04:13 AM] [INFO] nic2 mapped to: eno2", "[2019/10/17 03:04:13 AM] [INFO] nic5 mapped to: eno4", "[2019/10/17 03:04:13 AM] [INFO] nic3 mapped to: eno2v1", "[2019/10/17 03:04:13 AM] [INFO] nic1 mapped to: eno1", "[2019/10/17 03:04:13 AM] [INFO] nic4 mapped to: eno3", "[2019/10/17 03:04:13 AM] [INFO] adding interface: eno1", "[2019/10/17 03:04:13 AM] [INFO] adding interface: eno2", "[2019/10/17 03:04:13 AM] [INFO] adding interface: eno3", "[2019/10/17 03:04:13 AM] [INFO] adding interface: eno4", "[2019/10/17 03:04:13 AM] [INFO] applying network configs...", "[2019/10/17 03:04:13 AM] [INFO] running ifdown on interface: eno1", "[2019/10/17 03:04:13 AM] [INFO] interface eno1 is up, trying with ip command", "[2019/10/17 03:04:13 AM] [INFO] running ifdown on interface: eno2", "[2019/10/17 03:04:14 AM] [INFO] interface eno2 is up, trying with ip command", "[2019/10/17 03:04:14 AM] [INFO] running ifdown on interface: eno3", "[2019/10/17 03:04:14 AM] [INFO] interface eno3 is up, trying with ip command", "[2019/10/17 03:04:14 AM] [INFO] running ifdown on interface: eno4", "[2019/10/17 03:04:14 AM] [INFO] interface eno4 is up, trying with ip command", "[2019/10/17 03:04:14 AM] [INFO] Writing config /etc/sysconfig/network-scripts/ifcfg-eno1", "[2019/10/17 03:04:14 AM] [INFO] Writing config /etc/sysconfig/network-scripts/ifcfg-eno2", "[2019/10/17 03:04:14 AM] [INFO] Writing config /etc/sysconfig/network-scripts/ifcfg-eno3", "[2019/10/17 03:04:14 AM] [INFO] Writing config /etc/sysconfig/network-scripts/ifcfg-eno4", "[2019/10/17 03:04:14 AM] [INFO] running ifup on interface: eno1", "[2019/10/17 03:04:45 AM] [INFO] running ifup on interface: eno2", "[2019/10/17 03:05:16 AM] [INFO] running ifup on interface: eno3", "[2019/10/17 03:05:30 AM] [INFO] running ifup on interface: eno4", "[2019/10/17 03:05:36 AM] [ERROR] Failure(s) occurred when applying configuration", "[2019/10/17 03:05:36 AM] [ERROR] stdout: ", "Determining IP information for eno1... failed.", ", stderr: WARN : [ifup] You are using 'ifup' script provided by 'network-scripts', which are now deprecated.", "WARN : [ifup] 'network-scripts' will be removed in one of the next major releases of RHEL.", "WARN : [ifup] It is advised to switch to 'NetworkManager' instead - it provides 'ifup/ifdown' scripts as well.", "", "[2019/10/17 03:05:36 AM] [ERROR] stdout: ", "Determining IP information for eno2... failed.", ", stderr: WARN : [ifup] You are using 'ifup' script provided by 'network-scripts', which are now deprecated.", "WARN : [ifup] 'network-scripts' will be removed in one of the next major releases of RHEL.", "WARN : [ifup] It is advised to switch to 'NetworkManager' instead - it provides 'ifup/ifdown' scripts as well.", "", "Traceback (most recent call last):", " File \"/bin/os-net-config\", line 10, in <module>", " sys.exit(main())", " File \"/usr/lib/python3.6/site-packages/os_net_config/cli.py\", line 343, in main", " activate=not opts.no_activate)", " File \"/usr/lib/python3.6/site-packages/os_net_config/impl_ifcfg.py\", line 1711, in apply", " raise os_net_config.ConfigurationError(message)", "os_net_config.ConfigurationError: Failure(s) occurred when applying configuration", "+ RETVAL=1", "+ set -e", "+ [[ 1 != 2 ]]", "+ echo 'ERROR: configuration of safe defaults failed.'" ], "failed_when_result": true } network configs: - type: sriov_pf name: eno2 mtu: 9000 numvfs: 8 use_dhcp: false defroute: false nm_controlled: true hotplug: true - type: sriov_vf vfid: 2 vlan_id: get_param: InternalApiNetworkVlanID device: eno2 addresses: - ip_netmask: get_param: InternalApiIpSubnet - type: sriov_vf vfid: 3 vlan_id: get_param: StorageNetworkVlanID device: eno2 addresses: - ip_netmask: get_param: StorageIpSubnet - type: ovs_user_bridge name: br-tenant use_dhcp: false addresses: - ip_netmask: get_param: TenantIpSubnet ovs_extra: - str_replace: template: set port br-tenant tag=_VLAN_TAG_ params: _VLAN_TAG_: get_param: TenantNetworkVlanID members: - type: ovs_dpdk_port name: dpdk-tenant-port members: - type: sriov_vf device: eno2 vfid: 1 Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
Workaround: In overcloud image, need to set time delay around 5 seconds in os_net_config sriov_config.py file. /usr/lib/python3.6/site-packages/os_net_config/sriov_config.py def configure_sriov_vf(): time.sleep(5) sriov_map = _get_sriov_map() for item in sriov_map: if item['device_type'] == 'vf': pf_name = item['device']['name'] vfid = item['device']['vfid'] base_cmd = ('ip', 'link', 'set', 'dev', pf_name, 'vf', str(vfid)) logger.info("Configuring settings for PF: %s VF :%d VF name : %s" % (pf_name, vfid, item['name'])) if 'macaddr' in item: cmd = base_cmd + ('mac', item['macaddr']) run_ip_config_cmd(*cmd) if 'vlan_id' in item: vlan_cmd = base_cmd + ('vlan', str(item['vlan_id'])) if 'qos' in item: vlan_cmd = vlan_cmd + ('qos', str(item['qos'])) run_ip_config_cmd(*vlan_cmd) if 'spoofcheck' in item: cmd = base_cmd + ('spoofchk', item['spoofcheck']) run_ip_config_cmd(*cmd) if 'state' in item: cmd = base_cmd + ('state', item['state']) run_ip_config_cmd(*cmd) if 'trust' in item: cmd = base_cmd + ('trust', item['trust']) run_ip_config_cmd(*cmd) if 'promisc' in item: run_ip_config_cmd('ip', 'link', 'set', 'dev', item['name'], 'promisc', item['promisc'])
Yariv, This is on Intel cards
Sanjay Can you please check if this is still reproducible ?
(In reply to Karthik Sundaravel from comment #11) > Sanjay > > Can you please check if this is still reproducible ? Karthik, Can you please share templates to actually recreate the issue? I am guessing this is spoofcheck off on nic partitioned VF? Also please share which release you were testing
Sanjay, Its basic nic partitioning templates on OSP16. I am not sure of the puddle we noticed this behaviour.
I verified it and it is working. I edited /etc/os-net-config/config.json and set spoofcheck: [{"device": "nic11", "type": "sriov_vf", "spoofcheck": true, "vfid": 2, "vlan_id": 121}] I executed: os-net-config -c /etc/os-net-config/config.json -v --detailed-exit-codes I didnt get any error [2020/10/05 02:09:57 PM] [INFO] Configuring settings for PF: enp4s0f0 VF :2 VF name : enp4s0f0v2 [2020/10/05 02:09:57 PM] [INFO] Running ip link set dev enp4s0f0 vf 2 vlan 121 [2020/10/05 02:09:57 PM] [INFO] Running ip link set dev enp4s0f0 vf 2 max_tx_rate 0 [2020/10/05 02:09:57 PM] [INFO] Running ip link set dev enp4s0f0 vf 2 min_tx_rate 0 [2020/10/05 02:09:57 PM] [INFO] Running ip link set dev enp4s0f0 vf 2 spoofchk on [2020/10/05 02:09:57 PM] [INFO] Running ip link set dev enp4s0f0 vf 2 trust on vf 2 link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff, vlan 121, spoof checking on, link-state auto, trust on, query_rss off later i modified againg and set off, and executed the script and disabled it, so it is working Using RHOS-16.1-RHEL-8-20200930.n.0
verified with os-net-config-11.3.2-0.20200804083433.f49ab16.el8ost.noarch RHOS-16.1-RHEL-8-20200930.n.0
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Red Hat OpenStack Platform 16.1 bug fix and enhancement advisory), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHEA-2020:4284