Ce contenu n'est pas disponible dans la langue sélectionnée.
A.8. Python SDK Example: Hooks
Hook operations: getGlusterHook, enableHook, disableHook, resolveHook,glusterHookDetails, and glusterHookList
import pprint
import ovirtsdk
from ovirtsdk.api import API
from ovirtsdk.xml import params
api = None
clusterName = "Default" # name of the cluser
def getGlusterHook(clusterName, hookName):
for hook in api.clusters.get(clusterName).glusterhooks.list():
if hookName == hook.name:
return hook
def enableHook(clusterName, hookName):
""" Returns enable hook status """
hook = getGlusterHook(clusterName, hookName)
if hook:
return hook.enable()
return None
def disableHook(clusterName, hookName):
""" Returns disable hook status """
hook = getGlusterHook(clusterName, hookName)
if hook:
return hook.disable()
return None
def resolveHook(clusterName, hookName):
""" Returns resolve hook status """
hook = getGlusterHook(clusterName, hookName)
if hook:
return hook.resolve()
return None
def glusterHookDetails(clusterName):
# Returns hook content """
hooks=[]
for hook in api.clusters.get(clusterName).glusterhooks.list():
hooks.append({"hookName": hook.name,
"glusterCommand": hook.get_gluster_command(),
"level": hook.get_stage(),#indicates whether this is a post gluster command hook or pre gluster command hook.
"state": hook.get_status().state,
"md5sum": hook.get_checksum(),
"content": hook.get_content()})
return hooks
def glusterHookList(clusterName):
# Returns list of hook names """
hookList=[]
for hook in api.clusters.get(clusterName).glusterhooks.list():
hookList.append(hook.name)
return hookList
try:
api = API (url="https://10.70.43.95",
username="admin@internal",
password="redhat",
insecure=True)
#ca_file="ca.crt")
hookList = glusterHookList(clusterName)
print hookList
print disableHook(clusterName, hookList[-1])
pprint.pprint(glusterHookDetails(clusterName))
print enableHook(clusterName, hookList[-1])
api.disconnect()
except Exception as ex:
print "Unexpected error: %s" % ex
import pprint
import ovirtsdk
from ovirtsdk.api import API
from ovirtsdk.xml import params
api = None
clusterName = "Default" # name of the cluser
def getGlusterHook(clusterName, hookName):
for hook in api.clusters.get(clusterName).glusterhooks.list():
if hookName == hook.name:
return hook
def enableHook(clusterName, hookName):
""" Returns enable hook status """
hook = getGlusterHook(clusterName, hookName)
if hook:
return hook.enable()
return None
def disableHook(clusterName, hookName):
""" Returns disable hook status """
hook = getGlusterHook(clusterName, hookName)
if hook:
return hook.disable()
return None
def resolveHook(clusterName, hookName):
""" Returns resolve hook status """
hook = getGlusterHook(clusterName, hookName)
if hook:
return hook.resolve()
return None
def glusterHookDetails(clusterName):
# Returns hook content """
hooks=[]
for hook in api.clusters.get(clusterName).glusterhooks.list():
hooks.append({"hookName": hook.name,
"glusterCommand": hook.get_gluster_command(),
"level": hook.get_stage(),#indicates whether this is a post gluster command hook or pre gluster command hook.
"state": hook.get_status().state,
"md5sum": hook.get_checksum(),
"content": hook.get_content()})
return hooks
def glusterHookList(clusterName):
# Returns list of hook names """
hookList=[]
for hook in api.clusters.get(clusterName).glusterhooks.list():
hookList.append(hook.name)
return hookList
try:
api = API (url="https://10.70.43.95",
username="admin@internal",
password="redhat",
insecure=True)
#ca_file="ca.crt")
hookList = glusterHookList(clusterName)
print hookList
print disableHook(clusterName, hookList[-1])
pprint.pprint(glusterHookDetails(clusterName))
print enableHook(clusterName, hookList[-1])
api.disconnect()
except Exception as ex:
print "Unexpected error: %s" % ex
Note
The status of enable hook, disable hook, and resolve hook can be retrieved using
get_status().state. And it will raise an ovirtsdk.infrastructure.errors.RequestError when there is a failure.