<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://cortexdeveloper.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>XIO - CorteX Developer Forums</title><link>http://cortexdeveloper.com/cortexdeveloper/m/default.aspx</link><description>CorteX Developer</description><dc:language>en-US</dc:language><generator>Telligent Community (Build: 5.5.133.9594)</generator><item><title>X-IO ISE CorteX API Document</title><link>http://cortexdeveloper.com/cortexdeveloper/m/apispecification/60.aspx</link><pubDate>Tue, 11 Sep 2012 01:03:26 GMT</pubDate><guid isPermaLink="false">7220f40c-b626-4848-a5f0-7b5d4f41396d:60</guid><dc:creator>jnicholson</dc:creator><slash:comments>0</slash:comments><description>&lt;div style="clear:both;"&gt;&lt;/div&gt;</description><enclosure url="http://cortexdeveloper.com/cfs-file.ashx/__key/CommunityServer-Components-PostAttachments/00-00-00-00-60/160311_2D00_000_5F00_Cortex_5F00_API_5F00_052011.pdf" length="1110719" type="application/pdf" /></item><item><title>CorteX PowerShell Demo Script v1.1</title><link>http://cortexdeveloper.com/cortexdeveloper/m/communitycode/56.aspx</link><pubDate>Tue, 07 Aug 2012 19:19:18 GMT</pubDate><guid isPermaLink="false">7220f40c-b626-4848-a5f0-7b5d4f41396d:56</guid><dc:creator>JD Wallace</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;Building upon the POST, GET, DELETE, and PUT samples posted on the forum I have created a PowerShell demo script that will walk the user step by step through creating, assigning, modifying, and deleting a storage volume and host.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description><enclosure url="http://cortexdeveloper.com/cfs-file.ashx/__key/CommunityServer-Components-PostAttachments/00-00-00-00-56/Cortex-PowerShell-Demo-1.1.zip" length="2800" type="application/x-zip-compressed" /></item><item><title>Actionable Alert Codes and their meanings</title><link>http://cortexdeveloper.com/cortexdeveloper/m/other_documents/53.aspx</link><pubDate>Thu, 17 Nov 2011 20:22:15 GMT</pubDate><guid isPermaLink="false">7220f40c-b626-4848-a5f0-7b5d4f41396d:53</guid><dc:creator>Butch Clark</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Note:&amp;nbsp; Actionable ISE alert codes begin on page 47.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description><enclosure url="http://cortexdeveloper.com/cfs-file.ashx/__key/CommunityServer-Components-PostAttachments/00-00-00-00-53/Actionable_5F00_EventCodes.docx" length="99980" type="application/vnd.openxmlformats-officedocument.word" /></item><item><title>Perl Scripts for Automating Snapshots on Block Storage Controllers</title><link>http://cortexdeveloper.com/cortexdeveloper/m/communitycode/45.aspx</link><pubDate>Fri, 08 Apr 2011 16:56:51 GMT</pubDate><guid isPermaLink="false">7220f40c-b626-4848-a5f0-7b5d4f41396d:45</guid><dc:creator>Joel Grace</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;This package includes two example Perl scripts that allow for discovery of volumes on Block Storage Controller (Enterprise/Data Center) and the creation of snapshots through CorteX.&amp;nbsp; FIle descriptions:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;bsc.config - This is an XML config file that can be used to store the system Serial Number, IP address, and authentication info&lt;/p&gt;
&lt;p&gt;bsc_getvols.pl - This script will query the BSC for all volumes, and report their GUID (needed for snapshot creation) as well as the volume type (primary, snapshot, metadata, etc)&amp;nbsp; This script can be combined with bsc_snapvol.pl to perform the query and snapshot in a single script, or for verification purposes.&lt;/p&gt;
&lt;p&gt;bsc_snapvol.pl - This script takes a given GUID ($src_id) and snapshot name ($dst) to create a snapshot of a volume.&amp;nbsp; For the sake of an example script, the variables are set manually, but they certainly could be passed via @ARGV, entries in the bsc.config, or auto-generated, etc....&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description><enclosure url="http://cortexdeveloper.com/cfs-file.ashx/__key/CommunityServer-Components-PostAttachments/00-00-00-00-45/BSC_5F00_Snap.zip" length="2018" type="application/x-zip" /></item><item><title>Xiotech Emprise 5000 CorteX API Document</title><link>http://cortexdeveloper.com/cortexdeveloper/m/apispecification/37.aspx</link><pubDate>Fri, 03 Dec 2010 20:51:19 GMT</pubDate><guid isPermaLink="false">7220f40c-b626-4848-a5f0-7b5d4f41396d:37</guid><dc:creator>jnicholson</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;This is the PDF document for the Xiotech Emprise 5000 CorteX API.&amp;nbsp; It calls out the various resources and methods that can be manipulated on this storage device.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description><enclosure url="http://cortexdeveloper.com/cfs-file.ashx/__key/CommunityServer-Components-PostAttachments/00-00-00-00-37/160311_2D00_000_5F00_E_2D00_Cortex_5F00_API_5F00_101910.pdf" length="388140" type="application/pdf" /></item><item><title>iseperf.pl - Perl Script to Log ISE LUN Performance</title><link>http://cortexdeveloper.com/cortexdeveloper/m/communitycode/30.aspx</link><pubDate>Sat, 10 Jul 2010 06:39:32 GMT</pubDate><guid isPermaLink="false">7220f40c-b626-4848-a5f0-7b5d4f41396d:30</guid><dc:creator>Joel Grace</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;iseperf.pl is a Perl script and associated configuration file, that can be used to quickly and easily retrieve LUN performance data from Emprise 5000&amp;#39;s, and store in .csv format to be used for custom graphs, reports, and trend analysis. &lt;br /&gt;&lt;br /&gt;iseperf.conf - Configuration File&lt;br /&gt;&lt;br /&gt;This file is used to store the list of ISE&amp;#39;s that will be queried for performance data.&amp;nbsp; The format looks like this:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;config&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;systems&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;system1&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;serial&amp;gt;11111111&amp;lt;/serial&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ip&amp;gt;1.1.1.1&amp;lt;/ip&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;username&amp;gt;user&amp;lt;/username&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;password&amp;gt;pass&amp;lt;/password&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/system1&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;system2&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;serial&amp;gt;11111112&amp;lt;/serial&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ip&amp;gt;1.1.1.2&amp;lt;/ip&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;username&amp;gt;user&amp;lt;/username&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;password&amp;gt;pass&amp;lt;/password&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/system2&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/systems&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;options&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;loop&amp;gt;no&amp;lt;/loop&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;loop_interval&amp;gt;5&amp;lt;/loop_interval&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/options&amp;gt;&lt;br /&gt;&amp;lt;/config&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The primary tag is a user-defined friendly name of the ISE (in this case it&amp;#39;s system1 and system2).&amp;nbsp; Within these tags lies the necessary information to connect to the ISE, Serial Number, IP Address, Username, and Password.&amp;nbsp; Obviously you&amp;#39;ll want to protect this file, or the script could easily be modified to prompt for the sensitive information.&amp;nbsp; The configuration file also provides options for controller whether the script runs once per call, or loops infinitely based on a polling interval (loop_interval).&amp;nbsp; For instance, if you schedule the script with cron or MS Task Scheduler, you would want to set the &amp;lt;loop&amp;gt; option to no.&amp;nbsp; If you want to kick off the script and let it run on it&amp;#39;s own for an extended period of time, just set the &amp;lt;loop&amp;gt; tag to &amp;#39;yes&amp;#39; and then set the &amp;lt;loop_interval&amp;gt; to the number of seconds between each collection.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;iseperf.pl - Performance Logging Script&lt;br /&gt;&lt;br /&gt;The script can be run on just about any system that supports Perl.&amp;nbsp; Each run of the script produces a single output of the performance statistics for the LUN&amp;#39;s on the ISE being queried.&amp;nbsp; This could be useful for current point in time analysis, but it&amp;#39;s mainly designed so that it can be run at user-defined intervals to collect performance statistics.&amp;nbsp; Windows Task Scheduler, UNIX/Linux cron, or modifying the script with a loop statement and sleep intervals are all viable options.&amp;nbsp; The script will generate two files, a iseperf.csv for performance data, and iseperf.log for logging any failed attempts to query an ISE/Emprise 5000.&amp;nbsp; The script queries each ISE/Emprise 5000 listed in the configuration file through the Cortex RESTful API.&amp;nbsp; The Emprise 5000 replies back with the performance data in XML format which is then parsed and written to the .csv file.&amp;nbsp; Here&amp;#39;s a sample of the .csv output:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Date,ISE Serial,Volume,Read Percentage,Queue Depth,Queue Depth Max,Average Transfer Size,Read Latency Max,Write Latency Max,Read Latency,Write Latency,Total IOPS,Read IOPS,Write IOPS,Total Kbps,Read Kbps,Write Kbps&lt;br /&gt;7/9/10 23:50,11111111,demojg1,79,8,9,4096,35,16,3,0,3233,2563,670,12932,10252,2680&lt;br /&gt;7/9/10 23:51,11111111,demojg1,79,8,9,4096,167,29,3,0,2651,2096,555,10604,8384,2220&lt;br /&gt;7/9/10 23:52,11111111,demojg1,81,8,9,4096,257,54,3,0,2542,2065,477,10168,8260,1908&lt;br /&gt;7/9/10 23:53,11111111,demojg1,81,8,9,4096,257,67,3,0,2774,2255,519,11096,9020,2076&lt;br /&gt;7/9/10 23:54,11111111,demojg1,79,8,9,4096,257,98,3,0,2803,2234,569,11212,8936,2276&lt;br /&gt;7/9/10 23:55,11111111,demojg1,79,8,9,4096,264,98,3,0,2859,2284,575,11436,9136,2300&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The date field in the output is in a format that&amp;#39;s friendly to MS Excel, so you can easily sort the data and generate graphs, charts, etc.&lt;br /&gt;&lt;br /&gt;To run the script on Linux, simply open a shell and &amp;#39;cd&amp;#39; to the directory containing the script, and run it &amp;#39;./iseperf.pl&amp;#39;&lt;br /&gt;&lt;br /&gt;To run the script on Windows, first ensure Perl is installed (ActiveState Perl or Cygwin are great options), open DOS and navigate to the folder containing the script, and run &amp;#39;perl iseperf.pl&amp;#39;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Have fun!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-Joel&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description><enclosure url="http://cortexdeveloper.com/cfs-file.ashx/__key/CommunityServer-Components-PostAttachments/00-00-00-00-30/ISEPerfv3.zip" length="1794" type="application/x-zip-compressed" /></item><item><title>getFiles perl script which fetches XML data from an ISE</title><link>http://cortexdeveloper.com/cortexdeveloper/m/communitycode/21.aspx</link><pubDate>Tue, 27 Apr 2010 02:04:23 GMT</pubDate><guid isPermaLink="false">7220f40c-b626-4848-a5f0-7b5d4f41396d:21</guid><dc:creator>kmorgan</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Attached is the perl script I wrote to fetch the XML data from an ISE and save it in a directory for the virtual ISE available at&lt;/p&gt;
&lt;p&gt;external ip addresses 207.250.72.221 / 222&lt;/p&gt;
&lt;p&gt;internal ip addresses 172.21.187.71 / 72&lt;/p&gt;
&lt;p&gt;It fetches the data saving it in the specified directory, sets up a .htaccess file to rewrite the directory names -&amp;gt; file.xml. Another .htaccess file is created to setup basic athentication and prompt for the default userid/passwd challenge like an ISE (administrator/administrator).&lt;/p&gt;
&lt;p&gt;Regards&lt;/p&gt;
&lt;p&gt;/Karl&lt;/p&gt;
&lt;p&gt;P.S. Sorry for the .txt file, the forum would not let me upload it with a .pl extension&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description><enclosure url="http://cortexdeveloper.com/cfs-file.ashx/__key/CommunityServer-Components-PostAttachments/00-00-00-00-21/getFiles.txt" length="11515" type="text/plain" /></item><item><title>SNIA CDMI Version 1.0</title><link>http://cortexdeveloper.com/cortexdeveloper/m/apispecification/12.aspx</link><pubDate>Wed, 14 Apr 2010 19:10:38 GMT</pubDate><guid isPermaLink="false">7220f40c-b626-4848-a5f0-7b5d4f41396d:12</guid><dc:creator>peglarr</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;This is the SNIA Cloud Data Management Interface (CDMI) version 1.0 spec.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description><enclosure url="http://cortexdeveloper.com/cfs-file.ashx/__key/CommunityServer-Components-PostAttachments/00-00-00-00-12/Cloud_5F00_Data_5F00_Management_5F00_Interface_5F00_Draft1.0.pdf" length="5436042" type="application/pdf" /></item><item><title>Powered By CorteX Images</title><link>http://cortexdeveloper.com/cortexdeveloper/m/communitycode/6.aspx</link><pubDate>Wed, 07 Apr 2010 19:29:39 GMT</pubDate><guid isPermaLink="false">7220f40c-b626-4848-a5f0-7b5d4f41396d:6</guid><dc:creator>Butch Clark</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Set of three JPG images (One in black &amp;amp; white, two in color) that say "Powered by CORTEX", for use in documents and websites.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description><enclosure url="http://cortexdeveloper.com/cfs-file.ashx/__key/CommunityServer-Components-PostAttachments/00-00-00-00-06/PoweredByCorteXImages.zip" length="1424490" type="application/x-zip-compressed" /></item><item><title>ISE CorteX XML Schema Documents</title><link>http://cortexdeveloper.com/cortexdeveloper/m/communitycode/5.aspx</link><pubDate>Wed, 07 Apr 2010 13:07:16 GMT</pubDate><guid isPermaLink="false">7220f40c-b626-4848-a5f0-7b5d4f41396d:5</guid><dc:creator>jnicholson</dc:creator><slash:comments>0</slash:comments><description>&lt;h1&gt;CorteX XML Schema Documents&lt;/h1&gt;
&lt;p&gt;This is the first release of the ISE CorteX XML schema documents.&amp;nbsp; There are 18 individual documents that pertain to each of the available resources on the ISE.&amp;nbsp; Here is a quick list:&lt;/p&gt;
&lt;p&gt;1. allocations.xsd - Describes the /allocations resource for connections between /volumes and&amp;nbsp;/endpoints (LUN Mapping/Masking)&lt;/p&gt;
&lt;p&gt;2. arrays.xsd - Describes the /arrays &amp;quot;main page&amp;quot; or &amp;quot;start page&amp;quot; when coming into the system&lt;/p&gt;
&lt;p&gt;3. batteries.xsd - Describes the /batteries resource&lt;/p&gt;
&lt;p&gt;4. chronometer.xsd - Describes the /chronometer resource for date, time, time zone, DST, and uptime&lt;/p&gt;
&lt;p&gt;5. controllers.xsd - Describes the /controllers resource (ISE Managed Reliability Controllers) and includes the FC Port and SFP info&lt;/p&gt;
&lt;p&gt;6. endpoints.xsd - Describes the /endpoints resource for both the array and the remote hosts&lt;/p&gt;
&lt;p&gt;7. files.xsd - Describes the /files resource which contains the syslog, upgrade, modules, and diagreport&amp;nbsp;for each /controller and event and mgmt logs for the array, and provides the system SNMP MIB&lt;/p&gt;
&lt;p&gt;8. hosts.xsd - Describes the /hosts resource which is a grouping of one or more remote host /endpoints&lt;/p&gt;
&lt;p&gt;9. jobs.xsd - Describes the /jobs resource for any active long-lived operations&lt;/p&gt;
&lt;p&gt;10. media.xsd - Describes the /media resource (DataPacs on ISE) which is the physical media resource for /pools&lt;/p&gt;
&lt;p&gt;11. network.xsd - Describes the /network resource for DHCP, Wake-on-LAN, and reporting/configuring the local Ethernet connectivity info&lt;/p&gt;
&lt;p&gt;12. performance.xsd - Describes the /performance resource which contains the /volumes, /endpoints, /controllers, and /arrays instantaneous performance info&lt;/p&gt;
&lt;p&gt;13. pools.xsd - Describes the /pools resource which is the logical representation of /media.&amp;nbsp; It provides /volumes for /allocations to /endpoints&lt;/p&gt;
&lt;p&gt;14. powersupplies.xsd - Describes the /powersupplies resource which includes fan information&lt;/p&gt;
&lt;p&gt;15. query.xsd - Describes the /query resource which is the non-authenticated way to discover /arrays&lt;/p&gt;
&lt;p&gt;16. revision.xsd - Describes the /revision resource for doing code updates&lt;/p&gt;
&lt;p&gt;17. subscriptions.xsd - Describes the /subscriptions resource for Clients to subscribe for receiving alerts, general updates, and telemetry&lt;/p&gt;
&lt;p&gt;18. volumes.xsd - Describes the /volumes resource that is storage capacity carved out of /pools for /allocations to /endpoints&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description><enclosure url="http://cortexdeveloper.com/cfs-file.ashx/__key/CommunityServer-Components-PostAttachments/00-00-00-00-05/ISE-CorteX-XML-Schema-Documents-Version1.zip" length="20052" type="application/x-zip-compressed" /></item><item><title>STAT5000 1.1: Status and Performance monitoring: source and executables</title><link>http://cortexdeveloper.com/cortexdeveloper/m/apispecification/3.aspx</link><pubDate>Sat, 03 Apr 2010 16:41:44 GMT</pubDate><guid isPermaLink="false">7220f40c-b626-4848-a5f0-7b5d4f41396d:3</guid><dc:creator>toddburkey</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;This is the STAT5000 documented in the forum section as:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://cortexdeveloper.com/cortexdeveloper/f/13/t/2.aspx"&gt;http://cortexdeveloper.com/cortexdeveloper/f/13/t/2.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It is intended to be a lightweight intro to one of many methods of monitoring performance and status. It also has a start to the full configuration view (via tooltips) that I just haven&amp;#39;t had time to complete yet...been busy with the iPhone API (which is definitely NOT a one day excercise.)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; -Todd Burkey&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description><enclosure url="http://cortexdeveloper.com/cfs-file.ashx/__key/CommunityServer-Components-PostAttachments/00-00-00-00-03/STAT5000.ZIP" length="934292" type="application/x-zip-compressed" /></item></channel></rss>