Open GoogleCodeExporter opened 9 years ago
Ah that's great. Thanks very much! Is there any chance you could send me one of
the temp files for it by running the plugin in debug mode? I'll add this in for
the next release though. If you want to give me your name I can credit you?
Félim
Original comment by felimwhiteley
on 27 Jul 2011 at 7:36
Any chance of those debug files at all? Be handy for getting some debug/test
output.
Original comment by felimwhiteley
on 5 Sep 2011 at 7:13
Hi, I can now help you test 10.7 support, as well as the Xsan feature. I need
10.7 support, and I need Xsan support, so... ;)
Eirik Wulff (:
Original comment by ei...@wulff.biz
on 14 Nov 2011 at 6:40
Hi Eirik,
That's great news :) Ok for Xsan could you using a browser go to the device
address, lets say it's 10.0.0.10, an admin user is xsanadmin with a password of
s3cur3. Using a browser go to:
https://10.0.0.10:311/
There will be a list of modules and in there there will hopefully be on with
xsan in the name. Click on it and it should list a set of actions. Could you
send me a list of those actions? Each time you select one it will generate XML.
Essentially I need that XML. This is how we generate the queries.
Thanks for you help! I'll have some 10.7 instructions in issue 13 if you have a
look in there soon.
Original comment by felimwhiteley
on 15 Nov 2011 at 11:38
OK, pretty simple. This is from a 10.6.8 Server, and a long list it is... Most
of it is probably for Xsan Admin, but here it is:
Get State:
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>getState</string>
</dict>
</plist>
Get Computer Properties
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>getComputerProperties</string>
<key>includeLUNs</key>
<false/>
</dict>
</plist>
tailFile
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>tailFile</string>
<key>path</key>
<string>/var/log/system.log</string>
<key>offset</key>
<integer>0</integer>
<key>amount</key>
<integer>10000</integer>
</dict>
</plist>
tailFile with filters
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>tailFile</string>
<key>path</key>
<string>/var/log/system.log</string>
<key>offset</key>
<integer>0</integer>
<key>amount</key>
<integer>10000</integer>
<key>withFilters</key>
<array>
<string>Operation</string>
</array>
</dict>
</plist>
Get Log Paths
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>getLogPaths</string>
</dict>
</plist>
Get LUN information
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>getLUNs</string>
</dict>
</plist>
Refresh LUN Information
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>refreshLUNs</string>
</dict>
</plist>
Get History data
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>getHistory</string>
<key>identifier</key>
<string>system</string>
<key>timeScale</key>
<integer>3600</integer>
</dict>
</plist>
Get History data information
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>getHistoryInfo</string>
</dict>
</plist>
Get Volume information
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>getVolumes</string>
</dict>
</plist>
Get Volume State
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>getVolumeState</string>
<key>name</key>
<string>SANVolume</string>
<key>variant</key>
<string>withDetails</string>
</dict>
</plist>
Set Volume State
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>setVolumeState</string>
<key>name</key>
<string>SANVolume</string>
<key>state</key>
<string>START</string>
</dict>
</plist>
Delete Volumes
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>deleteVolumes</string>
<key>volumeNames</key>
<array>
<string>SANVolume</string>
</array>
</dict>
</plist>
change Stripe Group Settings
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>changeStripeGroupSettings</string>
<key>volumes</key>
<array>
<dict>
<key>Name</key>
<string>SANVolume</string>
<key>StripeGroups</key>
<array>
<dict>
<key>StripeGroup</key>
<string>somePool</string>
<key>Exclusive</key>
<false/>
</dict>
</array>
</dict>
</array>
<key>update</key>
<false/>
</dict>
</plist>
Change Volume Settings
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>changeVolumeSettings</string>
<key>volumes</key>
<array>
<dict>
<key>Name</key>
<string>SANVolume</string>
</dict>
</array>
<string>update</string>
<false/>
</dict>
</plist>
Expand Volume
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>expandVolume</string>
<key>update</key>
<false/>
<key>volume</key>
<dict>
<key>Name</key>
<string>SANVolume</string>
<key>DiskTypes</key>
<array>
<dict>
<key>DiskType</key>
<string>NewLunType</string>
<key>SectorSize</key>
<integer>512</integer>
<key>Sectors</key>
<integer>1048576000</integer>
</dict>
</array>
<key>Disks</key>
<array>
<dict>
<key>Disk</key>
<string>NewLun</string>
<key>Status</key>
<true/>
<key>Type</key>
<string>NewLunType</string>
</dict>
</array>
<key>StripeGroups</key>
<array>
<dict>
<key>Affinity</key>
<string>NewPool</string>
<key>Exclusive</key>
<false/>
<key>Journal</key>
<false/>
<key>Metadata</key>
<false/>
<key>MultiPathMethod</key>
<string>Rotate</string>
<key>Nodes</key>
<array>
<dict>
<key>NodeDiskDevice</key>
<string>NewLun</string>
<key>NodeRotationIndex</key>
<integer>0</integer>
</dict>
</array>
<key>Read</key>
<true/>
<key>Status</key>
<true/>
<key>StripeBreadth</key>
<integer>256</integer>
<key>StripeGroup</key>
<string>NewPool</string>
<key>Write</key>
<true/>
</dict>
</array>
</dict>
</dict>
</plist>
Rename Volume
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>renameVolume</string>
<key>oldName</key>
<string>MyVolume</string>
<key>newName</key>
<string>NewVolume</string>
</dict>
</plist>
reinitialize Volumes
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>reinitializeVolumes</string>
<key>volumes</key>
<array>
<string>SANVolume</string>
</array>
</dict>
</plist>
Get Quota Information
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>getQuotas</string>
<key>name</key>
<string>SANVolume</string>
<key>withAllDiskUsage</key>
<false/>
</dict>
</plist>
Set User/Group quotas
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>setQuotas</string>
<key>name</key>
<string>SANVolume</string>
<key>quotas</key>
<array>
<dict>
<key>type</key>
<string>user</string>
<key>name</key>
<string>userName</string>
<key>softLimit</key>
<integer>10737418240</integer>
<key>hardLimit</key>
<integer>10737418240</integer>
<key>timeLimit</key>
<integer>60</integer>
</dict>
</array>
<key>withAllDiskUsage</key>
<false/>
</dict>
</plist>
Delete quotas
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>deleteQuotas</string>
<key>name</key>
<string>SANVolume</string>
<key>quotas</key>
<array>
<dict>
<key>type</key>
<string>user</string>
<key>name</key>
<string>userName</string>
</dict>
</array>
<key>withAllDiskUsage</key>
<false/>
</dict>
</plist>
Mount/unmount volume
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>mountVolume</string>
<key>name</key>
<string>SANVolume</string>
<key>showVolume</key>
<integer>2</integer>
<key>forgetVolume</key>
<false/>
</dict>
</plist>
Get Mount information
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>getMounts</string>
<key>name</key>
<string>SANVolume</string>
</dict>
</plist>
Get Mount Options
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>getMountOptions</string>
<key>name</key>
<string>SANVolume</string>
</dict>
</plist>
Do Idle
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>doIdle</string>
<key>count</key>
<integer>0</integer>
</dict>
</plist>
Preflight Lisence
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>preflyLicense</string>
<key>license</key>
<string>xsan-xxx-xxx-x-xxx-xxx-xxx-xxx-xxx-xxx-x</string>
<key>organization</key>
<string></string>
<key>registeredTo</key>
<string></string>
</dict>
</plist>
Set license
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>setLicense</string>
<key>license</key>
<dict>
<key>license</key>
<string>xsan-xxx-xxx-x-xxx-xxx-xxx-xxx-xxx-xxx-x</string>
<key>organization</key>
<string></string>
<key>registeredTo</key>
<string></string>
</dict>
</dict>
</plist>
Clear configuration settings
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>clearConfiguration</string>
</dict>
</plist>
Delete license
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>deleteLicense</string>
</dict>
</plist>
Get Open Directory Records
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>getOpenDirectoryRecords</string>
<key>nodePath</key>
<string>/Search</string>
<key>recordTypesArray</key>
<array>
<string>dsRecTypeStandard:Users</string>
</array>
<key>attributeTypesArray</key>
<array>
<string>dsAttrTypeStandard:RecordName</string>
<string>dsAttrTypeStandard:UniqueID</string>
<string>dsAttrTypeStandard:PrimaryGroupID</string>
<string>dsAttrTypeStandard:RealName</string>
<string>dsAttrTypeStandard:AppleMetaNodeLocation</string>
<string>dsAttrTypeStandard:RecordType</string>
</array>
<key>patternKey</key>
<string>nameStartsWith</string>
<key>patternText</key>
<string></string>
<key>maxRecords</key>
<integer>100</integer>
</dict>
</plist>
Get Affinity for File/Folder
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>getAffinity</string>
<key>volume</key>
<string>volumeName</string>
<key>path</key>
<string>filePath</string>
</dict>
</plist>
Set affinity for file/folder
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>getAffinity</string>
<key>volume</key>
<string>volumeName</string>
<key>path</key>
<string>filePath</string>
</dict>
</plist>
Get notifications types
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>getNotificationsTypes</string>
</dict>
</plist>
Get Notifications Configuration
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>getNotificationsConfiguration</string>
</dict>
</plist>
Get Notifications Configuration
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>setNotificationsConfiguration</string>
<key>config</key>
<dict>
<key>Config goes here</key>
<string>Fill it all in</string>
</dict>
</dict>
</plist>
Send Test Notification
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>sendNotification</string>
<key>messageType</key>
<string>freeSpace</string>
<key>messageSubject</key>
<string>Xsan Loves you</string>
<key>messageBody</key>
<string>Xsan loves storing your data VERY VERY MUCH.</string>
<key>config</key>
<dict>
<key>OPTIONAL config goes in this dict</key>
<string>Either remove this config dict or shove in a full notifications config.</string>
</dict>
</dict>
</plist>
Configure Network Interface
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>configureNetworkInterface</string>
<key>port</key>
<string>en0</string>
<key>address</key>
<string>10.0.0.50</string>
<key>subnetMask</key>
<string>255.255.0.0</string>
<key>router</key>
<string></string>
<key>addressFamily</key>
<string>IPv4</string>
</dict>
</plist>
Get Asset Notes
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>getNotes</string>
<key>notes</key>
<array>
<dict>
<key>class</key>
<string>Volume</string>
<key>name</key>
<string>SANVolume</string>
</dict>
</array>
</dict>
</plist>
Set Asset Notes
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>setNotes</string>
<key>notes</key>
<array>
<dict>
<key>class</key>
<string>Volume</string>
<key>name</key>
<string>SANVolume</string>
<key>contents</key>
<string>Insert your comment here.</string>
</dict>
</array>
</dict>
</plist>
Get All Asset Notes
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>getAllNotes</string>
<key>classes</key>
<array>
<string>Volume</string>
</array>
</dict>
</plist>
Rename Asset Notes
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>renameNotes</string>
<key>notes</key>
<array>
<dict>
<key>class</key>
<string>Volume</string>
<key>oldName</key>
<string>SANVolume</string>
<key>newName</key>
<string>XsanVol</string>
</dict>
</array>
</dict>
</plist>
Send Failover Notification
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>sendFailover</string>
<key>volume</key>
<string>volumeName</string>
<key>hostname</key>
<string>hostname</string>
</dict>
</plist>
Preflight Replica
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>preflightReplica</string>
<key>masterAddress</key>
<string></string>
<key>masterRootPassword</key>
<string></string>
<key>dirAdminName</key>
<string></string>
<key>dirAdminPassword</key>
<string></string>
</dict>
</plist>
Run dot_clean
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>runDotClean</string>
<key>volumeName</key>
<string>MyVolume</string>
</dict>
</plist>
Read Command Progress
<?xml version="1.0" encoding="UTF-8"?>
<plist version="0.9">
<dict>
<key>command</key>
<string>readProgress</string>
<key>volumeName</key>
<string>MyVolume</string>
</dict>
</plist>
Original comment by ei...@wulff.biz
on 15 Nov 2011 at 12:11
That's a massive help! Thanks Eirik, I'll go through these and get updates out
asap.
Original comment by felimwhiteley
on 15 Nov 2011 at 4:00
Sorry for the delay in this Eirik. I't sbeen crazy hectic at the moment. I've
an update coming in next hour, also I'll be working on this more full time. The
vesion I'll let you grab will be fairly basic, it's mainly so I can pull some
debug from your machine and build the plugin around it.
Original comment by felimwhiteley
on 14 Dec 2011 at 10:37
Hi Eirik,
Could you download the following and run it with the DEBUG option:
http://libsrvrmgrd-osx.googlecode.com/svn/trunk/check_osx_server
http://libsrvrmgrd-osx.googlecode.com/svn/trunk/srvrmgrdIO.py
This should create files in /tmp that I can then parse for useful info. Again
sorry for the delay!
Original comment by felimwhiteley
on 14 Dec 2011 at 11:02
Original issue reported on code.google.com by
e%wulff....@gtempaccount.com
on 26 Jul 2011 at 4:40