QA Test checklist prior to release:

   1.0 Review Documentation
	-- Revision dates in index.html, README.txt, TODO.txt
	-- Set version to pre-release one.
        -- build packages with pre-release version id.
        0_4_9b

   1.1 drobom status... check for accuracy.

       /dev/sdf:/dev/sdg /drobo01 Drobo0 00% full - ([], 0)

       OK

   1.2 drobom settime
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0# drobom info firmware
---------------------------------------------------------
Info about Drobo     Name: Drobo0       Devices: /dev/sdf:/dev/sdg
---------------------------------------------------------
query firmware result:
(1, 248, 15408, 13, 6, 'Dec  2 2008,10:24:08', 'ArmMarvell', '1.3.0', ['NO_AUTO_REBOOT', 'NO_FAT32_FORMAT', 'USED_CAPACITY_FROM_HOST', 'DISKPACKSTATUS', 'ENCRYPT_NOHEADER', 'CMD_STATUS_QUERIABLE', 'VARIABLE_LUN_SIZE_1_16', 'PARTITION_LUN_GPT_MBR', 'FAT32_FORMAT_VOLNAME', 'SUPPORTS_DROBOSHARE', 'SUPPORTS_NEW_LUNINFO2'])
drobo says firmware revision:  1 . 248 ( 15408 ) was built:  Dec  2 2008,10:24:08

---------------------------------------------------------
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0#

   OK
   1.3 drobom status... check for accuracy.

/dev/sdf:/dev/sdg /drobo01 Drobo0 00% full - ([], 0)

   1.4 drobom fwload (something really old) 1.03
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0# drobom fwload ../../firmwares/v1.03.tdf                                                                                
Reading Firmware from = ../../firmwares/v1.03.tdf                                         
validateFirmware start...                                                                 
header+body lengths validated.  Good.                                                     
Magic number validated. Good.                                                             
484 + 2748276 = 2748760 length validated. Good.                                           
CRC from header: 358896933, calculated using python zlib crc32: 358896933                 
CRC for body from header: 3943205637, calculated: 3943205637                              
32 bit Cyclic Redundancy Check correct. Good.                                             
validateFirmware successful...                                                            
write is  1% done.                                                                        
write is  2% done.                                                                        
write is  3% done.                                                                        
	.
	.
	.
write is 89% done.
write is 90% done.
write is 91% done.
write is 93% done.
write is 94% done.
write is 95% done.
write is 96% done.
write is 97% done.
write is 98% done.
write is 100% done.
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0# drobom status
/dev/sdf:/dev/sdg /drobo01 Drobo0 00% full - (['New firmware installed'], 0)

OK.
     1.4.1 drobom shutdown -- to run the firmware.
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0# drobom shutdown
unmounting:  /drobo01
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0#

OK.
     1.4.2 restart (unplug and replug usb)

didn't restart on USB unplug, so...
unplugged power, and re-plugged.  still no joy....
unplug and re-plug USB... now it came back...
OK

     1.4.3 run drobom status etc.. (make sure it is running 1.0.3)
       should say disk pack is un-readable or some such.

root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0# drobom status
firmware too old to report capacity properly... or the drobo is empty...
/dev/sdf - TRUSTED DATA -1% full - (['Unknown version'], 0)
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0#

OK

     1.4.4 hard reset to factory default 
        after downgrade, disk pack will no longer be recognized. need to reset to make Drobo
        look at the disks.
        (with the pin in the back and all that.)
        http://www.drobospace.com/article/10207/Resetting-the-Drobo/?highlight=reset+drobo

drobom shutdown, takes a while... but OK.
<reset>

     1.4.3 place a file on the Drobo. make sure it works.
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0# drobom setlunsize 1 PleaseEraseMyData
You asked nicely, so I will set the lunsize to 1 as you requested
set lunsize to 1 TiB
Done... Drobo is likely now rebooting.  In a few minutes, it will come back with the new LUN size.
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0# drobom status
/dev/sdf - TRUSTED DATA 00% full - ([], 0)
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0# 

Doesn't work...
drobom format 
                 
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0# drobom format FAT32 PleaseEraseMyData                                                                                  
You asked nicely, so I will format FAT32 as you requested                                 
OK, I built the script but nothing is erased yet...                                       
If you are really sure, go ahead and do: sh /tmp/fmtscript                                
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0# more /tmp/fmtscript          
#!/bin/sh                                                                                 
parted /dev/sdf mklabel msdos                                                             
parted /dev/sdf mkpart primary fat32 0 100%                                               
parted /dev/sdf print; sleep 5                                                            
mkdosfs -v -v -F 32 -S 4096 -n Drobo01 /dev/sdf1                                          
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0# sh -x /tmp/fmtscript         
+ parted /dev/sdf mklabel msdos                                                           
Information: Don't forget to update /etc/fstab, if necessary.                             

+ parted /dev/sdf mkpart primary fat32 0 100%
+ parted /dev/sdf print                      

Disk /dev/sdf: 2199GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos                   

Number  Start   End     Size    Type     File system  Flags
 1      32.3kB  2199GB  2199GB  primary               lba  

Information: Don't forget to update /etc/fstab, if necessary.             

+ sleep 5
+ mkdosfs -v -v -F 32 -S 4096 -n Drobo01 /dev/sdf1
mkdosfs 2.11 (12 Mar 2005)                        
Boot jump code is eb 58                           
Using 32 reserved sectors                         
536870170 sectors for FAT+data, starting with 32 sectors/cluster
Trying with 32 sectors/cluster:                                 
FAT12: #clu=16776808, fatlen=6144, maxclu=4080, limit=4080      
FAT12: too much clusters                                        
FAT16: #clu=16776680, fatlen=8192, maxclu=65520, limit=65520    
FAT16: too much clusters                                        
FAT16: would be misdetected as FAT12                            
FAT32: #clu=16776168, fatlen=16383, maxclu=16776192, limit=268435440
Using sector 6 as backup boot sector (0 = none)                     
/dev/sdf1 has 255 heads and 63 sectors per track,                   
logical sector size is 4096,                                        
using 0xf8 media descriptor, with 536870202 sectors;                
file system has 2 32-bit FATs and 32 sectors per cluster.           
FAT size is 16383 sectors, and provides 16776168 clusters.          
Volume ID is 498127e7, volume label Drobo01    .                    
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0#        
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0#        
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0# mount /drobo01
mount: can't find /drobo01 in /etc/fstab or /etc/mtab                      
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0# mount /dev/sdf /drobo01
mount: you must specify the filesystem type                                         
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0# mount -t msdos /dev/sdf /drobo01                                                                                       
mount: wrong fs type, bad option, bad superblock on /dev/sdf,                             
       missing codepage or helper program, or other error                                 
       In some cases useful info is found in syslog - try                                 
       dmesg | tail  or so                                                                

root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0# mount -t msdos /dev/sdf1 /drobo01                                                                                      
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0#

copied some files, worked ok, aside from msdos file naming limitations.

OK.
     1.4.4 drobom status -- have a look.
drobom info firmware
---------------------------------------------------------
Info about Drobo     Name: TRUSTED DATA       Devices: /dev/sdf
---------------------------------------------------------
query firmware result:
(1, 172, 9222, 57, 0, 'Sep 13 2007,16:07:38', 'ArmMarvell', '1.0.3', ['NO_AUTO_REBOOT', 'NO_FAT32_FORMAT', 'USED_CAPACITY_FROM_HOST', 'DISKPACKSTATUS', 'ENCRYPT_NOHEADER', 'CMD_STATUS_QUERIABLE'])
drobo says firmware revision:  1 . 172 ( 9222 ) was built:  Sep 13 2007,16:07:38

---------------------------------------------------------
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0#

   
   1.5 drobom fwupgrade

root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0# drobom fwupgrade            
looking for firmware for: armmarvell 1.172.9222 hw version: 1.00                         
This Drobo should be running:  raptor/firmware/armmarvell/v1.12.tdf                      
looking for: /root/.drobo-utils/armmarvell_1.00_v1.12.tdf                                
local copy already present: /root/.drobo-utils/armmarvell_1.00_v1.12.tdf                 
Reading Firmware from = /root/.drobo-utils/armmarvell_1.00_v1.12.tdf                     
validateFirmware start...                                                                
header+body lengths validated.  Good.                                                    
Magic number validated. Good.                                                            
484 + 2942433 = 2942917 length validated. Good.                                          
CRC from header: 1401631832, calculated using python zlib crc32: 1401631832              
CRC for body from header: 2717012571, calculated: 2717012571                             
32 bit Cyclic Redundancy Check correct. Good.                                            
validateFirmware successful...                                                           
correct fw available                                                                     
write is  1% done.                                                                       
write is  2% done.                                                                       
write is  3% done.                                                                       
write is  4% done.                                                                       
write is 94% done.                                                                       
write is 95% done.                                                                       
write is 96% done.                                                                       
write is 98% done.                                                                       
write is 99% done.                                                                       
write is 100% done.                                                                      
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0# drobom status               
/dev/sdf /drobo01 TRUSTED DATA 00% full - (['New firmware installed'], 0)                

OK.

     1.5.1 drobom shutdown - to run the firmware.
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0# drobom shutdown             
unmounting:  /drobo01                                                                    
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0# drobom status               
No Drobo discovered, is one connected?                                                   
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0# dmesg | tail                
[921551.155386] sd 23:0:0:0: [sdf] 4294967160 512-byte hardware sectors (2199023 MB)     
[921551.165793] sd 23:0:0:0: [sdf] Write Protect is off                                  
[921551.165798] sd 23:0:0:0: [sdf] Mode Sense: 03 00 00 00                               
[921551.165800] sd 23:0:0:0: [sdf] Assuming drive cache: write through                   
[921551.165996]  sdf: unknown partition table                                            
[921551.196000] sd 23:0:0:0: [sdf] Attached SCSI disk                                    
[921551.196090] sd 23:0:0:0: Attached scsi generic sg6 type 0                            
[921701.440394] FAT: invalid media value (0x00)                                          
[921701.440399] VFS: Can't find a valid FAT filesystem on dev sdf.                       
[921921.055883] usb 1-6: USB disconnect, address 37                                      
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0#

had to unplug USB and replug for it to re-connect.

     1.5.2 drobom status -- have a look.

drobom info firmware
---------------------------------------------------------
Info about Drobo     Name: TRUSTED DATA       Devices: /dev/sdf
---------------------------------------------------------
query firmware result:
(1, 201, 12942, 12, 6, 'May 13 2008,15:29:32', 'ArmMarvell', '1.1.2', ['NO_AUTO_REBOOT', 'NO_FAT32_FORMAT', 'USED_CAPACITY_FROM_HOST', 'DISKPACKSTATUS', 'ENCRYPT_NOHEADER', 'CMD_STATUS_QUERIABLE', 'VARIABLE_LUN_SIZE_1_16', 'PARTITION_LUN_GPT_MBR', 'FAT32_FORMAT_VOLNAME', 'SUPPORTS_DROBOSHARE', 'SUPPORTS_NEW_LUNINFO2'])
drobo says firmware revision:  1 . 201 ( 12942 ) was built:  May 13 2008,15:29:32

---------------------------------------------------------
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0#
OK

     1.5.3 repeat 1.5 perhaps a second time (as needed to get to current)

root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0# 
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0# drobom fwupgrade
looking for firmware for: armmarvell 1.201.12942 hw version: 1.00            
This Drobo should be running:  raptor/firmware/armmarvell/v1.3.0.tdz         
looking for: /root/.drobo-utils/armmarvell_1.00_v1.3.0.tdz                   
not present, fetching from drobo.com                                         
downloading firmware  raptor/firmware/armmarvell/v1.3.0.tdz ...              
local copy written                                                           
Reading Firmware from = /root/.drobo-utils/armmarvell_1.00_v1.3.0.tdz        
validateFirmware start...                                                    
header+body lengths validated.  Good.                                        
Magic number validated. Good.                                                
484 + 3130135 = 3130619 length validated. Good.                              
CRC from header: 4183081909, calculated using python zlib crc32: 4183081909  
CRC for body from header: 2216664787, calculated: 2216664787                 
32 bit Cyclic Redundancy Check correct. Good.                                
validateFirmware successful...                                               
downloading done                                                             
validateFirmware start...                                                    
header+body lengths validated.  Good.                                        
Magic number validated. Good.                                                
484 + 3130135 = 3130619 length validated. Good.                              
CRC from header: 4183081909, calculated using python zlib crc32: 4183081909  
CRC for body from header: 2216664787, calculated: 2216664787                 
32 bit Cyclic Redundancy Check correct. Good.                                
validateFirmware successful...                                               
correct fw available                                                         
write is  1% done.                                                           
write is  2% done.                                                           
write is  3% done.                                                           
write is  4% done.                                                           
write is  5% done.                                                           
write is 95% done.
write is 96% done.
write is 97% done.
write is 98% done.
write is 99% done.
write is 100% done.
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0# drobom status
/dev/sdf - TRUSTED DATA 00% full - (['New firmware installed'], 0)
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0#

drobom status
/dev/sdf - Drobo disk pack 00% full - ([], 0)
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0# drobom info firmware
---------------------------------------------------------
Info about Drobo     Name: Drobo disk pack       Devices: /dev/sdf
---------------------------------------------------------
query firmware result:
(1, 248, 15408, 13, 6, 'Dec  2 2008,10:24:08', 'ArmMarvell', '1.3.0', ['NO_AUTO_REBOOT', 'NO_FAT32_FORMAT', 'USED_CAPACITY_FROM_HOST', 'DISKPACKSTATUS', 'ENCRYPT_NOHEADER', 'CMD_STATUS_QUERIABLE', 'VARIABLE_LUN_SIZE_1_16', 'PARTITION_LUN_GPT_MBR', 'FAT32_FORMAT_VOLNAME', 'SUPPORTS_DROBOSHARE', 'SUPPORTS_NEW_LUNINFO2'])
drobo says firmware revision:  1 . 248 ( 15408 ) was built:  Dec  2 2008,10:24:08

---------------------------------------------------------
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0#


   1.7 drobom setlunsize 3 (should fail),1,2  

oot@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0# drobom setlunsize 3
lun size needs to be a power of 2 TiB, 3 is invalid
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0# drobom setlunsize 1
This is guaranteed to erase your disk, so you must say: PleaseEraseMyData
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0# drobom setlunsize 1 PleaseEraseMyData
You asked nicely, so I will set the lunsize to 1 as you requested
set lunsize to 1 TiB
Done... 
Drobo is likely now rebooting.  In a few minutes, it will come back with the new LUN size.
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0#

drobom info config
---------------------------------------------------------
Info about Drobo     Name: Drobo disk pack       Devices: /dev/sdf:/dev/sdg
---------------------------------------------------------
query config result:
(4, 16, 1099511557632)
max lun size is:  1099511557632

---------------------------------------------------------
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0#

OK.

   1.8 drobom create file systems, each type.
    msdos
    ntfs

root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0# drobom format ntfs PleaseEraseMyData                                                                                   
You asked nicely, so I will format ntfs as you requested                                  
OK, I built the script but nothing is erased yet...                                       
If you are really sure, go ahead and do: sh /tmp/fmtscript                                
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0# sh -x /tmp/fmtscript         
+ parted /dev/sdf mklabel gpt                                                             
Information: Don't forget to update /etc/fstab, if necessary.                             

+ parted /dev/sdf mkpart ntfs 0 100%
+ parted /dev/sdf print             

Disk /dev/sdf: 1100GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt                     

Number  Start   End     Size    File system  Name  Flags
 1      17.4kB  1100GB  1100GB               ntfs       

Information: Don't forget to update /etc/fstab, if necessary.             

+ sleep 5
+ mkntfs -f -L Drobo01 /dev/sdf1
Cluster size has been automatically set to 4096 bytes.
Creating NTFS volume structures.                      
mkntfs completed successfully. Have a nice day.       
+ parted /dev/sdg mklabel gpt                         
Information: Don't forget to update /etc/fstab, if necessary.             

+ parted /dev/sdg mkpart ntfs 0 100%
+ parted /dev/sdg print             

Disk /dev/sdg: 1100GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt                     

Number  Start   End     Size    File system  Name  Flags
 1      17.4kB  1100GB  1100GB               ntfs       

Information: Don't forget to update /etc/fstab, if necessary.             

+ sleep 5
+ mkntfs -f -L Drobo01 /dev/sdg1
Cluster size has been automatically set to 4096 bytes.
Creating NTFS volume structures.                      
mkntfs completed successfully. Have a nice day.       

OK
    ext3

root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0# drobom format ext3 PleaseEraseMyData                                                                               
You asked nicely, so I will format ext3 as you requested                              
OK, I built the script but nothing is erased yet...                                   
If you are really sure, go ahead and do: sh /tmp/fmtscript                            
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0# sh -x /tmp/fmtscript+ parted /dev/sdf mklabel gpt                                                    
Information: Don't forget to update /etc/fstab, if necessary.                    

+ parted /dev/sdf mkpart ext2 0 100%
+ parted /dev/sdf print             

Disk /dev/sdf: 1100GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt                     

Number  Start   End     Size    File system  Name  Flags
 1      17.4kB  1100GB  1100GB               ext2       

Information: Don't forget to update /etc/fstab, if necessary.             

+ sleep 5
+ mke2fs -j -i 262144 -L Drobo01 -m 0 -O sparse_super,^resize_inode /dev/sdf1
mke2fs 1.40.8 (13-Mar-2008)                                                  
Filesystem label=Drobo01                                                     
OS type: Linux                                                               
Block size=4096 (log=2)                                                      
Fragment size=4096 (log=2)                                                   
4194304 inodes, 268435430 blocks                                             
0 blocks (0.00%) reserved for the super user                                 
First data block=0                                                           
8192 block groups                                                            
32768 blocks per group, 32768 fragments per group                            
512 inodes per group                                                         
Superblock backups stored on blocks:                                         
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,     
        102400000, 214990848                                                    

Writing inode tables: done                            
Creating journal (32768 blocks): done                 
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 23 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
+ parted /dev/sdg mklabel gpt                                      
Information: Don't forget to update /etc/fstab, if necessary.             

+ parted /dev/sdg mkpart ext2 0 100%
+ parted /dev/sdg print             

Disk /dev/sdg: 1100GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt                     

Number  Start   End     Size    File system  Name  Flags
 1      17.4kB  1100GB  1100GB               ext2

Information: Don't forget to update /etc/fstab, if necessary.

+ sleep 5
+ mke2fs -j -i 262144 -L Drobo01 -m 0 -O sparse_super,^resize_inode /dev/sdg1
mke2fs 1.40.8 (13-Mar-2008)
Filesystem label=Drobo01
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
4194304 inodes, 268435430 blocks
0 blocks (0.00%) reserved for the super user
First data block=0
8192 block groups
32768 blocks per group, 32768 fragments per group
512 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
        102400000, 214990848

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information:
done
This filesystem will be automatically checked every 29 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
root@pepino:/drobo10/peter/drobo/packages/drobo-utils-0_5_0#
r

OK.

   ....

   1.9 with fw >= 1.30
     drobom name 
     drobom status...

root@pepino:~# drobom status
/dev/sdf:/dev/sdg - Drobo disk pack 00% full - ([], 0)
root@pepino:~# drobom name hoho
root@pepino:~# drobom status
/dev/sdf:/dev/sdg - hoho 00% full - ([], 0)
root@pepino:~#

OK.

   2.0 Re-build packages with final release id.
