Upgrading the VAAI VIB Component

User Guides for VMware Solutions

Audience
Public
Content Type
User Guides
Source Type
Documentation

ESXCLI Method

A common method for upgrading a VIB into ESXi is via ESXCLI- a command line tool offered natively in the ESXi shell. To access this you must SSH into the host with root-level credentials:

  1. Stop VAAI NAS service if running

    /etc/init.d/vaai-nasd stop
  2. Upgrade the VIB component either from a local folder or the web URL

    esxcli software component apply -d https://pure-vmware-plugin-repository.s3.us-west-1.amazonaws.com/vsphere/VAAI-NFS/GA/Latest/index.xml
  3. Start the VAAI nasd service

    /etc/init.d/vaai-nasd start
  4. Validate the upgrade

    esxcli software vib list | grep Purity
    
    Name                                 Version                              Vendor  Acceptance Level  Install Date  Platforms
    -----------------------------------  -----------------------------------  ------  ----------------  ------------  ---------
    PSI-ESX-PurityFANasPlugin-1.1.0      1.1.0-1                              PSI     VMwareAccepted    2023-12-01    host

PowerCLI Method

  1. In order to upgrade the VAAI plugin the vaai-nas service must be stopped. This can not be done by default with PowerCLI and will require ssh'ing to the ESXi hosts. You can use the same method we outlined in the install section in order to upgrade the plugin.

    $vcenter = "cert-vcsa-01.alex.purestorage.com"
    $vcUser = "carver@alex.purestorage.com"
    $vcPass = "SuperSecretPasswordOfAllPasswords!"
    $hostPass = "SuperSecretPasswordOfAllPasswords!"
    
    Connect-VIServer -server $vcenter -username $vcUser -password $vcPass
    
    $cluster = get-cluster -name 'NVMe-ESXi-Cluster-03'
    
    $clusterHosts = $cluster | get-vmhost
    
    foreach ($esxi in $clusterHosts)
    
    {
       Write-Host "Working on $esxi"
       ## Make sure SSH is enabled ##
       $sshService = Get-VMHostService -vmhost $esxi | where-object { $_.Key -eq "TSM-SSH" }
    
       if ($sshService.Running -eq $False)
          { 
             Start-VMHostService -HostService $sshService -Confirm:$False 
          }
    
       ## Getting ESXi Host's IP, I know my mgmt is on vmk0, but I could have just looked for the management service ##
       $hostIP = ($esxi | Get-VMHostNetworkAdapter -name 'vmk0').ip
    
       ## Using Plink (Putty cmd line stuff) to ssh and run /etc/init.d/ options.  Putty will need to be installed locally in order to do this ##
       echo "y" | plink -ssh -2 -pw $hostPass root@$hostIP "/etc/init.d/vaai-nasd stop"
    
       ## Now that the vaai-nasd service is stopped we can upgrade the nas-vaai plugin ##
       $esxcli = $esxi |Get-EsxCli -v2
       
       $installOperation = $esxcli.software.component.apply.CreateArgs()
       $installOperation.depot = "https://pure-vmware-plugin-repository.s3.us-west-1.amazonaws.com/vsphere/VAAI-NFS/GA/Latest/index.xml"
       $esxcli.software.component.apply.Invoke($installOperation)
    
       ## Next we need to start the vaai-nas service again ##
    
       echo "y" | plink -ssh -2 -pw $hostPass root@$hostIP "/etc/init.d/vaai-nasd start"
    
       Write-Host "$esxi is done."
    }
    ## Now the install or upgrade of the VAAI plugin is completed ##
    Write-host "Pure Storage VAAI NAS plugin has been upgraded or installed for all hosts in "$Cluster.Name"."
  2. The output should look like this when completed successfully and you will see that the plugin was upgraded from 1.1.1 to 1.2.0.

    Name                           Port  User
    ----                           ----  ----
    cert-vcsa-01.alex.purestorage… 443   ALEX\Carver
    Working on nvme-esxi-11.alex.purestorage.com
    -- Keyboard-interactive authentication prompts from server: ------------------
    -- End of keyboard-interactive prompts from server ---------------------------
    ESX VAAI-NAS Daemon stopped.
    
    ComponentsInstalled : {PSI-PurityFAVAAINasPlugin_1.2-1.2.0}
    ComponentsRemoved   : {PSI-PurityFANasPlugin_1.1-1.1.1}
    ComponentsSkipped   : 
    DPUResults          : 
    Message             : Operation finished successfully.
    RebootRequired      : false
    
    -- Keyboard-interactive authentication prompts from server: ------------------
    -- End of keyboard-interactive prompts from server ---------------------------
    ESX VAAI-NAS Daemon started.
    nvme-esxi-11.alex.purestorage.com is done.
    Working on nvme-esxi-09.alex.purestorage.com
    -- Keyboard-interactive authentication prompts from server: ------------------
    -- End of keyboard-interactive prompts from server ---------------------------
    ESX VAAI-NAS Daemon stopped.
    
    ComponentsInstalled : {PSI-PurityFAVAAINasPlugin_1.2-1.2.0}
    ComponentsRemoved   : {PSI-PurityFANasPlugin_1.1-1.1.1}
    ComponentsSkipped   : 
    DPUResults          : 
    Message             : Operation finished successfully.
    RebootRequired      : false
    
    -- Keyboard-interactive authentication prompts from server: ------------------
    -- End of keyboard-interactive prompts from server ---------------------------
    ESX VAAI-NAS Daemon started.
    nvme-esxi-09.alex.purestorage.com is done.
    Working on nvme-esxi-12.alex.purestorage.com
    -- Keyboard-interactive authentication prompts from server: ------------------
    -- End of keyboard-interactive prompts from server ---------------------------
    ESX VAAI-NAS Daemon stopped.
    
    ComponentsInstalled : {PSI-PurityFAVAAINasPlugin_1.2-1.2.0}
    ComponentsRemoved   : {PSI-PurityFANasPlugin_1.1-1.1.1}
    ComponentsSkipped   : 
    DPUResults          : 
    Message             : Operation finished successfully.
    RebootRequired      : false
    
    -- Keyboard-interactive authentication prompts from server: ------------------
    -- End of keyboard-interactive prompts from server ---------------------------
    ESX VAAI-NAS Daemon started.
    nvme-esxi-12.alex.purestorage.com is done.
    Working on nvme-esxi-10.alex.purestorage.com
    -- Keyboard-interactive authentication prompts from server: ------------------
    -- End of keyboard-interactive prompts from server ---------------------------
    ESX VAAI-NAS Daemon stopped.
    
    ComponentsInstalled : {PSI-PurityFAVAAINasPlugin_1.2-1.2.0}
    ComponentsRemoved   : {PSI-PurityFANasPlugin_1.1-1.1.1}
    ComponentsSkipped   : 
    DPUResults          : 
    Message             : Operation finished successfully.
    RebootRequired      : false
    
    -- Keyboard-interactive authentication prompts from server: ------------------
    -- End of keyboard-interactive prompts from server ---------------------------
    ESX VAAI-NAS Daemon started.
    nvme-esxi-10.alex.purestorage.com is done.
    Pure Storage VAAI NAS plugin has been upgraded or installed for all hosts in  NVMe-ESXi-Cluster-03 .