fix(esxi): fetch templatevm from datacenter before clone vm

这里应该和image_cache那里保持一直,对template的获取应该从datacenter
中获取,而不是host。
This commit is contained in:
rainzm
2020-09-09 21:33:16 +08:00
parent dcb6db0443
commit 5c209fe3dc
+6 -2
View File
@@ -708,9 +708,13 @@ func (self *SHost) CreateVM2(ctx context.Context, ds *SDatastore, params SCreate
if err != nil {
return nil, errors.Wrap(err, "SEsxiClient.FindHostByIp")
}
temvm, err := imgHost.GetTemplateVMById(imageInfo.ImageExternalId)
dc, err := imgHost.GetDatacenter()
if err != nil {
return nil, errors.Wrap(err, "SHost.GetTemplateVMById")
return nil, errors.Wrap(err, "host.GetDatacenter")
}
temvm, err := dc.FetchTemplateVMById(imageInfo.ImageExternalId)
if err != nil {
return nil, errors.Wrapf(err, "datacenter.TemplateVMById for image %q and datacenter %q", imageInfo.ImageExternalId, dc.GetId())
}
return self.CloneVM(ctx, temvm, ds, params)
}