Uploaded image for project: 'OpenShift Bugs'
  1. OpenShift Bugs
  2. OCPBUGS-14154

bf2-switch-mode.sh fails to apply changes

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done-Errata
    • Icon: Major Major
    • None
    • 4.14
    • Networking / SR-IOV
    • None
    • No
    • 5
    • NHE Sprint 237
    • 1
    • False
    • Hide

      None

      Show
      None

      Description of problem:

      When enabling hardware offload in NIC mode, bf2-switch-mode.sh is run to switch the nic into NIC mode. The changes are made via mstconfig, and then applied by rebooting the nic with mstfwreset(). This command is failing with the following error message:

       

      May 24 18:21:56 worker-225 bash[8026]: Switching to NIC mode.                                                                                                             [17/1481]
      May 24Failed to find catalog entry: Invalid argument
       18:21:56 worker-225 bash[8026]: Device #1:                                                                                                                                       
      May 24 18:21:56 worker-225 bash[8026]: ----------                                                                                                                                 
      May 24 18:21:56 worker-225 bash[8026]: Device type:    BlueField2                                                                                                                 
      May 24 18:21:56 worker-225 bash[8026]: Name:           MBF2H332A-AEEO_Ax_Bx                                                                                                       
      May 24 18:21:56 worker-225 bash[8026]: Description:    BlueField-2 P-Series DPU 25GbE Dual-Port SFP56; PCIe Gen4 x8; Crypto Enabled; 16GB on-board DDR; 1GbE OOB management; HHHL 
      May 24 18:21:56 worker-225 bash[8026]: Device:         0000:ca:00.0                                                                                                               
      May 24 18:21:56 worker-225 bash[8026]: Configurations:                              Next Boot       New                                                                           
      May 24 18:21:56 worker-225 bash[8026]:          INTERNAL_CPU_MODEL                  EMBEDDED_CPU(1) EMBEDDED_CPU(1)                                                               
      May 24 18:21:56 worker-225 bash[8026]:          INTERNAL_CPU_PAGE_SUPPLIER          ECPF(0)         EXT_HOST_PF(1)                                                                
      May 24 18:21:56 worker-225 bash[8026]:          INTERNAL_CPU_ESWITCH_MANAGER        ECPF(0)         EXT_HOST_PF(1)                                                                
      May 24 18:21:56 worker-225 bash[8026]:          INTERNAL_CPU_IB_VPORT0              ECPF(0)         EXT_HOST_PF(1)                                                                
      May 24 18:21:56 worker-225 bash[8026]:          INTERNAL_CPU_OFFLOAD_ENGINE         ENABLED(0)      DISABLED(1)                                                                   
      May 24 18:21:56 worker-225 bash[8026]:  Apply new Configuration? (y/n) [n] : y                                                                                                    
      May 24 18:21:56 worker-225 bash[8026]: Applying... Done!
      May 24 18:21:56 worker-225 bash[8026]: -I- Please reboot machine to load new configurations.                                                                                      
      May 24 18:21:56 worker-225 bash[8026]: Minimal reset level for device, 0000:ca:00.0:
      May 24 18:21:56 worker-225 bash[8026]: 3: Driver restart and PCI reset                                                                                                            
      May 24 18:21:56 worker-225 bash[8026]: Continue with reset?[y/N] y
      May 24 18:21:56 worker-225 bash[8026]: Failed
      May 24 18:21:56 worker-225 bash[8026]: -E- failed to run 'setpci -s 0000:c9:02.0 0x0.w'.
      May 24 18:21:56 worker-225 bash[8026]: time="2023-05-24T18:21:56Z" level=fatal msg="execing command in container: command terminated with exit code 1"                            
      May 24 18:21:56 worker-225 sudo[7523]: pam_unix(sudo:session): session closed for user root                                                                                       
      May 24 18:21:56 worker-225 systemd[1]: Finished Switch BlueField2 card to NIC/DPU mode.
      May 24 18:21:56 worker-225 systemd[1]: session-c1.scope: Deactivated successfully.
      May 24 18:21:56 worker-225 systemd[1]: Reached target Multi-User System.
      May 24 18:21:56 worker-225 systemd[1]: Reached target Graphical Interface.
      May 24 18:21:56 worker-225 systemd[1]: Afterburn (Check In) was skipped because no trigger condition checks were met.                                                             
      May 24 18:21:56 worker-225 systemd[1]: Afterburn (Firstboot Check In) was skipped because of an unmet condition check (ConditionFirstBoot=yes).                                   
      May 24 18:21:56 worker-225 systemd[1]: Starting Record Runlevel Change in UTMP...
      May 24 18:21:56 worker-225 systemd[1]: systemd-update-utmp-runlevel.service: Deactivated successfully.                                                                            
      May 24 18:21:56 worker-225 systemd[1]: Finished Record Runlevel Change in UTMP.
      May 24 18:21:56 worker-225 systemd[1]: Startup finished in 1.711s (kernel) + 9.102s (initrd) + 2min 31.545s (userspace) = 2min 42.359s. 
       
      

      In previous versions of the bf firmware, we would recover from this failure, as the node would be rebooted at some point in the process and apply the changes. However, with the newest firmware update (5/18/2023) changes are not being applied on reboot and require mstfwreset() succeed, which results in the nodes getting stuck in a boot loop when the sriov pool is applied.

      This results in switchdev-configuration-before-nm.service failing

      Version-Release number of selected component (if applicable):

       

      How reproducible:

      Every time

      Steps to Reproduce:

      1. Install an OCP cluster w/ BF2 in default state
      2. Install Sriov Network Operator
      3. Enable hw-offload (apply sriov-workload-node-policy, management policy, sriov pool config, nad)

       

      Actual results:

      Failed Units: 2                                                                                                                                                                    
        NetworkManager-wait-online.service                                                                                                                                              
        switchdev-configuration-before-nm.service  
      
      
      
      [root@worker-225 /]# python get_mode                                                                                                                                              
      nic                                                                                                                                                                               
      [root@worker-225 /]# mstconfig -e -d 0000:ca:00.0 q                                                                                                                               
                                                                                                                                                                                        
      Device #1:                                                                                                                                                                        
      ----------                                                                                                                                                                        
                                                                                                                                                                                        
      Device type:    BlueField2                                                                                                                                                        
      Name:           MBF2H332A-AEEO_Ax_Bx                                                                                                                                              
      Description:    BlueField-2 P-Series DPU 25GbE Dual-Port SFP56; PCIe Gen4 x8; Crypto Enabled; 16GB on-board DDR; 1GbE OOB management; HHHL                                        
      Device:         0000:ca:00.0                                                                                                                                                      
                                                                                                                                                                                        
      Configurations:                              Default         Current         Next Boot                                                                                            
               MEMIC_BAR_SIZE                      0               0               0                                                                                                    
               MEMIC_SIZE_LIMIT                    _256KB(1)       _256KB(1)       _256KB(1)                                                                                            
               HOST_CHAINING_MODE                  DISABLED(0)     DISABLED(0)     DISABLED(0)                                                                                          
               HOST_CHAINING_CACHE_DISABLE         False(0)        False(0)        False(0)                                                                                             
               HOST_CHAINING_DESCRIPTORS           Array[0..7]     Array[0..7]     Array[0..7]                                                                                          
               HOST_CHAINING_TOTAL_BUFFER_SIZE     Array[0..7]     Array[0..7]     Array[0..7]                                                                                          
               INTERNAL_CPU_MODEL                  EMBEDDED_CPU(1) EMBEDDED_CPU(1) EMBEDDED_CPU(1)                                                                                      
      *        INTERNAL_CPU_PAGE_SUPPLIER          ECPF(0)         ECPF(0)         EXT_HOST_PF(1)                                                                                       
      *        INTERNAL_CPU_ESWITCH_MANAGER        ECPF(0)         ECPF(0)         EXT_HOST_PF(1)                                                                                       
      *        INTERNAL_CPU_IB_VPORT0              ECPF(0)         ECPF(0)         EXT_HOST_PF(1)                                                                                       
      *        INTERNAL_CPU_OFFLOAD_ENGINE         ENABLED(0)      ENABLED(0)      DISABLED(1) 

      Expected results:

      [root@worker-225 /]# mstconfig -e -d 0000:ca:00.0 q                                                                                                                                
                                                                                                                                                                                        
      Device #1:                                                                                                                                                                        
      ----------                                                                                                                                                                        
                                                                                                                                                                                         
      Device type:    BlueField2                                                                                                                                                        
      Name:           MBF2H332A-AEEO_Ax_Bx                                                                                                                                              
      Description:    BlueField-2 P-Series DPU 25GbE Dual-Port SFP56; PCIe Gen4 x8; Crypto Enabled; 16GB on-board DDR; 1GbE OOB management; HHHL                                        
      Device:         0000:ca:00.0                                                                                                                                                      
                                                                                                                                                                                        
      Configurations:                              Default         Current         Next Boot                                                                                            
               MEMIC_BAR_SIZE                      0               0               0                                                                                                    
               MEMIC_SIZE_LIMIT                    _256KB(1)       _256KB(1)       _256KB(1)                                                                                            
               HOST_CHAINING_MODE                  DISABLED(0)     DISABLED(0)     DISABLED(0)                                                                                          
               HOST_CHAINING_CACHE_DISABLE         False(0)        False(0)        False(0)                                                                                             
               HOST_CHAINING_DESCRIPTORS           Array[0..7]     Array[0..7]     Array[0..7]                                                                                          
               HOST_CHAINING_TOTAL_BUFFER_SIZE     Array[0..7]     Array[0..7]     Array[0..7]                                                                                          
               INTERNAL_CPU_MODEL                  EMBEDDED_CPU(1) EMBEDDED_CPU(1) EMBEDDED_CPU(1)                                                                                      
      *        INTERNAL_CPU_PAGE_SUPPLIER          ECPF(0)         EXT_HOST_PF(1)  EXT_HOST_PF(1)                                                                                       
      *        INTERNAL_CPU_ESWITCH_MANAGER        ECPF(0)         EXT_HOST_PF(1)  EXT_HOST_PF(1)                                                                                        
      *        INTERNAL_CPU_IB_VPORT0              ECPF(0)         EXT_HOST_PF(1)  EXT_HOST_PF(1)                                                                                        
      *        INTERNAL_CPU_OFFLOAD_ENGINE         ENABLED(0)      DISABLED(1)     DISABLED(1)   

      Additional info:

       

              sdaniele@redhat.com Salvatore Daniele
              sdaniele@redhat.com Salvatore Daniele
              Ying Wang Ying Wang
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Created:
                Updated:
                Resolved: