Active IQ Unified Manager Discussions

WFA - Create Volume "EfficiencyPolicy" not working

jont
5,928 Views

Hi all,

 

I'm experiencing the following strange behavior in WFA 3.1P1:

 

When a WFA workflow creates a volume (using the certified Create Volume command) with an Efficiency Policy attached, the policy is not applied (even though the command completes without any error):

 

16:17:55.014 INFO  [Create volume] ### Command 'Create volume' in 'POWER_SHELL' ###
16:18:31.719 INFO  [Create volume] Get-WfaCredentials -Host xx.xx.xx.xx
16:18:31.781 INFO  [Create volume] Credentials successfully provided for 'xx.xx.xx.xx'
16:18:31.844 INFO  [Create volume] Connect-Controller -Type CLUSTER -Name xx.xx.xx.xx -Credential System.Management.Automation.PSCredential -Vserver  -Timeout 60000
16:18:31.953 INFO  [Create volume] Connect-NcController (with credentials) -Name xx.xx.xx.xx -Timeout 60000 -ErrorAction Stop
16:18:49.344 INFO  [Create volume] Connected to cluster node
16:18:49.813 INFO  [Create volume] Creating a new volume: New-NcVol -ErrorAction Stop -name xxxxxxxx -Aggregate xxxxxxxx  -SpaceReserve none -State online -Size 20m -VserverContext xxxxxxxx -Type rw -SnapshotPolicy none -EfficiencyPolicy always-on -JunctionPath $null
16:18:52.485 INFO  [Create volume] Configuring auto delete options state on, trigger volume, target_free_space 20
16:18:53.032 INFO  [Create volume] Configuring volume autosize attributes: Set-NcVolAutosize -ErrorAction Stop -name xxxxxxxx -VserverContext xxxxxxxx -Mode off
16:18:53.907 INFO  [Create volume] Enabling deduplication
16:18:54.438 INFO  [Create volume] Configuring snapshot reserve, percentage 0
16:18:54.704 INFO  [Create volume] Command completed, took 59690 milliseconds

 

The resulting volume shows

 

Efficiency Policy Name: -

 

If I instead execute this cmdlet from the Powershell Command line, the Efficiency Policy does get set:

 

Windows PowerShell
Copyright (C) 2013 Microsoft Corporation. All rights reserved.
 
PS D:\Program Files\NetApp\WFA\PoSH> .\profile.ps1
PS D:\Program Files\NetApp\WFA\PoSH> Get-NaToolkitVersion
 
Major  Minor  Build  Revision
-----  -----  -----  --------
3      3      0      62
 
 
PS D:\Program Files\NetApp\WFA\PoSH> Connect-NcController -Name xx.xx.xx.xx -Credential (Get-Credential)
 
cmdlet Get-Credential at command pipeline position 1
Supply values for the following parameters:
Credential
 
Name                 Address           Vserver              Version
----                 -------           -------              -------
xx.xx.xx.xx          xx.xx.xx.xx                            NetApp Release 8.3.2P1: Thu Apr 14 15:58:25 UTC 2016

 

PS D:\Program Files\NetApp\WFA\PoSH> New-NcVol -ErrorAction Stop -name xxxxxxxx -Aggregate xxxxxxxx  -SpaceReserve none -State online -Size 20m -VserverContext xxxxxxxx -Type rw -SnapshotPolicy none -EfficiencyPolicy always-on -JunctionPath $null
 
Name                      State       TotalSize  Used  Available Dedupe Aggregate                 Vserver
----                      -----       ---------  ----  --------- ------ ---------                 -------
xxxxxxxx                  online        20,0 MB    5%    18,9 MB  True  xxxxxxxx                  xxxxxxxx

 

 

Looking on the cluster:

 

xxxxxxxx::> volume efficiency show -volume xxxxxxxx -fields policy
vserver    volume      policy
---------- ----------- ---------
xxxxxxxx   xxxxxxxx     always-on

 

Any idea why WFA is ignoring this parameter when the cmdlet itself works correctly? I've tried adding double-quotes around the policy: "$EfficiencyPolicy" instead of $EfficiencyPolicy but this didn't help.

6 REPLIES 6

sinhaa
5,742 Views

 

@jont

Can you try single quotes? hyphen is a special charate in powershell. So if object have hyphen in their names, some care needs to be taken.

 

You have 2 choices.

 

1. Modify the command code. You need to do Save-As as this is a certified command.

 

if($EfficiencyPolicy)
{
$expression = $expression + " -EfficiencyPolicy " + '$EfficiencyPolicy'
}

 

2. Don't modify the command code, but you can add this single quotes from your workflow. How to do this? I'll tell you if you are not okay with option (1)

 

sinhaa

If this post resolved your issue, help others by selecting ACCEPT AS SOLUTION or adding a KUDO.

Hannes1
5,411 Views

Hey,

 

found the same issue today in WFA 4.0.0.0.

 

Sadly your recommendations did not solve the issue for me.

 

Also running a

 

new-ncvol -name test123 -SpaceReserve none -State online -size 100m -vserverContext test-svm -aggregate aggr123 -junction /test123 -efficiencyPolicy default

 

followed by a

 

enable-ncsis -volume test123 -vservercontext test-svm

 

gives a volume with a schedule instead a policy (in the efficiency settings)

 

 

Do you have any Idea how to solve this?

sinhaa
5,376 Views

@Hannes1

 

Please provide your execution logs details. You may have similar error but the cause may be different.

 

sinhaa

If this post resolved your issue, help others by selecting ACCEPT AS SOLUTION or adding a KUDO.

cdtinfrastructure
5,304 Views

Hi

 

i'm also having this problem. Please see my logs below,

11:49:51.567 INFO  [CdT Create a Clustered Data ONTAP NFS Volume - copy] ***** Workflow Execution Started *****
11:49:51.598 INFO  [Create volume] ### Command 'Create volume' in 'POWER_SHELL' ###
11:49:53.364 INFO  [Create volume] Get-WfaCredentials -Host Myfiler
11:49:53.379 INFO  [Create volume] Credentials successfully provided for 'Myfiler'
11:49:53.411 INFO  [Create volume] Connect-Controller -Type CLUSTER -Name Myfiler -Credential System.Management.Automation.PSCredential -Vserver
11:49:53.567 INFO  [Create volume] Connect-NcController (with credentials) -Name Myfiler -Timeout 60000 -ErrorAction Stop
11:49:55.739 INFO  [Create volume] Connected to cluster node
11:49:56.036 INFO  [Create volume] Creating a new volume: New-NcVol -ErrorAction Stop -name Testvol -Aggregate aggr1_node_01  -SpaceReserve volume -State online -Size 2560m -VserverContext svm_dev1 -Type rw -SecurityStyle unix -UnixPermissions 777 -ExportPolicy ep_Oracle_dev -EfficiencyPolicy default -JunctionPath /Testvol
11:49:58.254 INFO  [Create volume] Setting options no_atime_update off,fractional_reserve 0
11:49:58.457 INFO  [Create volume] Configuring auto delete options state off
11:49:58.661 INFO  [Create volume] Configuring volume autosize attributes: Set-NcVolAutosize -ErrorAction Stop -name dd4 -VserverContext svm_dev1 -Mode grow_shrink
11:49:59.489 INFO  [Create volume] Enabling deduplication
11:49:59.848 INFO  [Create volume] Configuring snapshot reserve, percentage 20
11:50:00.114 INFO  [Create volume] Command completed, took 8516 milliseconds
11:50:00.192 INFO  [Create a Clustered Data ONTAP NFS Volume - copy] ***** Workflow Execution Successful *****

 

Regards

DermotC

Hannes1
5,296 Views

 

10:02:46.080 INFO  [Create volume] ### Command 'Create volume' in 'POWER_SHELL' ###
10:02:49.965 INFO  [Create volume] Get-WfaCredentials -Host 10.68.26.170
10:02:50.105 INFO  [Create volume] Credentials successfully provided for '10.68.26.170'
10:02:50.136 INFO  [Create volume] Connect-Controller -Type CLUSTER -Name 10.68.26.170 -Credential System.Management.Automation.PSCredential -Vserver 
10:02:50.308 INFO  [Create volume] Connect-NcController (with credentials) -Name 10.68.26.170 -Timeout 60000 -ErrorAction Stop
10:02:56.158 INFO  [Create volume] Connected to cluster node
10:02:56.439 INFO  [Create volume] Creating a new volume: New-NcVol -ErrorAction Stop -name hannes  -SpaceReserve none -State online -Size 1024m -VserverContext trfrm17 -Type rw -SnapshotReserve 5 -Aggregate cdot83n01_sq0_aggr1 -SecurityStyle unix -EfficiencyPolicy default -JunctionPath /hannes -Language en.utf_8
10:03:02.570 INFO  [Create volume] FlexVol 'hannes' has been create successfully.
10:03:02.586 INFO  [Create volume] Enabling deduplication
10:03:04.395 INFO  [Create volume] Command completed, took 18315 milliseconds


Then I checked if the proper Policy was assigned:

cluster1::volume efficiency> show -instance

                     Vserver Name: trfrm17
                      Volume Name: hannes
                      Volume Path: /vol/hannes
                            State: Enabled
                           Status: Idle
                         Progress: Idle for 00:02:19
                             Type: Regular
                         Schedule: sun-sat@0
           Efficiency Policy Name: -
           Blocks Skipped Sharing: 0
             Last Operation State: Success
     Last Success Operation Begin: Fri Mar 03 09:03:02 2017
       Last Success Operation End: Fri Mar 03 09:03:02 2017
             Last Operation Begin: Fri Mar 03 09:03:02 2017
               Last Operation End: Fri Mar 03 09:03:02 2017
              Last Operation Size: 0B
             Last Operation Error: -
                  Changelog Usage: 0%
                Logical Data Size: 180KB
               Logical Data Limit: 640TB
             Logical Data Percent: 0%
                       Queued Job: -
     Stale Fingerprint Percentage: 0
                      Compression: false
               Inline Compression: false
    Incompressible Data Detection: false
               Constituent Volume: false
Compression Quick Check File Size: 524288000
                    Inline Dedupe: false


The same happens when running the same from PoSH:


PS C:\Users\hannesb> Connect-NcController hbcdot

Name                 Address           Vserver              Version
----                 -------           -------              -------
hbcdot               10.68.26.170                           NetApp Release 8.3.2P9: Fri Jan 06 05:54:05 UTC 2017


PS C:\Users\hannesb> New-NcVol -VserverContext trfrm17 -name hannes2 -EfficiencyPolicy default -Size 100m -Aggregate cdot83n01_sq0_aggr1 -JunctionPath /hannes2

Name                      State       TotalSize  Used  Available Dedupe Aggregate                 Vserver
----                      -----       ---------  ----  --------- ------ ---------                 -------
hannes2                   online       100,0 MB    5%    94,9 MB False  cdot83n01_sq0_aggr1       trfrm17


PS C:\Users\hannesb> Enable-NcSis -VserverContext trfrm17 -Volume hannes2

Name                      State       TotalSize  Used  Available Dedupe Aggregate                 Vserver
----                      -----       ---------  ----  --------- ------ ---------                 -------
hannes2                   online       100,0 MB    5%    94,9 MB  True  cdot83n01_sq0_aggr1       trfrm17


PS C:\Users\hannesb>

cluster1::volume efficiency> show -instance -volume hannes2

                     Vserver Name: trfrm17
                      Volume Name: hannes2
                      Volume Path: /vol/hannes2
                            State: Enabled
                           Status: Idle
                         Progress: Idle for 00:00:14
                             Type: Regular
                         Schedule: sun-sat@0
           Efficiency Policy Name: -
           Blocks Skipped Sharing: 0
             Last Operation State: Success
     Last Success Operation Begin: Fri Mar 03 09:08:07 2017
       Last Success Operation End: Fri Mar 03 09:08:07 2017
             Last Operation Begin: Fri Mar 03 09:08:07 2017
               Last Operation End: Fri Mar 03 09:08:07 2017
              Last Operation Size: 0B
             Last Operation Error: -
                  Changelog Usage: 0%
                Logical Data Size: 156KB
               Logical Data Limit: 640TB
             Logical Data Percent: 0%
                       Queued Job: -
     Stale Fingerprint Percentage: 0
                      Compression: false
               Inline Compression: false
    Incompressible Data Detection: false
               Constituent Volume: false
Compression Quick Check File Size: 524288000

PS C:\Users\hannesb> get-ncsis

Path                           State    Status       ScheduleOrPolicy               Progress
----                           -----    ------       ----------------               --------
/vol/hannes                    enabled  idle         sun-sat@0                      Idle for 00:07:51
/vol/hannes2                   enabled  idle         sun-sat@0                      Idle for 00:02:46


PS C:\Users\hannesb> get-module DataOntap

ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Manifest   4.0.0      DataONTAP                           {Add-NaAggr, Add-NaCifsShare, Add-NaCredential, Add-NaFpolicyExtension...}


PS C:\Users\hannesb>

 

borisaelen
5,044 Views

Hi Guys,

 

I encountered the same problem.

Only solution that I see is to execture a set-ncsis right after the volume is created (new-ncvol) and dedup is enabled (enable-ncsis)

 

I am modifying the powershell code of the existing "Create Volume" task  to do this.

Just add this line right after the Enable-NcSis line almost at the bottom:

 

Set-NcSis -ErrorAction stop -name $VolumeName -VserverContext $VserverName -Policy $EfficiencyPolicy

 

 

Unfortunately you won't be able to overwrite the current task as it is a default command from Netapp.

You would have to do a save as and create your own Create Volume command and use that in all you workflows.

 

I hope NetApp will accept this fix and implement it in their own Command Powershell Code.

 

 

--Boris 

 

 

Public