| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Change-Id: Iced9bb59a33c38964e012f9d6c9ef13efc1f184c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As per the current code, this is the behavior:
>>> with v.fopen("/abc", 'r') as f:
... data = f.read(5)
>>> print data
<ctypes.c_char_Array_2 object at 0x7fda7d6bbb90>
>>> print data.value
hello
>>>
It's incorrect to return a ctypes internal object back to the user.
In Python 2.x, read() always returns a string. It's really upto
the consumer to decode this string into whatever encoding it was
written with.
This patch reverts parts of this old change:
Ia2bb47343880cbf7121fed9510e4cfa085fe23bd
Change-Id: Ia1d3e5834be2b856776bd3cf8382a17ffd61d5df
Signed-off-by: Prashanth Pai <ppai@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Added commonly used path based operations that were missing from
the Volume class.
* Fixed function prototypes at places where it should be ssize_t
and not size_t. This caused overflow error at times.
* Added doc strings wherever they were missing.
Change-Id: I6ce28038da3cd0f89ab075045bb4092dd95e21c4
Signed-off-by: Prashanth Pai <ppai@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Volume.fopen() method mimics Python's built-in File object
Example:
with v.fopen("/path/to/file", "w") as f:
f.write("hello world")
fopen() returns a File object.
Volume.open() method mimics os.open() Python API.
Example:
with File(v.open("/path/to/file", os.O_WRONLY | os.O_CREAT)) as f:
f.write("hello world")
open() returns the raw glfd that (as of today) needs to be passed to File class.
In future, more APIs will be provided to directly use the glfd returned.
Unlike their C versions, these methods do not return
anything on success. If methods fail, exceptions are raised.
Added docstrings to methods in File class.
Change-Id: Ie46fc77a899806d396762e6740e1538ea298d6e2
Signed-off-by: Prashanth Pai <ppai@redhat.com>
Signed-off-by: Thiago da Silva <thiago@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
* Validate inputs during initialization of Volume object.
* Move glfs_new() and glfs_init() into mount() method.
* Provide user consumable unmount() method.
* Provide "mounted" property to Volume object. Users can now check state
whether a volume is virtual mounted or not.
Change-Id: Idc53ee7f9386ed995315bd5fb492a7d36f44875f
Signed-off-by: Prashanth Pai <ppai@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Usually, this failure happens in source installs of glusterfs.
find_library() is able to find the .so file but ctypes.CDLL()
cannot load it!
Refer: http://bugs.python.org/issue18502
With this change, users are advised to modify LD_LIBRARY_PATH
when exception is raised
Also, passed the LD_LIBRARY_PATH env variable to tox environment
so that unit tests and functional tests can run.
Change-Id: Iffc5633088b3886739a8534692db88db7c3d02b7
Signed-off-by: Prashanth Pai <ppai@redhat.com>
|
|
|
|
|
| |
Change-Id: I8678148961ee192d96e887b6ca7f4b8e4ba89507
Signed-off-by: Prashanth Pai <ppai@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
This project has to be shipped as rpm for various distributions like
Fedora,Centos,RHEL.etc, so that the clients like vdsm, openstack..etc
can make use of python bindings of libgfapi library of GlusterFS.
This patch introduce first version of the spec file for this project.
Change-Id: Icb5d83fc8b278a3cd7b89d55b5fda15a84c2fa82
Signed-off-by: Humble Devassy Chirammal <hchiramm@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The goal is to consolidate all gluster related python packages
under single namespace "gluster".
From client's perspective, it was:
from glusterfs import gfapi
Henceforth, it wil be:
from gluster import gfapi
Change-Id: If2509f570563ae7660892963607c9474313f803c
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
making this change to avoid package conflicts with
gluster-swift and glusterfs-api rpm. Eventually we will remove
the python code from glusterfs-api rpm and create a new rpm package
from libgfapi-python.
Change-Id: I1b20cd747e500aed17fba89f96e62423325b5230
Signed-off-by: Thiago da Silva <thiago@redhat.com>
|
|
|
|
|
|
|
| |
These new functions are required to be used by gluster-swift
Change-Id: Ifb68f2b4494bf375feabb130831f9e076dc5b94a
Signed-off-by: Thiago da Silva <thiago@redhat.com>
|
|
|
|
|
|
|
| |
Added same license as gluster-swift
Change-Id: Ib190b4e6def5d2ab87b71a04142f6344060d8a6d
Signed-off-by: Thiago da Silva <thiago@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
These are mostly helper methods similar to functions provided
by the python os module
helpfer functions added: exists, getsize, isdir, isfile, islink
glfs functions added: removexattr, stat
Change-Id: I3581a96224151481292a4e506d8c52b8acf79e49
Signed-off-by: Thiago da Silva <thiago@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
both functions were only supporting text data and needed to be
changed to support binary data.
The issue was found while testing libgfapi-python with smallfile
(https://github.com/bengland2/smallfile).
When calling gflfs_write, ctypes has no problem converting strings
to the correct C data type, but is unable to handle bytearray:
b = bytearray(1024)
with vol.create(path, os.O_WRONLY | os.O_EXCL, 0644) as fd:
fd.write(b)
It would throw this error:
exception: argument 2: <type 'exceptions.TypeError'>:
Don't know how to convert parameter 2
reference: http://docs.python.org/2/library/ctypes.html#calling-functions-continued
Change-Id: Ia2bb47343880cbf7121fed9510e4cfa085fe23bd
Signed-off-by: Thiago da Silva <thiago@redhat.com>
|
|
|
|
|
|
|
|
| |
add mode parameter to mkdir to allow setting the dir access
mode when the directory is being created
Change-Id: I6f1ed0c8800fb65a30448e6082cf55b8220a06d4
Signed-off-by: Thiago da Silva <thiago@redhat.com>
|
|
|
|
|
|
|
|
| |
adding a few functional tests and removing old
tests from source code
Change-Id: Iefcb091d614f2825592943cfb42847b5865322c6
Signed-off-by: Thiago da Silva <thiago@redhat.com>
|
|
|
|
|
|
|
|
| |
xdr and glfs were not being used, so they are being
removed for now
Change-Id: I8db793f66f2f2a6442f3a6b6f53617d52cc52a92
Signed-off-by: Thiago da Silva <thiago@redhat.com>
|
|
|
|
|
|
|
|
|
| |
when creating or opening a File, caller should now
use python's with statement as specified on PEP 343:
http://www.python.org/dev/peps/pep-0343/
Change-Id: Id98613e310bea01a427769d3ad7b0dea97245b04
Signed-off-by: Thiago da Silva <thiago@redhat.com>
|
|
|
|
|
|
|
| |
added unit tests for existing methods
Change-Id: Iecd31bc1dea44ea38168120bd05ca505c4ff5c59
Signed-off-by: Thiago da Silva <thiago@redhat.com>
|
|
|
|
|
|
|
|
| |
all changes in this patch were made to make the code
pep8 compliant
Change-Id: Ie05e370126ad4f48c4a4891c44b4440628fcb775
Signed-off-by: Thiago da Silva <thiago@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Added error handling to all api calls.
On error from gfapi, a OSError or IOError exception
is raised
Change-Id: I9944ae6796da49e7678089c60138a67dff30887e
Signed-off-by: Thiago da Silva <thiago@redhat.com>
|
|
|
|
|
|
|
|
| |
fixed rename and rmdir tests with correct if statements
and removed tabs from test_fallocate
Change-Id: I02edd7511ba134395cba94b8f2d32b73dd936a0f
Signed-off-by: Thiago da Silva <thiago@redhat.com>
|
|
This initial commit is a copy from
gluster/api/examples/gfapi.py from the glusterfs repo
Signed-off-by: Thiago da Silva <thiago@redhat.com>
Change-Id: I4442528d5bc2ec52ed2970b818d8cb9327e36168
|