<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Feedback from REST testing with PSTK in Microsoft Virtualization Discussions</title>
    <link>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Feedback-from-REST-testing-with-PSTK/m-p/447627#M6797</link>
    <description>&lt;P&gt;Recently, I have performed testing to get our current set of Powershell scripts working with REST API.&amp;nbsp; &amp;nbsp;I would like to share some of my results, in the spirit of trying to improve the product and ease our transition from ONTAPI to REST API&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I tested a number of existing Powershell scripts which my team has developed over the years.&amp;nbsp; I tested with PSTK v9.13.1.2306 and OnTAP v9.10.1p12&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;On the positive side, the very basic functionality is there.&amp;nbsp; You can "drop in" the new PSTK package into Windows, use the same cmdlets with REST and ONTAPI, and they work at a basic level.&amp;nbsp; PSTK hides the complexity of the underlying calls and provides a consistent set of cmdlets.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;On the not-so-great side, many common cmdlets (get-ncvol, get-ncvserver, et-ncsnapshot to name a few) do not return all of the properties with REST which they do with ONTAPI.&amp;nbsp; Since my scripts require these properties to be returned, I am unable to use the REST API and have to specify -ONTAPI for many of my calls.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;There are other issues with REST, among them:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;REST calls in some cases are much slower than the same call with ONTAPI,&lt;/LI&gt;&lt;LI&gt;The help pages for the cmdlets in many cases have not been fully updated to match the cmdlet (example the -ONTAPI option is not even mentioned),&lt;/LI&gt;&lt;LI&gt;Some cmdlets behave differently with REST than with ONTAPI.&amp;nbsp; I have seen the REST flavor return a Warning message that the ONTAPI flavor does not.&amp;nbsp; While this is not a functional issue, it requires me to change my code to suppress or handle the warning message.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I would be happy to share specific cmdlets which I have tested and which are inconsistent between REST and ONTAPI&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I call on the PSTK maintainers to continue to improve and evolve the toolkit to provide consistent functionality, behavior, and performance between REST and ONTAPI flavors of their cmdlets.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would encourage other users to post their replies here, regarding their experience in migrating to REST with PSTK.&lt;/P&gt;</description>
    <pubDate>Wed, 04 Jun 2025 09:45:09 GMT</pubDate>
    <dc:creator>StevePutre</dc:creator>
    <dc:date>2025-06-04T09:45:09Z</dc:date>
    <item>
      <title>Feedback from REST testing with PSTK</title>
      <link>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Feedback-from-REST-testing-with-PSTK/m-p/447627#M6797</link>
      <description>&lt;P&gt;Recently, I have performed testing to get our current set of Powershell scripts working with REST API.&amp;nbsp; &amp;nbsp;I would like to share some of my results, in the spirit of trying to improve the product and ease our transition from ONTAPI to REST API&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I tested a number of existing Powershell scripts which my team has developed over the years.&amp;nbsp; I tested with PSTK v9.13.1.2306 and OnTAP v9.10.1p12&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;On the positive side, the very basic functionality is there.&amp;nbsp; You can "drop in" the new PSTK package into Windows, use the same cmdlets with REST and ONTAPI, and they work at a basic level.&amp;nbsp; PSTK hides the complexity of the underlying calls and provides a consistent set of cmdlets.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;On the not-so-great side, many common cmdlets (get-ncvol, get-ncvserver, et-ncsnapshot to name a few) do not return all of the properties with REST which they do with ONTAPI.&amp;nbsp; Since my scripts require these properties to be returned, I am unable to use the REST API and have to specify -ONTAPI for many of my calls.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;There are other issues with REST, among them:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;REST calls in some cases are much slower than the same call with ONTAPI,&lt;/LI&gt;&lt;LI&gt;The help pages for the cmdlets in many cases have not been fully updated to match the cmdlet (example the -ONTAPI option is not even mentioned),&lt;/LI&gt;&lt;LI&gt;Some cmdlets behave differently with REST than with ONTAPI.&amp;nbsp; I have seen the REST flavor return a Warning message that the ONTAPI flavor does not.&amp;nbsp; While this is not a functional issue, it requires me to change my code to suppress or handle the warning message.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I would be happy to share specific cmdlets which I have tested and which are inconsistent between REST and ONTAPI&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I call on the PSTK maintainers to continue to improve and evolve the toolkit to provide consistent functionality, behavior, and performance between REST and ONTAPI flavors of their cmdlets.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would encourage other users to post their replies here, regarding their experience in migrating to REST with PSTK.&lt;/P&gt;</description>
      <pubDate>Wed, 04 Jun 2025 09:45:09 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Feedback-from-REST-testing-with-PSTK/m-p/447627#M6797</guid>
      <dc:creator>StevePutre</dc:creator>
      <dc:date>2025-06-04T09:45:09Z</dc:date>
    </item>
    <item>
      <title>Re: Feedback from REST testing with PSTK</title>
      <link>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Feedback-from-REST-testing-with-PSTK/m-p/447748#M6798</link>
      <description>&lt;P&gt;Thankyou for the feedback&lt;BR /&gt;Regarding difference in behaviour in cmdlets from ZAPI to REST, there are two main reason for this either REST API may not support few feature or functionalities with respect to zapi or may have introduced alternate way to support the same feature.&lt;BR /&gt;for the same reason Get-NcVol does not return all of the records that zapi does because rest api does not return "Node root volume" and "system vserver volume" type volume while zapi return all these type of volumes that is why you are getting different result with zapi and rest for this cmdlet.&lt;BR /&gt;It would be very helpful if you could share specific command where you have encounter performance issues by enabling logs using "Set-NaToolkitConfiguration on" also please share the command where you find gap in the help document we will update the document. we did not add -ONTAPI parameter in help document because it is generic parameter and zapi will going to be deprecated in near future&lt;BR /&gt;Please feel free to reach out for any queries.&lt;BR /&gt;thanks&lt;/P&gt;</description>
      <pubDate>Thu, 21 Sep 2023 04:40:14 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Feedback-from-REST-testing-with-PSTK/m-p/447748#M6798</guid>
      <dc:creator>AmmarMhowwala</dc:creator>
      <dc:date>2023-09-21T04:40:14Z</dc:date>
    </item>
    <item>
      <title>Re: Feedback from REST testing with PSTK</title>
      <link>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Feedback-from-REST-testing-with-PSTK/m-p/447781#M6799</link>
      <description>&lt;P&gt;Hi Ammar:&lt;/P&gt;&lt;P&gt;Thanks for your reply.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is an example of a performance difference using 'get-ncvserver'.&amp;nbsp; Please refer to the attached output.&amp;nbsp; I had to remove proprietary info from the output.&amp;nbsp; The cluster in this example contains about 55 vservers.&amp;nbsp; get-ncvserver using REST takes over a minute to complete, and get-ncvserver using ontapi takes less than five seconds:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;PS E:\&amp;gt; &lt;STRONG&gt;Measure-Command {get-ncvserver -ontapi}&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Minutes : 0&lt;BR /&gt;Seconds : 2&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;PS E:\&amp;gt; &lt;STRONG&gt;Measure-Command {get-ncvserver}&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Minutes : 1&lt;BR /&gt;Seconds : 19&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 21 Sep 2023 16:19:59 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Feedback-from-REST-testing-with-PSTK/m-p/447781#M6799</guid>
      <dc:creator>StevePutre</dc:creator>
      <dc:date>2023-09-21T16:19:59Z</dc:date>
    </item>
    <item>
      <title>Re: Feedback from REST testing with PSTK</title>
      <link>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Feedback-from-REST-testing-with-PSTK/m-p/447790#M6800</link>
      <description>&lt;P&gt;Regarding my comment about REST calls not returning all information, here is a specific example using get-ncvserver.&amp;nbsp; The REST form of the command does not return the property 'vservertype'.&amp;nbsp; I rely on this property in many of my scripts:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;PS E:\&amp;gt; &lt;STRONG&gt;get-ncvserver -ontapi myvserver | select vserver,vservertype,allowedprotocols,state,snapshotpolicy&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier" size="2"&gt;Vserver : myvserver &lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier" size="2"&gt;VserverType : data&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier" size="2"&gt;AllowedProtocols : {nfs, cifs, ndmp}&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier" size="2"&gt;State : running&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier" size="2"&gt;SnapshotPolicy : default&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;PS E:\&amp;gt; &lt;STRONG&gt;get-ncvserver myvserver&amp;nbsp; | select vserver,vservertype,allowedprotocols,state,snapshotpolicy&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier" size="2"&gt;Vserver : myvserver &lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier" size="2"&gt;VserverType :&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier" size="2"&gt;AllowedProtocols : {cifs, nfs, ndmp}&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier" size="2"&gt;State : running&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="courier new,courier" size="2"&gt;SnapshotPolicy : default&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is only one example of a missing property.&amp;nbsp; I have found numerous cases of this.&amp;nbsp; Some of the cmdlets I have found which omit properties with REST are:&lt;/P&gt;&lt;P&gt;get-ncVserver&lt;/P&gt;&lt;P&gt;get-ncSnapMirror&lt;/P&gt;&lt;P&gt;get-ncVol&lt;/P&gt;&lt;P&gt;get-ncEmsEventNotification&lt;/P&gt;&lt;P&gt;get-ncNetRoute&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If there is a workaround which would allow me to get those properties, I would be happy to implement it.&amp;nbsp; But we cannot transition to REST unless we are reasonably confident that all expected output is being returned.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks for your consideration of this issue.&lt;/P&gt;</description>
      <pubDate>Thu, 21 Sep 2023 16:28:59 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Feedback-from-REST-testing-with-PSTK/m-p/447790#M6800</guid>
      <dc:creator>StevePutre</dc:creator>
      <dc:date>2023-09-21T16:28:59Z</dc:date>
    </item>
    <item>
      <title>Re: Feedback from REST testing with PSTK</title>
      <link>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Feedback-from-REST-testing-with-PSTK/m-p/447831#M6802</link>
      <description>Hi Steve, I understand that you are looking for "vserver type" property in Get-NcVserver cmdlet. But unfortunately, we don't have any control over this because SVM REST API is designed to manage data svm only hence vserver type is not supported in rest call. For the same reason in other cmdlets also you may notice some properties are missing because of the REST API limitation. In relation to performance, I have observed that when executing the same cmdlet (Get-NcVserver) within my environment, the REST API requires approximately 3 seconds to complete, whereas the ZAPI takes approximately 4 seconds. This observation has prompted me to explore the possibility of performance-related considerations within your environment. We will further investigate this matter.</description>
      <pubDate>Mon, 25 Sep 2023 07:44:42 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Feedback-from-REST-testing-with-PSTK/m-p/447831#M6802</guid>
      <dc:creator>AmmarMhowwala</dc:creator>
      <dc:date>2023-09-25T07:44:42Z</dc:date>
    </item>
    <item>
      <title>Re: Feedback from REST testing with PSTK</title>
      <link>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Feedback-from-REST-testing-with-PSTK/m-p/448667#M6830</link>
      <description>&lt;P&gt;I am also seeing commands taking significantly longer with the REST API calls vs ONTAPI.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;PS C:\&amp;gt; Measure-Command -Expression {Get-NcVol}&lt;/P&gt;&lt;P&gt;Days : 0&lt;BR /&gt;Hours : 0&lt;BR /&gt;Minutes : 2&lt;BR /&gt;Seconds : 52&lt;BR /&gt;Milliseconds : 794&lt;BR /&gt;Ticks : 1727945486&lt;BR /&gt;TotalDays : 0.00199993690509259&lt;BR /&gt;TotalHours : 0.0479984857222222&lt;BR /&gt;TotalMinutes : 2.87990914333333&lt;BR /&gt;TotalSeconds : 172.7945486&lt;BR /&gt;TotalMilliseconds : 172794.5486&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;PS C:\Users\x060622&amp;gt; Measure-Command {Get-NcVol -ZapiCall}&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Days : 0&lt;BR /&gt;Hours : 0&lt;BR /&gt;Minutes : 0&lt;BR /&gt;Seconds : 12&lt;BR /&gt;Milliseconds : 409&lt;BR /&gt;Ticks : 124091028&lt;BR /&gt;TotalDays : 0.000143623875&lt;BR /&gt;TotalHours : 0.003446973&lt;BR /&gt;TotalMinutes : 0.20681838&lt;BR /&gt;TotalSeconds : 12.4091028&lt;BR /&gt;TotalMilliseconds : 12409.1028&lt;/P&gt;</description>
      <pubDate>Mon, 06 Nov 2023 15:31:36 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Feedback-from-REST-testing-with-PSTK/m-p/448667#M6830</guid>
      <dc:creator>goodmanr0732</dc:creator>
      <dc:date>2023-11-06T15:31:36Z</dc:date>
    </item>
    <item>
      <title>Re: Feedback from REST testing with PSTK</title>
      <link>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Feedback-from-REST-testing-with-PSTK/m-p/448681#M6832</link>
      <description>&lt;P&gt;Could you please let us know the number of records you are getting in ZAPI and REST.&lt;/P&gt;</description>
      <pubDate>Tue, 07 Nov 2023 07:11:04 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Feedback-from-REST-testing-with-PSTK/m-p/448681#M6832</guid>
      <dc:creator>AmmarMhowwala</dc:creator>
      <dc:date>2023-11-07T07:11:04Z</dc:date>
    </item>
    <item>
      <title>Re: Feedback from REST testing with PSTK</title>
      <link>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Feedback-from-REST-testing-with-PSTK/m-p/448689#M6833</link>
      <description>&lt;P&gt;Here's the number of records it is returning. REST returns less records but still takes significantly longer.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;PS C:\&amp;gt; (get-ncvol -ZapiCall).count&lt;BR /&gt;640&lt;/P&gt;&lt;P&gt;PS C:\&amp;gt; (get-ncvol).count&lt;BR /&gt;622&lt;/P&gt;</description>
      <pubDate>Tue, 07 Nov 2023 14:11:58 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Feedback-from-REST-testing-with-PSTK/m-p/448689#M6833</guid>
      <dc:creator>goodmanr0732</dc:creator>
      <dc:date>2023-11-07T14:11:58Z</dc:date>
    </item>
    <item>
      <title>Re: Feedback from REST testing with PSTK</title>
      <link>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Feedback-from-REST-testing-with-PSTK/m-p/449005#M6839</link>
      <description>&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;The default behavior of REST is to provide comprehensive attributes, which may result in a longer retrieval time compared to ZAPI's default behavior. &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;To obtain specific properties of the cmdlet more efficiently, you can utilize the -Attribute parameter, which reduces the time required to fetch the record.&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class=""&gt;Please check the attached file:&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 21 Nov 2023 07:14:29 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Feedback-from-REST-testing-with-PSTK/m-p/449005#M6839</guid>
      <dc:creator>AmmarMhowwala</dc:creator>
      <dc:date>2023-11-21T07:14:29Z</dc:date>
    </item>
    <item>
      <title>Re: Feedback from REST testing with PSTK</title>
      <link>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Feedback-from-REST-testing-with-PSTK/m-p/452686#M6896</link>
      <description>&lt;P&gt;From the 9.15.1 release, a new parameter will be introduced: hydrate, which will allow Yes, No, Partial.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Yes, this is the default behaviour as it stands now. After a successful API call, it would fetch the full result.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;No: will it pass?return_records=true in the REST API, and then it will display any fields ONTAP configured (usually just keys, but sometimes a few more).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Partial: it will be responsible for fetching only the important properties of the commandlet.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;After introducing the hydrate feature, the time related concerns will be fixed.&lt;/P&gt;</description>
      <pubDate>Mon, 13 May 2024 18:25:24 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Microsoft-Virtualization-Discussions/Feedback-from-REST-testing-with-PSTK/m-p/452686#M6896</guid>
      <dc:creator>saharsh</dc:creator>
      <dc:date>2024-05-13T18:25:24Z</dc:date>
    </item>
  </channel>
</rss>

