VMware Cloud Community
Kvarkicn
Contributor
Contributor
Jump to solution

PowerCLI to modify QFullSampleSize and QFullThreshold

I need to change the ESXi setting for my 3PAR.

need to replace this: "esxcli storage core device set --device "naa.60002acXXXXXXXXXX" --queue-full-sample-size 32 --queue-full-threshold 4" with powercli.

This works fine:

$WWN="naa.60002acXXXXXXXXXXXXX"   

$deviceSetArgs = $esxcli.storage.core.device.set.CreateArgs()

$deviceSetArgs.device = $WWN

$deviceSetArgs.maxqueuedepth = 32

$esxcli.storage.core.device.set.Invoke($deviceSetArgs)

But if I try this:

$WWN="naa.60002acXXXXXXXXXX"   

$deviceSetArgs = $esxcli.storage.core.device.set.CreateArgs()

$deviceSetArgs.device = $WWN

$deviceSetArgs.queuefullsamplesize =  4

$deviceSetArgs.QueueFullThreshold= 32

$esxcli.storage.core.device.set.Invoke($deviceSetArgs)

powercli returt to me:

Index (zero based) must be greater than or equal to zero and less than the size of the argument list.

At line:9 char:1

+ $esxcli.storage.core.device.set.Invoke($deviceSetArgs)

+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : OperationStopped: (:) [], FormatException

    + FullyQualifiedErrorId : System.FormatException

What am I doing wrong?

0 Kudos
1 Solution

Accepted Solutions
LucD
Leadership
Leadership
Jump to solution

The keys in the parameter hashtable are case-sensitive.

Try like this
Note: I think you might have the values for the 2 queue parameters swapped.

$wwn = 'naa.60002acXXXXXXXXXXXXX'

$deviceSetArgs = $esxcli.storage.core.device.set.CreateArgs()

$deviceSetArgs.device = $WWN

$deviceSetArgs.queuefullsamplesize =  32

$deviceSetArgs.queuefullthreshold = 4

$esxcli.storage.core.device.set.Invoke($deviceSetArgs)


Blog: lucd.info  Twitter: @LucD22  Co-author PowerCLI Reference

View solution in original post

2 Replies
LucD
Leadership
Leadership
Jump to solution

The keys in the parameter hashtable are case-sensitive.

Try like this
Note: I think you might have the values for the 2 queue parameters swapped.

$wwn = 'naa.60002acXXXXXXXXXXXXX'

$deviceSetArgs = $esxcli.storage.core.device.set.CreateArgs()

$deviceSetArgs.device = $WWN

$deviceSetArgs.queuefullsamplesize =  32

$deviceSetArgs.queuefullthreshold = 4

$esxcli.storage.core.device.set.Invoke($deviceSetArgs)


Blog: lucd.info  Twitter: @LucD22  Co-author PowerCLI Reference

Kvarkicn
Contributor
Contributor
Jump to solution

Epic double/triple facepalm!

Thanks a lot, man!

ledstate                  Unset, ([string], optional)                                                                                                                                                                                                
defaultname               Unset, ([boolean], optional)                                                                                                                                                                                               
maxqueuedepth             Unset, ([long], optional)                                                                                                                                                                                                  
nopersist                 Unset, ([boolean], optional)                                                                                                                                                                                               
state                     Unset, ([string], optional)                                                                                                                                                                                                
queuefullsamplesize       8                                                                                                                                                                                                                          
ledduration               Unset, ([long], optional)                                                                                                                                                                                                  
queuefullthreshold        Unset, ([long], optional)                                                                                                                                                                                                  
queueFullthreshold        16                                                                                                                                                                                                                         
device                    naa.60002acXXXXXXX                                                                                                                                                                             
schednumreqoutstanding    Unset, ([long], optional)                                                                                                                                                                                                  
writecacheenabled         Unset, ([boolean], optional)                                                                                                                                                                                               
force                     Unset, ([boolean], optional)                                                                                                                                                                                               
dataintegrityenabled      Unset, ([boolean], optional)                                                                                                                                                                                               
name                      Unset, ([string], optional) 
0 Kudos