We are trying to fetch performance details in NetApp ONTAP, but we have noticed that we are unable to fetch 'read_data,' 'write_data,' 'read_block,' and 'write_block' metrics in volumes. Is there an API available that sends this data, or is there an alternative API to retrieve it? Volume API: <host>/api/storage/volumes/ Similarly, we are using the same API for LUNs, disks, and various other storage devices.
... View more
Hi All,
We have added a new shelf today, I can see it in sasadmin expander_map and storage show disk -p and node-connectivity outputs but not in "storage shelf show" output.
any idea ?
... View more
I'm trying to pull the most recent configuration backup from my clustered netapp. 7mode allows you to do a simple 'config dump' but looks like its a bit trickier to get for CDOT. Does anyone have experience/knowledge on pulling CDOT config backup files via the API ? Thank you.
... View more
Hello, I'm going to migrate from 8.2.1 cluster mode 4 node controller to new equipment, what are some ways to migrate from 8.2.1 to 9.15 os? 7 mode to cdot snapmirror is only available in 7 mode and there is no 8.2.1 information in the matrix of cdot to cdot snapmirror
... View more
I am having an issue in many production scripts that are taking advantage of the 'Connect-NcController -Transient:$true' functionality to not set the global variable when connecting to a controller, and instead assign that connection to my own custom variable. It all works fine, except the first time I try to do ANYTHING with that connection it will fail with a generic error coming from the module commandlets. The same action will work fine the second and every other time after that first failure. Get-NcAggr : Object reference not set to an instance of an object.
At line:35 char:27
+ $ncAggr = Get-NcAggr -Controller $ncController
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Get-NcAggr], NullReferenceException
+ FullyQualifiedErrorId : System.NullReferenceException,DataONTAP.C.PowerShell.SDK.Cmdlets.Aggr.GetNcAggr Here is a simple script to reproduce the issue: # Set this to $true to use the $global:CurrentNcController in the Get-NcAggr command
# Set to $false to use the controller stored in a variable as an object $ncController
$useNcGlobal = $false
# update to your actual controller
$controllerIP = "xxx.xxx.xxx.xxx"
Import-Module NetApp.ONTAP
$global:CurrentNcController = $null
try {
$ncCredential = Get-Credential -Message "Add Admin password" -UserName admin
if ( -not ($useNcGlobal) ) {
# Store controller in variable and use transient to NOT set the global
$ncController = Connect-NcController -Name $controllerIP -Credential $ncCredential -Transient:$true -ErrorAction Stop
Write-Host "Controller varaible '`$ncController' type is '$($nccontroller.GetType())'"
}
else {
# Store controller in the global
Connect-NcController -Name $controllerIP -Credential $ncCredential -ErrorAction Stop
Write-Host "Controller varaible '`$global:CurrentNcController' type is '$($global:CurrentNcController.GetType())'"
}
[int]$i = 0
$ints = 1..10
foreach ($int in $ints) {
try {
$i++
if ( $nccontroller ) {
$ncAggr = Get-NcAggr -Controller $ncController
}
else {
$ncAggr = Get-NcAggr
}
Write-Host "This time, '$i' and subsequent times will always succeed"
if ( $int -eq $($ints | Select-Object -Last 1) ) {
$ncAggr
}
}
catch {
$error[0]
Write-Host "This time, '$i' always fails when using -controller and passing in a controller variable object"
}
}
}
catch {
$error[0]
Write-Host "Uncaught error"
}
... View more