[OpenAFS] building swig based interfaces
Jakub Moscicki
Jakub.Moscicki@cern.ch
Sun, 1 Sep 2013 11:13:23 +0000
Hi,
What is the use case you are trying to address?
Part of our service mgmt infrastructure is python-based, including a fairly=
complex backup system. However, it builds on an API layer which internally=
uses CLI via a subprocess (vos, fs, =85) and we found this is completely s=
ufficient. Moreover, you do not expose to the python layer any runtime pro=
blems occurring in extension libraries such as crashes, memory leaks etc...=
(this is effectively encapsulated in a subprocess) so I would even argue t=
hat from this point of view it is a technically more desirable approach (an=
d easier, too). However our internal API implements only what we need and i=
s quite limited.=20
Simple example of usage (sum the size occupied by volumes (which follow a c=
ertain name pattern) on all partitions of a file server)::
from cernafs import vos
>>> for p in vos.listpart('afs108'):
... print p, sum([v.sizeKB for v in vos.listvol('afs108',p) if v.name =
and v.name[0] in ['q','s']])/1024./1024.
b 154.509589195
c 260.041460991
d 215.590883255
e 292.481509209
f 221.171380043
g 262.226537704
h 214.474150658
i 159.367405891
j 336.694796562
k 227.23085022
l 338.797628403
m 283.453014374
n 235.3145895
o 148.527907372
s 0.000127792358398
=20
kuba
--
On Sep 1, 2013, at 12:27 PM, G=E9mes G=E9za <geza@kzsdabas.hu>
wrote:
> Hi,
>=20
> I've decided to start a project for building a swig based python interfac=
e for afs commands/functions. The advantage is that a swig interface can be=
further used for creating interfaces for other languages. Currently I know=
about only one limited python-afs interface which calls the afs binary com=
mands instead of implementing an interface to the C code (https://github.co=
m/openafs-contrib/afspy). On the other hand the (to my knowledge) only inte=
rface: AFSPerl (http://cpansearch.perl.org/src/NOG/AFS-2.6.3/) uses subopti=
mal interfaces making it incompatible with 1.6.x and 64 bit (https://lists.=
openafs.org/pipermail/openafs-info/2012-September/038684.html).
>=20
> So if you can give me some pointers about where should I look in the open=
afs source for the declaration of different functions? My first guess would=
be the files in libadmin, but I'm probably wrong :-(
>=20
> Thank you in advance!
>=20
> Cheers
>=20
> Geza Gemes
> _______________________________________________
> OpenAFS-info mailing list
> OpenAFS-info@openafs.org
> https://lists.openafs.org/mailman/listinfo/openafs-info