Got any conclusion for this?

On Monday, September 14, 2015 at 8:42:10 PM UTC+5:30, 
bhuvane...@ptechnosoft.com wrote:
>
>    
>
> Hi Everyone ,
>
>             I m new to vmware and i started exploring different formats in 
> vmdk ,snapshots and all.I m using golang as a programming language.I found 
> out that govmomi library that supports vsphere APIs that is similar to 
> pyvmomi .I ve created snapshots using createSnapshotTask method .But i m 
> stuck with QuerychangedDiskAreas method that retrieves list of changed 
> blocks.I have some doubts regarding it.Can anyone help me to clear my 
> doubts? This is the code to get changed blocks .
>
>
> func main(){
>
> ctx, cancel := context.WithCancel(context.Background())
> defer cancel()
>
> flag.Parse()
> // Parse URL from string
> u, err := url.Parse(*urlFlag)if err != nil {
>     exit(err)}
> // Override username and/or password as required
> processOverride(u)
> // Connect and log in to ESX or vCenter
> c, err := govmomi.NewClient(ctx, u, *insecureFlag)if err != nil {
>     exit(err)}
>
> f := find.NewFinder(c.Client, true)
> // Find one and only datacenter
> dc, err := f.DefaultDatacenter(ctx)if err != nil {
>     exit(err)}
> // Make future calls local to this datacenter
> f.SetDatacenter(dc)
> // Find datastores in datacenter
> dss, err := f.DatastoreList(ctx, "*")if err != nil {
>     exit(err)}
>
> pc := property.DefaultCollector(c.Client)
> // Convert datastores into list of referencesvar refs 
> []types.ManagedObjectReferencefor _, ds := range dss {
>     refs = append(refs, ds.Reference())}
> // Retrieve summary property for all datastoresvar dst []mo.Datastore
> err = pc.Retrieve(ctx, refs, []string{"summary"}, &dst)if err != nil {
>     exit(err)}
> //get Virtual Machines
> vms, err := f.VirtualMachineList(ctx, "*")if err != nil {
> }
> //apps, _ := f.VirtualAppList(ctx, "")//fmt.Println(apps[0].String())
> //r.dataStore = r.f.DefaultDatastore(r.ctx, "*")// Convert virtual machines 
> into list of referencesvar vmrefs types.ManagedObjectReferencevar device 
> *types.VirtualDevice
> fmt.Println(device)var devices object.VirtualDeviceList
> name := ""for i, vm := range vms {
>     name, _ = vm.Name(ctx)
>     if name == "Ubuntu Target" {
>         fmt.Println(name)
>         devices, _ = vm.Device(ctx)
>         device = devices[i].GetVirtualDevice()
>
>         vmrefs = vm.Common.Reference()
>
>         break
>     }
> }
>
> req := new(types.CreateSnapshot_Task)
> req.Description = "Snapshot created  by Data Migration Tool."
> req.Name = "Ubuntu Target"
> req.Memory = false
>
> req.This.Type = vmrefs.Type
> req.This.Value = vmrefs.Value
> s, e := methods.CreateSnapshot_Task(ctx, c.RoundTripper, req)if e != nil {
>     fmt.Println(e)
> }
>
> time.Sleep(time.Second * 3)
>
> queryReq := new(types.QueryChangedDiskAreas)
> queryReq.ChangeId = "*"
> queryReq.DeviceKey = device.Key
> queryReq.Snapshot = new(types.ManagedObjectReference)
> queryReq.Snapshot.Type = s.Returnval.Type
> queryReq.Snapshot.Value = s.Returnval.Value
> queryReq.StartOffset = 0
>
> queryReq.This.Type =vmrefs.Type
> queryReq.This.Value= =vmrefs.Value
> _, e = methods.QueryChangedDiskAreas(ctx, c.RoundTripper, queryReq)
> if e != nil {
>     fmt.Println("error in query", e.Error())}
> }
>
>
>
> Can anyone please tell if i am missing anything? 
>
>
>
>
>
>
>
>
>
>
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/44738032-75a7-4252-b60e-4ce239d1a397%40googlegroups.com.

Reply via email to