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 the VIOS and or upgrading VIO Servers.
Applies to
All Versions and Systems
Procedure
The error message in the current_TopoPersist.log should look like similar to the following:
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
Hint: The TopoPersist will fail at the first occurence of the event: Cannot persist physical volume 01MkMwMzMDUyYzDEwMUzMDADAwMDAMTwMyNTM4jAyMAxNjAzNDMzMzQW52bWU= because LC is missing and volume is NOT an iSCSI volume
In multi VIOS environments this could mean, that there is more than one disk with a missing location code in the environment related to the reporting HMC. Therefore you need to check further.
Further Checks:
First of we need the topology data, which can be checked here:
C:\ProgramData\SVA\BVQ\bvq-server\data\scanner-data\POWERVM\HMC\topology\done
or via the full support package.
Now we need to look for the following file in the topology data: de.sva.bvq.powervm.model.VirtualIOServer.json
This file shows the VIOS information collected from the HMC.
You know need to search for the required information as follows:
We recommend converting the JSON into a pretty print format in the editor of your choice, as this is way more human readable, than the single line JSON provided by the HMC API call
Search for the following statement: "locationCode": null you will also find the volumeName close by
Scroll up in the JSON file until you find the name of the VIOS partitionName which the specific disk belongs to
Depending on how many findings you have (step 2) you need to repeat this step and the following one multiple times
Go to the VIOS system and run the cfgmgr command, which will check the configuration of the VIOS again
Execute the script provided by IBM
on the VIOS with the missing location code