Recently during a workflow I was using the Set Vol State command and encountered a bug where it would return with "Volume [volume variable] not found", even though the volume exists on the specified array and it was found in the MySQL database. After doing some testing in the Powershell ISE I found that the Get-NaVol command was not returning with the volume. Does anyone know what the cause of this is?
No definitely not a credentials issue. I can use the Get-NaVol cmdlet to see other volumes on the array, even other volumes on the same vFiler, but when it comes to this particular volume it doesn't exist according to the cmdlet.
If I understand the use case correctly, the problem is that setting a volume state fails on occasion because the volume doesn't exist in the controller but the workflow passed preview due to the volume being in the cache? Is it possible that the volume had been removed outside of WFA but Unified Manager had not removed it and therefore the cache had not updated? I have seen this where WFA is used for part of the work but not all and someone outside WFA 'makes a change'
No, not quite. In my workflow I have a command to check that any LUNs on the volume are not mapped before I offline the volume. This command ran successfully but it failed when it tried to change the volume state. I checked the filer via Putty and the volume still existed and was still online but when I used Get-Navol with the -Name switch and the volume name in a Powershell ISE window it returned null. The volume existed on the filer but the Get-NaVol command did not return with the value. I was wondering if there is an issue with the API or something that could cause this glitch.
Is this failing consistently or randomly? I saw that one of your previous posts indicated that other volumes are found but it seems that just this volume fails. If you run the Get-NaVol with no name switch, does the volume return? I wonder if there is any difference in the state,options,or configuration of that volume than the others. I am curious if you saw this post from a few months ago in another part of the communities. The OP in the PowerShell Toolkit forum was having a very similar problem. The suggestion was to try the -Terse option.