[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
{'1':
{'name' : 'de.inqbus.storage:vmigration',
'Driver' :'iscsi',
'State' : 'ready',
'nexus' : {
'1': {
'Initiator': iqn.1993-08.org.debian:01:d48cfa3cdf83,
'Connection': 0,
'ip' : '127.0.0.1'
}
}
'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:
127.0.0.0/24
Best Regards,
Volker
--
====================================================
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