vchrisb / Isilon-POSH

EMC Isilon Platform API implementation in PowerShell
MIT License
25 stars 13 forks source link

Send-isiAPI : path not found #5

Open mknirk opened 8 years ago

mknirk commented 8 years ago

IsilonPlatform Module v8 is returning this error after running several commands. I grabbed the module version 1.3.5 and I'm not seeing the same error and the commands are working just fine.
Isilon Cluster version 7.2.0.2 PowerShell version: 4 and 5 Commands erroring: get-isiZones, get-isiClusterIdentity, get-isiJobs Working commands: get-isiSmbOpenFiles, get-isiQuotas, get-isiSnapshots

All of the error messages are the Send-isiAPI: path not found referring to the $ISIObject=line. All of them report the same char:17 as the error point on the line. I'll happily provide any information you need.

Send-isiAPI : path not found At C:\Program Files\WindowsPowerShell\Modules\IsilonPlatform\Functions\IsilonPlatformGet.ps1:4591 char:17

vchrisb commented 8 years ago

I looked into it. It is not directly a bug, but rather a bad design I've chosen, which should be enhanced. OneFS introduces newer API endpoint version with newer OneFS releases. For example the zone API endpoint has two versions /platform/3/zones and /platform/1/zones. The v3 version is only available with OneFS 8.0 and newer.

I made the (not very good) decision to default to the latest API version with the"base" command and add for each earlier API version its own cmdlet: get-isiZones uses /platform/3/zones and get-isiZonesv1 uses /platform/1/zones, which is compatible with earlier versions of OneFS.

I'm thinking of checking the supported API version before issuing a call. So in the end there should only be one get-isiZones cmdlet supporting all API versions.