Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page
PowerShell Toolkit 4.6: Encounter errors trying to clone volumes across SVMs New-NcVolClone
2018-05-28
02:43 PM
5,564 Views
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
According to the new Syntax " New-NcVolClone [-CloneVolume] <String> [-ParentVolume] <String> [-SpaceReserve <String>] [-JunctionPath <String>] [-JunctionActive <Boolean>] [-VolumeType <String>]
[-QosPolicyGroup <String>] [-CachingPolicy <String>] [-Option <String[]>] [-Comment <String>] [-Vserver <String>] [-ParentVserver <String>] [-VserverDrProtection <String>] [-Uid
<Int64>] [-Gid <Int64>] [-VserverContext <String>] [-Controller <NcController[]>] [[-ParentSnapshot] <String>] [-ZapiRetryCount <Int32>] [<CommonParameters>]"
The following commmand should be working
> New-NcVolClone -VserverContext devnas -ParentVolume clone_test -ParentVserver stgnas -ParentSnapshot pad -CloneVolume clone_test_version46 -JunctionPath "/clone_test_version46" -JunctionActive $true -Vserver devnas -SpaceReserve none
But It does not,
We have encountered an error "New-NcVolClone : Extra input: junction-active; Extra input: junction-path
At line:1 char:1
+ New-NcVolClone -VserverContext devnas -ParentVolume clone_test -Paren ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (dc1nas-mgmt:NcController) [New-NcVolClone], EINVALIDINPUTERROR
+ FullyQualifiedErrorId : ApiException,DataONTAP.C.PowerShell.SDK.Cmdlets.Volume.NewNcVolClone".
However, if we take off two parametters "-JunctionActive $true -JunctionPath "/clone_test_version46" from the command then it works.
Can you guys please advise the New-NcVolClone command works with its full parametters. if so, what will be the correct order to get everything in line.
Cheers,
Solved! See The Solution
1 ACCEPTED SOLUTION
aladd has accepted the solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I believe this is a result of a documentation "bug".
There are two different versions of the API which the New-NcVolClone cmdlet consumes, one at the cluster level and one at the SVM level. The SVM level API uses the two parameters you're specifying (JunctionActive and JunctionPath), however the cluster level API does not. When doing a cross-SVM volume clone the cluster level API must be used.
Here is how I believe the parameter sets for the two versions of the API should work...
# intra-SVM volume clone New-NcVolClone [-CloneVolume] <String> [-ParentVolume] <String> [[-ParentSnapshot] <String>] [-SpaceReserve <String>] [-JunctionPath <String>] [-JunctionActive [<Boolean>]] [-VolumeType <String>] [-QosPolicyGroup <String>] [-Comment <String>] [-VserverDrProtection <String>] [-Uid <Int64>] [-Gid <Int64>] [-VserverContext <String>] [-Controller <NcController[]>] [-ZapiRetryCount <Int32>] [<CommonParameters>] # cross-SVM volume clone New-NcVolClone [-SpaceReserve <String>] [-VolumeType <String>] [-QosPolicyGroup <String>] [-Vserver <String>] [-CloneVolume] <String> [-ParentVserver <String>] [-ParentVolume] <String> [[-ParentSnapshot] <String>] [-Controller <NcController[]>] [-ZapiRetryCount <Int32>] [<CommonParameters>]
The documentation for the New-NcVolClone cmdlet also includes two parameters, CachingPolicy and Option, which have no equivelant in the ONTAP 9.3 ZAPI docs. This could mean a few things, the most likely is that those options existed in earlier versions of ZAPI and are still there for legacy reasons, but could also be some "magic" happening in the cmdlet to apply additional options to the volume after it's cloned for convenience. It could also simply be a(nother) documentation bug.
I'm going to create a bug for this issue. If you are willing to PM me your mailing address, I'm happy to send you some stickers as a "bug bounty" : )
Hope that helps.
Andrew
If this post resolved your issue, please help others by selecting ACCEPT AS SOLUTION or adding a KUDO.
5 REPLIES 5
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Simplest solution would be to just leave off the two parameters, then junction the volume using the Mount-NcVol cmdlet.
Andrew
If this post resolved your issue, please help others by selecting ACCEPT AS SOLUTION or adding a KUDO.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I was thinking of that, but the point is why I was just following the New-NcVolClone syntax but it does not work? If so, NetApp should fix it
aladd has accepted the solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I believe this is a result of a documentation "bug".
There are two different versions of the API which the New-NcVolClone cmdlet consumes, one at the cluster level and one at the SVM level. The SVM level API uses the two parameters you're specifying (JunctionActive and JunctionPath), however the cluster level API does not. When doing a cross-SVM volume clone the cluster level API must be used.
Here is how I believe the parameter sets for the two versions of the API should work...
# intra-SVM volume clone New-NcVolClone [-CloneVolume] <String> [-ParentVolume] <String> [[-ParentSnapshot] <String>] [-SpaceReserve <String>] [-JunctionPath <String>] [-JunctionActive [<Boolean>]] [-VolumeType <String>] [-QosPolicyGroup <String>] [-Comment <String>] [-VserverDrProtection <String>] [-Uid <Int64>] [-Gid <Int64>] [-VserverContext <String>] [-Controller <NcController[]>] [-ZapiRetryCount <Int32>] [<CommonParameters>] # cross-SVM volume clone New-NcVolClone [-SpaceReserve <String>] [-VolumeType <String>] [-QosPolicyGroup <String>] [-Vserver <String>] [-CloneVolume] <String> [-ParentVserver <String>] [-ParentVolume] <String> [[-ParentSnapshot] <String>] [-Controller <NcController[]>] [-ZapiRetryCount <Int32>] [<CommonParameters>]
The documentation for the New-NcVolClone cmdlet also includes two parameters, CachingPolicy and Option, which have no equivelant in the ONTAP 9.3 ZAPI docs. This could mean a few things, the most likely is that those options existed in earlier versions of ZAPI and are still there for legacy reasons, but could also be some "magic" happening in the cmdlet to apply additional options to the volume after it's cloned for convenience. It could also simply be a(nother) documentation bug.
I'm going to create a bug for this issue. If you are willing to PM me your mailing address, I'm happy to send you some stickers as a "bug bounty" : )
Hope that helps.
Andrew
If this post resolved your issue, please help others by selecting ACCEPT AS SOLUTION or adding a KUDO.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Gah, ran into this exact problem today, means I need an extra step to mount the vol and specify the junction path.
<grumble grumble>
Thanks for posting the explanation!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
FYI, bug id is 1165240.
Andrew
If this post resolved your issue, please help others by selecting ACCEPT AS SOLUTION or adding a KUDO.
