When trying to deploy the MAR file that contains a virtual service, was facing the error Unable to load file: $lisatmp_dir/lads/.../<ProjectName>/VirtualServices/<VSMName.vsm>.
The MAR file is created using the command line utility Make Mar.
The issue was caused because the project name was modified and the MARInfo file wasn't updated accordingly.
The structure of a MARInfo file for a VSM is basically the following:
<?xml version="1.0" ?>
<MarInfo>
<name>DatabaseModel</name>
<type>VIRTUAL_SERVICE</type>
<optimized>true</optimized>
<deployInfo>
<PrimaryAsset>VServices/DatabaseModel.vsm</PrimaryAsset>
<Configuration>Configs/project.config</Configuration>
<ConcurrentCapacity>1</ConcurrentCapacity>
<ThinkTimePercent>100</ThinkTimePercent>
<AutoRestart>true</AutoRestart>
</deployInfo>
</MarInfo>
This above structure will change based on how a MARI file was created, i.e. from a test case, a test suite or a virtual service.
You can modify the MARI file using DevTest Workstation and also using a text editor. However, there is no feature to validate the manually modified MARInfo file.
Make sure the MARI file has the correct asset information. For example: correct path, name to the VSM and config file.
Update the MARInfo file with the correct virtual service and project name.
Creating MARInfo file using Workstation - Refer to the section Create MAR Info Files in the documentation of the DevTest release you are running
Editing MARInfo file using Workstation - Refer to the section Edit Mar Info Files in the documentation of the DevTest release you are running