mirror of
				https://github.com/apache/cloudstack.git
				synced 2025-10-26 08:42:29 +01:00 
			
		
		
		
	remove heartbeat entry for this Primary Storage, when put this Primary Storage into maintenance mode create heartbeat entry for this Primary Storage, when cancal maintenance for this Primary Storage status 11275: resolved fixed
		
			
				
	
	
		
			126 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			126 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/python
 | |
| # Version @VERSION@
 | |
| #
 | |
| # A plugin for executing script needed by vmops cloud 
 | |
| 
 | |
| import os, sys, time
 | |
| import XenAPIPlugin
 | |
| sys.path.append("/opt/xensource/sm/")
 | |
| import util
 | |
| import socket
 | |
| 
 | |
| def echo(fn):
 | |
|     def wrapped(*v, **k):
 | |
|         name = fn.__name__
 | |
|         util.SMlog("#### VMOPS enter  %s ####" % name )
 | |
|         res = fn(*v, **k)
 | |
|         util.SMlog("#### VMOPS exit  %s ####" % name )
 | |
|         return res
 | |
|     return wrapped
 | |
| 
 | |
| @echo
 | |
| def forceShutdownVM(session, args):
 | |
|     domId = args['domId']
 | |
|     try:
 | |
|         cmd = ["/opt/xensource/debug/xenops", "destroy_domain", "-domid", domId]
 | |
|         txt = util.pread2(cmd)
 | |
|     except:
 | |
|         txt = '10#failed'
 | |
|     return txt
 | |
| 
 | |
| 
 | |
| @echo
 | |
| def create_privatetemplate_from_snapshot(session, args):
 | |
|     templatePath = args['templatePath']
 | |
|     snapshotPath = args['snapshotPath']
 | |
|     try:
 | |
|         cmd = ["bash", "/opt/xensource/bin/create_privatetemplate_from_snapshot.sh",snapshotPath, templatePath]
 | |
|         txt = util.pread2(cmd)
 | |
|     except:
 | |
|         txt = '10#failed'
 | |
|     return txt
 | |
| 
 | |
| @echo
 | |
| def upgrade_snapshot(session, args):
 | |
|     templatePath = args['templatePath']
 | |
|     snapshotPath = args['snapshotPath']
 | |
|     try:
 | |
|         cmd = ["bash", "/opt/xensource/bin/upgrate_snapshot.sh",snapshotPath, templatePath]
 | |
|         txt = util.pread2(cmd)
 | |
|     except:
 | |
|         txt = '10#failed'
 | |
|     return txt
 | |
| 
 | |
| @echo
 | |
| def copy_vhd_to_secondarystorage(session, args):
 | |
|     mountpoint = args['mountpoint']
 | |
|     vdiuuid = args['vdiuuid']
 | |
|     sruuid = args['sruuid']
 | |
|     try:
 | |
|         cmd = ["bash", "/opt/xensource/bin/copy_vhd_to_secondarystorage.sh", mountpoint, vdiuuid, sruuid]
 | |
|         txt = util.pread2(cmd)
 | |
|     except:
 | |
|         txt = '10#failed'
 | |
|     return txt
 | |
| 
 | |
| @echo
 | |
| def copy_vhd_from_secondarystorage(session, args):
 | |
|     mountpoint = args['mountpoint']
 | |
|     sruuid = args['sruuid']
 | |
|     try:
 | |
|         cmd = ["bash", "/opt/xensource/bin/copy_vhd_from_secondarystorage.sh", mountpoint, sruuid]
 | |
|         txt = util.pread2(cmd)
 | |
|     except:
 | |
|         txt = '10#failed'
 | |
|     return txt
 | |
| 
 | |
| @echo
 | |
| def setup_heartbeat_sr(session, args):
 | |
|     host = args['host']
 | |
|     sr = args['sr']
 | |
|     try:
 | |
|         cmd = ["bash", "/opt/xensource/bin/setup_heartbeat_sr.sh", host, sr]
 | |
|         txt = util.pread2(cmd)
 | |
|     except:
 | |
|         txt = ''
 | |
|     return txt
 | |
| 
 | |
| @echo
 | |
| def setup_heartbeat_file(session, args):
 | |
|     host = args['host']
 | |
|     sr = args['sr']
 | |
|     add = args['add']
 | |
|     try:
 | |
|         cmd = ["bash", "/opt/xensource/bin/setup_heartbeat_file.sh", host, sr, add]
 | |
|         txt = util.pread2(cmd)
 | |
|     except:
 | |
|         txt = ''
 | |
|     return txt
 | |
| 
 | |
| @echo
 | |
| def check_heartbeat(session, args):
 | |
|     host = args['host']
 | |
|     interval = args['interval']
 | |
|     try:
 | |
|        cmd = ["bash", "/opt/xensource/bin/check_heartbeat.sh", host, interval]
 | |
|        txt = util.pread2(cmd)
 | |
|     except:
 | |
|        txt=''
 | |
|     return txt
 | |
|     
 | |
|    
 | |
| @echo
 | |
| def heartbeat(session, args):
 | |
|     host = args['host']
 | |
|     interval = args['interval']
 | |
|     try: 
 | |
|        cmd = ["/bin/bash", "/opt/xensource/bin/launch_hb.sh", host, interval]
 | |
|        txt = util.pread2(cmd)
 | |
|     except:
 | |
|        txt='fail'
 | |
|     return txt
 | |
| 
 | |
| if __name__ == "__main__":
 | |
|     XenAPIPlugin.dispatch({"forceShutdownVM":forceShutdownVM, "upgrade_snapshot":upgrade_snapshot, "create_privatetemplate_from_snapshot":create_privatetemplate_from_snapshot, "copy_vhd_to_secondarystorage":copy_vhd_to_secondarystorage, "copy_vhd_from_secondarystorage":copy_vhd_from_secondarystorage, "setup_heartbeat_sr":setup_heartbeat_sr, "setup_heartbeat_file":setup_heartbeat_file, "check_heartbeat":check_heartbeat, "heartbeat": heartbeat})
 | |
| 
 |