PowerVM Topology Scan fails due to missing location code in VIOS DB

About this task

Topology Persist fails due to missing location code of a volume in the VIOS DB.
This problem often takes place after rebooting or upgrading VIO Servers.

Note:
TopoPersist will fail as soon as it hits the first issue.
This means, there might be more VIOs and more disks with the same issue that need to be fixed before persist of the data will be successful!

Applies to

All BVQ Versions and PVM Systems

Procedure

The error message in the current_TopoPersist.log will look similar to the following ( BVQ Scanner ) or
C:\ProgramData\SVA\BVQ\bvq-server\data\scanner-data\POWERVM\<scanner_name>\logs\done

LC is missing and volume is NOT an iSCSI volume
2024-07-10T15:02:30,770 ERROR [PersistExecutor_1]: Error during command execution [HMC] [TopoPersist] (BaseJobExecutor) de.sva.bvq.exception.BvqScanException: Cannot persist physical volume 01MkMwMzMDUyYzDEwMUzMDADAwMDAMTwMyNTM4jAyMAxNjAzNDMzMzQW52bWU= because LC is missing and volume is NOT an iSCSI volume at de.sva.bvq.persister.powervm.commands.PersistPhysicalVolumesCommand.detectLocationCode(PersistPhysicalVolumesCommand.java:89) ~[bvq-powervm-persist-2023.H2.5.jar!/:?] at de.sva.bvq.persister.powervm.commands.PersistPhysicalVolumesCommand.mapToPhysicalVolumeToVirtualIoServer(PersistPhysicalVolumesCommand.java:67) ~[bvq-powervm-persist-2023.H2.5.jar!/:?] at de.sva.bvq.persister.powervm.commands.PersistPhysicalVolumesCommand.executeCommand(PersistPhysicalVolumesCommand.java:46) ~[bvq-powervm-persist-2023.H2.5.jar!/:?] at de.sva.bvq.persister.powervm.commands.AbstractPersistPowerVmCommand.execute(AbstractPersistPowerVmCommand.java:51) ~[bvq-powervm-persist-2023.H2.5.jar!/:?] at de.sva.bvq.persister.powervm.commands.AbstractPersistPowerVmCommand.execute(AbstractPersistPowerVmCommand.java:29) ~[bvq-powervm-persist-2023.H2.5.jar!/:?] at de.sva.bvq.persister.jobs.BaseJobExecutor.executeCommand(BaseJobExecutor.java:280) ~[bvq-one-persister-2023.H2.5.jar!/:?] at de.sva.bvq.persister.jobs.BaseJobExecutor.executeCommands(BaseJobExecutor.java:300) ~[bvq-one-persister-2023.H2.5.jar!/:?] at de.sva.bvq.persister.jobs.BaseJobExecutor.executeJobInternal(BaseJobExecutor.java:173) ~[bvq-one-persister-2023.H2.5.jar!/:?] at de.sva.bvq.persister.jobs.AbstractTrackingProgressJobExecutor.workOnQueue(AbstractTrackingProgressJobExecutor.java:120) ~[bvq-one-persister-2023.H2.5.jar!/:?] at de.sva.bvq.persister.jobs.AbstractTrackingProgressJobExecutor.lambda$executeJob$0(AbstractTrackingProgressJobExecutor.java:90) ~[bvq-one-persister-2023.H2.5.jar!/:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?] at java.lang.Thread.run(Thread.java:840) [?:?] 2024-07-10T15:02:30,770 ERROR [PersistExecutor_1]: Command [de.sva.bvq.jobexecution.commands.CommandExecution@3f6ad68c] failed, failing job-execution [Fe0HMC30] [TopoPersist] (BaseJobExecutor)

Solution

To find the problematic volumes and to fix the problem, please analyze the latest topology file which can be found here:

C:\ProgramData\SVA\BVQ\bvq-server\data\scanner-data\POWERVM\<scanner_name>\topology\error\
or collect a full support package.

Steps:

  1. Unzip the topology file and open file de.sva.bvq.powervm.model.VirtualIOServer.json.
    This file shows the VIOS information collected from the HMC.
    Convert the JSON file using Notepad++ and a JSON plugin.

    2024-09-30 14_48_51-Bearbeiten - PowerVM Topology Scan fails due to missing location code in VIOS DB.png



  2. Fold all

    2024-09-30 14_49_55-Find.png

  3. There is only 1 foldable Textblock left
    Search for the uniqueDeviceID, which was already displayed in the log above:
    ”Cannot persist physical volume 01MkMwMzMDUyYzDEwMUzMDADAwMDAMTwMyNTM4jAyMAxNjAzNDMzMzQW52bWU=

  4. You have found the correct volume, as you can see the volume infos are now unfolded, as is the info of the corresponding VIO
    You can see:
    "uniqueDeviceID" - of the volume
    "volumeName" - of the volume
    "locationCode" - internal disk location → null is problematical
    ”partitionName" - affected VIOS system

     

  5. Log on to the affected VIOS system and run cfgmgr to re-check the configuration of the VIOS
    Execute the script on the VIOS.
    Important: These are very profound changes! Only execute this script on HA tested Systems!

 

 

  1. Check with “lscfg -vl hdiskX” if the volume is now showing a location code.
    Repeat the procedure for all affected VIOS.
    As soon as all hdisks are fixed, the topo persist should succeed.