DataPac XML element change

 

      With version 2.5.0, the datatype of the <fwversion> XML Element in the <media…> block changed from Int to String.  Depending upon how you do XML parsing, this may or may not be a concern.  We have encountered cases where generated XSD’s, used to generate XML parsing code, will fail to load the new XML message, because it now sees a string in the contents of the <fwversion> element, rather than an integer, and flags this as invalid data.

 

      Previously, the DataPac firmware version was an integer, typically somewhere between 100 and 105 or so.  Beginning in 2.5.0, this was expanded to include the actual HDD firmware version, as well as the actual SSD firmware version, if applicable, enclosed in parenthesis.  This change was only made in the <fwversion> element of the <media> (DataPac) XML messages.

 

 

Brief examples of the data change

Pre-2.5.0

<fwversion>100</fwversion>

 

2.5.0

This case shows the previously displayed value, as well as the Hard Disk Drive version in the DataPac.  Since there are only HDD’s in the DataPac, the value returned is “(4206)”.

<fwversion>100 (4206)</fwversion>

 

This example shows a Hyper DataPac that contains both HDD and SSD drives.  When both are present, the data returned will show the previously displayed value, followed by the HDD firmware version then the SSD firmware version, separated by a slash (/).  So this DataPac has HDD’s that are at firmware version 4206, as well as SSD’s at firmware version X040.

<fwversion>100 (4206/X040)</fwversion>

 

 

More Complete XML Examples

To put it more in context, below are the full CorteX XML response messages for the first full DataPac.  The 2.5.0 example is for a fully HDD DataPac.

 

Example of pre-2.5.0 version

  (generated by: http://ip_addr/storage/arrays/[serial#]/media)

 

<?xml version="1.0" encoding="iso-8859-1"?>

<media self="http://10.20.63.20/storage/arrays/3DE10195/media">

  <medium self="http://10.20.63.20/storage/arrays/3DE10195/media/1">

    <status value="1" string="Warning">

      <details value="0x00800000">

        <detail>Needs Service</detail>

      </details>

    </status>

    <taskstatus value="-1" string="None">

      <type>None</type>

      <progress>-1</progress>

    </taskstatus>

    <id>1</id>

    <serialnumber>3DED02DV</serialnumber>

    <model>DP900SP21-0000</model>

    <partnumber>801151-002</partnumber>

    <fwversion>100</fwversion>

    <tier value="3" string="Performance"/>

    <pool self="http://10.20.63.20/storage/arrays/3DE10195/pools/6001F93105C500000942000100000000">

      <index>1</index>

      <globalid>6001F93105C500000942000100000000</globalid>

    </pool>

    <capacity>26147</capacity>

    <sparelevel>20</sparelevel>

    <health value="0">

      <warning>80</warning>

      <critical>70</critical>

    </health>

    <temperature value="25" peak="25">

      <scale>celsius</scale>

      <warning>50</warning>

      <critical>60</critical>

      <low>10</low>

    </temperature>

    <position>1</position>

    <manufacturingdate>Thu Mar 21 07:00:00 2013</manufacturingdate>

    <led value="0" string="disabled"/>

    <hwversion>B</hwversion>

  </medium>

 

 

Example of 2.5.0 version

  (generated by: http://ip_addr/storage/arrays/[serial#]/media)

 

<?xml version="1.0" encoding="iso-8859-1"?>

<media self="http://10.20.63.20/storage/arrays/3DE10195/media">

  <medium self="http://10.20.63.20/storage/arrays/3DE10195/media/1">

    <status value="1" string="Warning">

      <details value="0x00800000">

        <detail>Needs Service</detail>

      </details>

    </status>

    <taskstatus value="-1" string="None">

      <type>None</type>

      <progress>-1</progress>

    </taskstatus>

    <id>1</id>

    <serialnumber>3DED02DV</serialnumber>

    <model>DP900SP21-0000</model>

    <partnumber>801151-002</partnumber>

    <fwversion>100 (4206)</fwversion>

    <tier value="3" string="Performance"/>

    <pool self="http://10.20.63.20/storage/arrays/3DE10195/pools/6001F93105C500000942000100000000">

      <index>1</index>

      <globalid>6001F93105C500000942000100000000</globalid>

    </pool>

    <capacity>26147</capacity>

    <sparelevel>20</sparelevel>

    <health value="0">

      <warning>80</warning>

      <critical>70</critical>

    </health>

    <temperature value="25" peak="25">

      <scale>celsius</scale>

      <warning>50</warning>

      <critical>60</critical>

      <low>10</low>

    </temperature>

    <position>1</position>

    <manufacturingdate>Thu Mar 21 07:00:00 2013</manufacturingdate>

    <led value="0" string="disabled"/>

    <hwversion>B</hwversion>

  </medium>