问题标签 [govmomi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
go - 反映显示与错误不同的类型
背景:我使用 govmomi 进行 vmware 的配置收集。我目前正在获取所需的数据存储信息。我需要的字段之一是磁盘 Naa。这可以在 Vmfs 字段下的 VmfsDatastoreInfo 结构中找到。
问题:我正在遍历一个范围,并且我认为 Ds.Info 属于 VmfsDatastoreInfo 类型,因此理论上我可以通过 Ds.Info.Vmfs 获得所需的信息。当我引用这个时,我得到了错误:
出于好奇,我探索了使用反射并做了以下事情:
输出是
我试图理解为什么同一个对象显示为两种不同的类型?
编辑: 进入 ds :
ds 是一种数据存储类型:
通过 Govmomi 包信息,我发现了以下内容
vmware - 在 vmware vm 上启用 cpu 性能计数器
我正在尝试在虚拟机enable cpu performace counters
上使用 govc,但不知道该怎么做...在 UI 中我必须将其关闭,启用它们,然后重新启动...但我不知道'在 govc 中看不到启用 cpu 性能计数器的选项
Ronak Patel [7:17 PM] 特别想VPMCEnabled
在我运行时启用govc vm.option.info -vm "vm name"
该选项,Config.VPMCEnabled
但我无法弄清楚如何翻转该标志我已经尝试了所有这些但似乎没有一个工作:
我还注意到我可以像这样更改 CPU 热添加:
go - 使用 govmomi 库在 golang 中的零点尊重
我正在尝试使用 govmomi 库 ( https://github.com/vmware/govmomi ) 对 VM 进行一些自动更改,但我似乎无法绕过第 134 行和第 136 行的 nil 指针异常最后几个小时。我让它在某一时刻工作,但我不确定我现在做错了什么,因为我尝试了很多组合,但现在似乎没有任何工作......
引发错误的 2 行是:
spec.VPMCEnabled = &flip
和
vm, err := cmd.VirtualMachine()
两者似乎都扔了一样panic: runtime error: invalid memory address or nil pointer dereference
。如果我注释掉第一个抛出错误,那么第二个抛出它。
我认为两者都不相关,但我不太清楚如何正确地进行取消引用。
----更新编辑1--------------
我通过以下响应对此进行了一些更改,但仍然无法解决task, err := vm.Reconfigure(ctx, *spec)
...
我得到的完整错误是:
----更新编辑2----------
我改变了一些东西并使用了下面提供的答案,但现在我再次收到错误,但在这一部分:task, err := vm.Reconfigure(ctx, spec1)
错误:
代码:
go - Golang govmomi 按资源池过滤虚拟机
我目前有一些 go 代码来列出带有 govmomi 库的 VM 名称和资源池。在输出中,我有某种资源池标识符,而不是实际名称。所以我有两个问题: 1. 有没有一种干净简单的方法来按资源池的名称过滤虚拟机,如 govc 命令:
2. 有没有办法在所有 DC 中搜索,而不指定名称,因为我想创建 goroutine 来搜索多个 vSphere,它们具有不同的 DC 名称但相同的池。我的代码:
电流输出:
python-3.x - 如何执行列出本地 pc 上服务器输出的 govc/pyvmomi 运行命令
我可以使用 govmomi 列出所有虚拟机(不是 govc,它是终端中的一行命令),但我正在尝试实现这一点:
govc guest.run -vm $vm_name cat sample.txt
从头开始,而不是通过 govc 运行它。文档似乎令人困惑。有谁知道它是如何在下面实现的?在 pyvmomi 中是否有与此类似的东西?使用 Pyvmomi,我能够从本地 pc 在服务器上执行命令,然后将输出存储在服务器上的文件中,然后将文件从服务器传输到本地 pc。但在后期,我遇到govc guest.run -vm $vm_name cat sample.txt
了在本地 pc 控制台上提供输出的命令。它是否也在后台将输出临时存储在服务器上?如果没有,那么如何实现呢?
这是我在尝试使用 govmomi 列出所有 vm 时尝试过的,我想扩展它以便它可以实现 govc run 命令。
这段代码是在 golang 中实现 govc 的愚蠢尝试,基本上使用 bash 之类的 shell 命令。
这是我的 python 实现,它执行命令并将其存储在服务器上的一个文件中,然后我将该文件从服务器带到本地 pc,我不想在服务器上存储任何东西,即使是暂时的:
go - govmomi 缺少集群名称 ClusterComputeResource?
一直在使用问题中的以下代码
如何检索所有集群?https://github.com/vmware/govmomi/issues/1674
检索集群信息,虽然集群名称似乎没有返回,
有谁知道我将如何检索集群名称?
terraform - 可以使用 govc 远程创建 VM,但不能使用 Terraform
尝试在 vSphere 中创建虚拟机,最好使用 Terraform 来完成,但不断获得Error: error creating virtual machine: ServerFaultCode: Permission to perform this operation was denied.
- SOAP 响应中提到的错误,如 Terraform 调试日志中所捕获:
使用govc
远程创建虚拟机有效,这表明我对vSphere的用户权限很好;所以我认为这不是由于用户权限问题。担心我可能有 Terraform 语法问题。
已确认govc
从指向 vSphere 服务器的远程计算机运行时,使用 Govmomi 命令成功创建了 VM:
尝试使用 Terraform vSphere Provider 执行等效操作失败。
提供者.tf
主文件
计划
地形信息
注意:我最初在 DevOps 上发布了这个问题,但由于没有回复,我在那里删除了它并在这里重新发布了它。
vmware - 使用 govc CLI 在 VMware ESXI 上为特定 VM 设置 CPU 关联
我有用于在VMware ESXi主机上以编程方式配置我的虚拟机 (VM) 的 shell 脚本。我使用“ govc ”命令行界面(CLI),它提供了一套命令来配置在我的 ESXI 上运行的虚拟机(即开机、设置内存等...)
我现在正在尝试为我的一些虚拟机设置 CPU 亲和性(即 VM #2 应该使用 CPU 9-16,而 VM#1 应该使用 CPU 2-8)。但是,我找不到 任何 govc 命令以编程方式执行此操作,但我可以非常清楚地看到如何在 ESXI 基于 Web 的 GUI 中执行此操作:
我在这里参考了govc API 的命令,但同样,我找不到任何东西。应该为特定的 VM 设置 CPU 亲和性,并且应该有一个由逗号分隔的 CPU 编号参数或用连字符 (-) 分隔的范围,我想:
如何使用 VMware ESXi 和 govc 解决此问题?
go - 如何使用 govmomi 客户端 API 获取 vCenter 版本?
我有一个 go 客户端初始化以连接到 vCenter,如下所示。我正在尝试使用客户端获取 vCenter 的版本。我没有找到一个很好的来源。
在retrieve() API 中使用哪些参数来获取与vCenter 集群相关的版本和其他信息?
go - 使用 govmomi 确定集群成员
我正在尝试使用govmomi library确定我的 ESX 资产中每台服务器的集群成员资格。从文档中,它看起来像ComputeResource
嵌入在ClusterComputeResource
但我没有阅读它。到目前为止,我有:
在host
属性中,我可以看到以下形式的集群节点:
[HostSystem:host-8600 HostSystem:host-8571]
这些看起来像 HostSystem 对象,但不是我可以从中提取项目(如主机名)的结构。
使用govc
,我的目标是微不足道的!govc tree <DC>/host/<cluster>
.