#!/usr/bin/env python3 import os import sys _path = os.path.dirname(os.path.realpath(__file__)) _hooks = os.path.abspath(os.path.join(_path, '../hooks')) _root = os.path.abspath(os.path.join(_path, '..')) def _add_path(path): if path not in sys.path: sys.path.insert(1, path) _add_path(_hooks) _add_path(_root) from subprocess import CalledProcessError from charmhelpers.core.hookenv import action_get, config, log, action_fail from charmhelpers.contrib.storage.linux.ceph import snapshot_pool if __name__ == '__main__': name = action_get("pool-name") snapname = action_get("snapshot-name") try: snapshot_pool(service=config('admin-user'), pool_name=name, snapshot_name=snapname) except CalledProcessError as e: log(str(e)) action_fail("Snapshot pool failed with message: {}".format(str(e)))