ScaleIO API client
Project description
Python library that provides convenient way to interact with ScaleIO REST API.
Supported ScaleIO versions: 2.0
Supported Python versions: 2.6, 2.7, 3.4, 3.5
Library is under development!
Features
Currently supported:
Simple API client with base methods according to ScaleIO documentation
ORM-like models (StoragePool, Volume, etc.)
Scheme validation for API responses
TODO:
HATEOAS links processing
Installation
Install via pip:
$ pip install pyscaleio
Install as RPM package using yum or dnf on Fedora/RHEL/CentOS:
$ dnf copr enable miushanov/pyscaleio
$ dnf install python-scaleio
Usage
Create and register API client:
import pyscaleio # create API client client = pyscaleio.ScaleIOClient.from_args("gateway_address", "admin", "password") # register it for using in models pyscaleio.add_client(client)
Find and modify resources:
# get all volumes in cluster volumes = pyscaleio.Volume.all() assert len(volumes) == 1 # or, get volume by specified id volume = pyscaleio.Volume.one_by_name("test_volume") # and access some volume attributes assert volume.name == "test_volume" assert volume.size == 8 * constants.GIGABYTE # or, resize it to new size volume.resize(16) volume.update() # updates model data assert volume.size == 16 * constants.GIGABYTE
Create or delete resources:
# create new volume in storage pool volume = pyscaleio.Volume.create(16, "storage_pool_id", "new_volume") assert volume.name == "new_volume" assert volume.size == 16 * constants.GIGABYTE # delete volume volume = pyscaleio.Volume.one_by_name("test_volume") volume.delete()
Tune client and models options:
pyscaleio.configure( # retries count for each request request_retries=0, # network timeout for requests network_timeout=30, # name of exported volume (according to udev/rules.d) volume_name="emc-2{system_id}{volume_id}", # prefix of exported volume volume_prefix="/dev/disk/by-id") volume = pyscaleio.Volume.one_by_name("test_volume") assert volume.path == "/dev/disk/by-id/emc-27947a0127a79ce60ca29f20900000008"
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pyscaleio-0.1.3.tar.gz
(29.4 kB
view hashes)
Built Distribution
Close
Hashes for pyscaleio-0.1.3-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4488d963c57696ead856e6a58eb3ef623379e89c9fd861354ce1b1a737e2217f |
|
MD5 | 971c2f9f898991a96e2e7dc96a0505ba |
|
BLAKE2b-256 | 157179ddefa963a410cb4806ff1ac5cff54f9e980df4c6498d2558105c7e09a1 |