[stgt] Machine readable output for tgtadm --lld [driver] --op show --mode target

Dr. Volker Jaenisch volker.jaenisch at inqbus.de
Sun Jun 7 02:26:25 CEST 2009

Hi Chris!

Thanks for your support.

Chris Webb schrieb:
> "Dr. Volker Jaenisch" <volker.jaenisch at inqbus.de> writes:
>> We are coding a fencing daemon for the stgt target in python/zope3/grok.
> We use stgt as part of a infrastructure management system too, and would
> find more regular and parseable output invaluable. However, our system is
> written in shell and C, so JSON would be as bad for us as the current 'human
> readable' form: it's just not a very 'system-level' format choice.
JSON you may easily use from within C (And some dozens of other languages).
Please have a look at http://json.org where you will find to 5 JSON 
libraries for C.

But I agree that  some other output views are needed. E.G. someone only 
likes to have the information
"What initiators are currently connectet to target foo". Then he should 
get a simple list of the initiators.

>> killer:/home/volker/workspace/tgt-0.9.6/usr# ./tgtadm --lld iscsi --op
>> show --mode target
>> {'1':
>>    {'class' : 'target'
>>      'name' : 'de.inqbus.storage:vmigration'
> How about just a straight list of
>   de.inqbus.storage:vmigration iscsi ready
>   [...]
> for --op show-brief --mode target, which is a small change given where
> you've stopped coding :-) and can be trivially parsed in any language
> including C and shell, so it'll be more widely useful to administrators.
If you like to get the whole status picture as one big chunk there will 
have to be more than just a simple list since there are some 1:N 
relations which do not fit into one list.
For instance we need the ACL information as well as the intitiators over 
all targets at once.
This is only possible with a data structure that can handle hirachically 
organized data.
Beside XML which may be an overkill I know only JSON as a common and 
standard following and easily parseable exchange format.

This is the actual state of coding

    {'name' : 'de.inqbus.storage:vmigration',
    'Driver' :'iscsi',
    'State' : 'ready',
    'nexus' : {
        '1': {
            'Initiator': iqn.1993-08.org.debian:01:d48cfa3cdf83,
            'Connection': 0,
            'ip' : ''
    'luns' : {
        '0': {
            'Type': controller,
            'SCSI ID': 'IET     00010000',
            'SCSI SN': 'beaf10',
            'Size': '0 MB',
            'Online': 'Yes',
            'Removable media': 'No',
            'Backing store': 'No backing store'
        '1': {
            'Type': disk,
            'SCSI ID': 'IET     00010001',
            'SCSI SN': 'beaf11',
            'Size': '250059 MB',
            'Online': 'Yes',
            'Removable media': 'No',
            'Backing store': '/dev/sda'
    }               <<< here we are now
    Account information:
    ACL information:

Best Regards,


   inqbus it-consulting      +49 ( 341 )  5643800
   Dr.  Volker Jaenisch      http://www.inqbus.de
   Herloßsohnstr.    12      0 4 1 5 5    Leipzig
   N  O  T -  F Ä L L E      +49 ( 170 )  3113748

To unsubscribe from this list: send the line "unsubscribe stgt" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

More information about the stgt mailing list