Removing Storage Providers via PowerCLI

User Guides for VMware Solutions

Audience
Public
Content Type
User Guides
Source Type
Documentation

Here is the workflow to remove storage providers with PowerShell via PowerCLI:

  1. After connecting to the vCenter Server, find the storage provider and storage provider ID that needs to be removed and set a provider variable.
    
    PS /Users/alex.carver> Get-VasaProvider | Where-Object {$_.Namespace -eq 'com.purestorage'} | Select-Object Name,Id
    
    Name                 Id
    ----                 --
    sn1-x70-b05-33-ct0   VasaProvider-vasaProvider-3
    sn1-x70-c05-33-ct0   VasaProvider-vasaProvider-7
    sn1-m20r2-c05-36-ct0 VasaProvider-vasaProvider-5
    
    PS /Users/alex.carver> $provider = Get-VasaProvider -Id VasaProvider-vasaProvider-7
    PS /Users/alex.carver> $provider
    
    Name                 Status       VasaVersion LastSyncTime           Namespace            Url
    ----                 ------       ----------- ------------           ---------            ---
    sn1-x70-c05-33-ct0   online       3.0         11/5/2020 5:06:10 PM   com.purestorage      https://10.21.149.22:8084
    
  2. Remove the storage provider with Remove-VASAProvider with the provider variable.
    
    PS /Users/alex.carver> Remove-VasaProvider -Provider $provider -confirm:$false
    PS /Users/alex.carver>
    
  3. Remove the same steps with the second storage provider
    
    PS /Users/alex.carver> Get-VasaProvider | Where-Object {$_.Namespace -eq 'com.purestorage'} | Select-Object Name,Id
    
    Name                 Id
    ----                 --
    sn1-x70-b05-33-ct0   VasaProvider-vasaProvider-3
    sn1-x70-c05-33-ct1   VasaProvider-vasaProvider-8
    sn1-m20r2-c05-36-ct0 VasaProvider-vasaProvider-5
    
    PS /Users/alex.carver> $provider = Get-VasaProvider -Id VasaProvider-vasaProvider-8
    PS /Users/alex.carver> $provider
    
    Name                 Status       VasaVersion LastSyncTime           Namespace            Url
    ----                 ------       ----------- ------------           ---------            ---
    sn1-x70-c05-33-ct1   online       3.0         11/11/2020 1:19:57 PM  com.purestorage      https://10.21.149.23:8084
    
    PS /Users/alex.carver> Remove-VasaProvider -Provider $provider -confirm:$false
    PS /Users/alex.carver>
    PS /Users/alex.carver> Get-VasaProvider | Where-Object {$_.Namespace -eq 'com.purestorage'}
    
    Name                 Status       VasaVersion LastSyncTime           Namespace            Url
    ----                 ------       ----------- ------------           ---------            ---
    sn1-x70-b05-33-ct0   online       3.0         10/23/2020 11:37:26 AM com.purestorage      https://10.21.149.40:8084/version.…
    sn1-m20r2-c05-36-ct0 online       3.0         10/23/2020 11:37:26 AM com.purestorage      https://10.21.149.61:8084/version.…
    

    The main reason that the workflow is using the VASA provider ID is due to inconsistent behavior when using the VASA provider name when trying to remove the second provider. The behavior was much more consistent when using the provider id.

    VMware's vSphere APIs for Storage Awareness (VASA) is a VMware interface for out-of-band communication between VMware ESXi and vCenter and storage arrays. The Arrays’ VASA providers are services registered with the vCenter Server. Storage vendors implement providers for their arrays, either as VMs or embedded in the arrays.