Bug 2124474

Summary: os-net-config configuration failes because of missing driverctl package (predeployed-hosts)
Product: Red Hat OpenStack Reporter: pkomarov
Component: tripleo-ansibleAssignee: OSP Team <rhos-maint>
Status: CLOSED DUPLICATE QA Contact: Joe H. Rahme <jhakimra>
Severity: high Docs Contact:
Priority: high    
Version: 16.2 (Train)CC: owalsh
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-09-09 12:54:48 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description pkomarov 2022-09-06 09:22:50 UTC
Description of problem:
os-net-config configuration failes because of missing driverctl package

when using : OSP Role: ComputeOvsDpdk with a hybrid setup : 
ENV : hybrid- 1BM with 3 controller vms + 2 BM computes setup installed via osp operator

link to roles used : https://github.com/openstack-k8s-operators/osp-director-dev-tools/pull/408/files

OSP deployment fails with : 

2022-09-04 11:12:11.445304 | 0a580a82-011a-93d6-db6c-000000000060 |     TIMING | tripleo-network-config : NetworkConfig stdout | computeovsdpdk-0 | 0:09:54.223162 | 0.08s
2022-09-04 11:12:11.447481 | 0a580a82-011a-93d6-db6c-000000000060 |      FATAL | NetworkConfig stdout | computeovsdpdk-1 | error={
    "NetworkConfig_result.stderr_lines": [
        "+ disable_configure_safe_defaults=true",
        "+ '[' -n '{\"network_config\": [{\"addresses\": [{\"ip_netmask\": \"172.22.0.104/24\"}], \"dns_servers\": [\"172.22.0.1\"], \"domain\": [\"osptest.test.metalkube.org\", \"test.metalkube.org\"], \"mtu\": 1
500, \"name\": \"ens1f2\", \"routes\": [{\"default\": true, \"next_hop\": \"172.22.0.1\"}], \"type\": \"interface\", \"use_dhcp\": false}, {\"defroute\": false, \"name\": \"ens1f0\", \"type\": \"interface\", \"use
_dhcp\": false}, {\"members\": [{\"mtu\": 9000, \"name\": \"ens1f1\", \"primary\": true, \"type\": \"interface\"}, {\"addresses\": [{\"ip_netmask\": \"172.18.0.15/24\"}], \"mtu\": 9000, \"routes\": [], \"type\": \
"vlan\", \"vlan_id\": 30}, {\"addresses\": [{\"ip_netmask\": \"172.17.0.15/24\"}], \"mtu\": 1500, \"routes\": [], \"type\": \"vlan\", \"vlan_id\": 20}, {\"addresses\": [{\"ip_netmask\": \"172.20.0.14/24\"}], \"mtu
\": 9000, \"routes\": [], \"type\": \"vlan\", \"vlan_id\": 50}], \"mtu\": 9000, \"name\": \"br-tenant\", \"type\": \"ovs_bridge\", \"use_dhcp\": false}, {\"members\": [{\"members\": [{\"mtu\": 1500, \"name\": \"en
s1f3\", \"primary\": true, \"type\": \"interface\", \"use_dhcp\": false}], \"name\": \"dpdk0\", \"type\": \"ovs_dpdk_port\"}], \"mtu\": 1500, \"name\": \"bridge_name\", \"type\": \"ovs_user_bridge\", \"use_dhcp\":
 false}]}' ']'",
        "+ '[' -z true ']'",
        "++ date +%Y-%m-%dT%H:%M:%S",
        "+ DATETIME=2022-09-04T07:12:07",
        "+ '[' -f /etc/os-net-config/config.json ']'",
        "+ mkdir -p /etc/os-net-config",
        "+ echo '{\"network_config\": [{\"addresses\": [{\"ip_netmask\": \"172.22.0.104/24\"}], \"dns_servers\": [\"172.22.0.1\"], \"domain\": [\"osptest.test.metalkube.org\", \"test.metalkube.org\"], \"mtu\": 150
0, \"name\": \"ens1f2\", \"routes\": [{\"default\": true, \"next_hop\": \"172.22.0.1\"}], \"type\": \"interface\", \"use_dhcp\": false}, {\"defroute\": false, \"name\": \"ens1f0\", \"type\": \"interface\", \"use_d
hcp\": false}, {\"members\": [{\"mtu\": 9000, \"name\": \"ens1f1\", \"primary\": true, \"type\": \"interface\"}, {\"addresses\": [{\"ip_netmask\": \"172.18.0.15/24\"}], \"mtu\": 9000, \"routes\": [], \"type\": \"v
lan\", \"vlan_id\": 30}, {\"addresses\": [{\"ip_netmask\": \"172.17.0.15/24\"}], \"mtu\": 1500, \"routes\": [], \"type\": \"vlan\", \"vlan_id\": 20}, {\"addresses\": [{\"ip_netmask\": \"172.20.0.14/24\"}], \"mtu\"
: 9000, \"routes\": [], \"type\": \"vlan\", \"vlan_id\": 50}], \"mtu\": 9000, \"name\": \"br-tenant\", \"type\": \"ovs_bridge\", \"use_dhcp\": false}, {\"members\": [{\"members\": [{\"mtu\": 1500, \"name\": \"ens1
f3\", \"primary\": true, \"type\": \"interface\", \"use_dhcp\": false}], \"name\": \"dpdk0\", \"type\": \"ovs_dpdk_port\"}], \"mtu\": 1500, \"name\": \"bridge_name\", \"type\": \"ovs_user_bridge\", \"use_dhcp\": f
alse}]}'",
        "++ type -t network_config_hook",
        "+ '[' '' = function ']'",
        "+ sed -i 's/: \"bridge_name/: \"br-ex/g' /etc/os-net-config/config.json",
        "+ sed -i s/interface_name/nic3/g /etc/os-net-config/config.json",
        "+ set +e",
        "+ os-net-config -c /etc/os-net-config/config.json -v --detailed-exit-codes",
        "[2022/09/04 07:12:07 AM] [INFO] Using config file at: /etc/os-net-config/config.json",
        "[2022/09/04 07:12:07 AM] [INFO] Ifcfg net config provider created.",
        "[2022/09/04 07:12:07 AM] [INFO] Not using any mapping file.",
        "[2022/09/04 07:12:07 AM] [INFO] Finding active nics",
[..]

        "[2022/09/04 07:12:07 AM] [INFO] adding ovs dpdk port: dpdk0",
        "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",
        "    provider.add_object(obj)",
        "  File \"/usr/lib/python3.6/site-packages/os_net_config/__init__.py\", line 70, in add_object",
        "    self.add_object(member)",
        "  File \"/usr/lib/python3.6/site-packages/os_net_config/__init__.py\", line 102, in add_object",
        "    self.add_ovs_dpdk_port(obj)",
        "  File \"/usr/lib/python3.6/site-packages/os_net_config/impl_ifcfg.py\", line 953, in add_ovs_dpdk_port",
        "    utils.bind_dpdk_interfaces(ifname, ovs_dpdk_port.driver, self.noop)",
        "  File \"/usr/lib/python3.6/site-packages/os_net_config/utils.py\", line 292, in bind_dpdk_interfaces",
        "    err = common.set_driverctl_override(pci_address, driver)",
        "  File \"/usr/lib/python3.6/site-packages/os_net_config/common.py\", line 87, in set_driverctl_override",
        "    pci_address, driver)",
        "  File \"/usr/lib/python3.6/site-packages/oslo_concurrency/processutils.py\", line 398, in execute",
        "    env=env_variables)",
        "  File \"/usr/lib64/python3.6/subprocess.py\", line 729, in __init__",
        "    restore_signals, start_new_session)",
        "  File \"/usr/lib64/python3.6/subprocess.py\", line 1364, in _execute_child",
        "    raise child_exception_type(errno_num, err_msg, err_filename)",
        "FileNotFoundError: [Errno 2] No such file or directory: 'driverctl': 'driverctl'",
        "+ RETVAL=1",
        "+ set -e",
        "+ [[ 1 == 2 ]]",
        "+ [[ 1 != 0 ]]",
        "+ echo 'ERROR: os-net-config configuration failed.'",
        "ERROR: os-net-config configuration failed.",
        "+ exit 1"
    ],
Version-Release number of selected component (if applicable):

Comment 1 Ollie Walsh 2022-09-09 12:54:48 UTC

*** This bug has been marked as a duplicate of bug 2124473 ***