【发布时间】:2019-01-01 09:43:14
【问题描述】:
这是我在 VMware 中禁用 VM 网络接口卡的代码。它运行良好,所有凭据都正确无误。它的编码与 sdk 文档中提到的相同。但是在运行后,当我在 VMWare 上看到 VM 时,没有禁用 NIC。任何人请帮我解决这个问题。谢谢你。
基本上,我们为客户提供 DRaaS。因此,对于 DR 测试,我们尝试在同一个 VMWare 上创建现有 VM 的新 VM 克隆。但是当我们克隆 VM 时,它的 NIC 与现有 VM 冲突。谢谢。
VMTypes.PlacementSpec vmPlacementSpec = new VMTypes.PlacementSpec();
VMTypes.FilterSpec VMFilterSpec = new VMTypes.FilterSpec();
HashSet<string> datacenters = new HashSet<string>
{
GetDatacenter(serviceManager, vmModel.DataCenterName)
};
VMFilterSpec.SetNames(new HashSet<String> { vmModel.vmName });
VMFilterSpec.SetDatacenters(datacenters);
VM vmservice = serviceManager.VapiConnection.GetService<VM>();
List<VMTypes.Summary> vmsummarize = vmservice.List(VMFilterSpec);
if (vmsummarize.Count >= 0)
{
string Vm_Id = vmsummarize[0].GetVm();
if (Vm_Id != null)
{
Network netWork = serviceManager.VapiConnection.GetService<Network>();
VMTypes.Info VMConfigInfo = vmservice.Get(Vm_Id);
Dictionary<string, EthernetTypes.Info> dictOfEthernetAdapters = VMConfigInfo.GetNics();
foreach (var item in dictOfEthernetAdapters)
{
EthernetTypes.Info NetworkDetails = item.Value;
NetworkDetails.SetWakeOnLanEnabled(false);
NetworkDetails.SetState(ConnectionState.UNRECOVERABLE_ERROR);
NetworkDetails.SetStartConnected(false);
NetworkDetails.SetAllowGuestControl(false);
}
}
}
【问题讨论】:
-
Q1:您如何定义“禁用”?这是否意味着网卡已断开连接或其他? Q2:你试过用
NOT_CONNECTED替换UNRECOVERABLE_ERROR吗? -
是的,我试过这个,但没用。谢谢。