vSphere Pyvmomi (https://github.com/vmware/pyvmomi) için resmi Python bağlayıcılığı ile uğraşıyorum Bir vm'yi açmak için çalışan bir kod örneği almayı başardım ancak önce vm'yi belirli bir anlık görüntüye geri almak istiyorum açık olmak. Bunun nasıl yapılacağı hakkında bir fikrin var mı? Şimdiye kadar ne çalışıyor.VM anlık görüntüsünü Pyvmomi ile nasıl geri alabilirsiniz?
def main():
args = GetArgs()
if args.password:
password = args.password
else:
password = getpass.getpass(prompt='Enter password for host %s and user %s: ' % (args.host,args.user))
try:
vmnames = args.vmname
if not len(vmnames):
print("No virtual machine specified for poweron")
sys.exit()
si = None
context = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
context.verify_mode = ssl.CERT_NONE
try:
si = SmartConnect(host=args.host,
user=args.user,
pwd=password,
port=int(args.port),
sslContext=context)
except IOError:
pass
if not si:
print("Cannot connect to specified host using specified username and password")
sys.exit()
atexit.register(Disconnect, si)
# Retreive the list of Virtual Machines from the inventory objects
# under the rootFolder
content = si.content
objView = content.viewManager.CreateContainerView(content.rootFolder,
[vim.VirtualMachine],
True)
vmList = objView.view
objView.Destroy()
#Code to list all available snapshots but not working
#snap_info = [vm.snapshot for vm in vmList if vm.name in vmnames]
#tree = snap_info.rootSnapshotList
#while tree[0].childSnapshotList is not None:
# print("Snap: {0} => {1}".format(tree[0].name, tree[0].description))
# if len(tree[0].childSnapshotList) < 1:
# break
# tree = tree[0].childSnapshotList
# Find the vm and power it on
tasks = [vm.PowerOn() for vm in vmList if vm.name in vmnames]
print("Virtual Machine(s) have been powered on successfully")
except vmodl.MethodFault as e:
print("Caught vmodl fault : " + e.msg)
except Exception as e:
print("Caught Exception : " + str(e))
# Start program
if __name__ == "__main__":
main()
Çok teşekkürler! İşte tam olarak buradaki –