29 lines
1006 B
Python
29 lines
1006 B
Python
import Pyro4
|
|
# from argparse import ArgumentParser
|
|
## TODO Arguments
|
|
from Snapshot import Snapshot
|
|
|
|
PYRO_URI = "PYRO:058b7dde9ec53de9235cfc57a07ce17a9eabfce3@./u:/run/zfssmd.sock"
|
|
|
|
class ZFSSMDClient(object):
|
|
def __init__(self, uri=PYRO_URI):
|
|
self.uri = uri
|
|
self.pyro_conn = Pyro4.Proxy(self.uri)
|
|
|
|
## FIXME Check for old timestamp
|
|
|
|
def get_snapshot_list(self):
|
|
response = self.pyro_conn.get_current_list()
|
|
slist = next(iter(response.values()))
|
|
return slist
|
|
|
|
def make_snapshot_objects(self):
|
|
snapshot_object_list = list()
|
|
for snapshot in self.get_snapshot_list():
|
|
snapshot_obj = Snapshot(snapshot)
|
|
snapshot_object_list.append(snapshot_obj)
|
|
return snapshot_object_list
|
|
|
|
objects = (ZFSSMDClient().make_snapshot_objects())
|
|
for o in objects:
|
|
print(o.get_snapshot_zvol()+o.get_snapshot_name()+" "+o.get_snapshot_creation_time() + " " + o.get_snapshot_used_size() + " " + o.get_snapshot_referenced_size()) |