标签: pyvmomi

抑制InsecureRequestWarning:在Python2.6中进行未验证的HTTPS请求

我正在使用pyVmomi在Python2.6中编写脚本,并使用其中一种连接方法:

service_instance = connect.SmartConnect(host=args.ip,
                                        user=args.user,
                                        pwd=args.password)
Run Code Online (Sandbox Code Playgroud)

我收到以下警告:

/usr/lib/python2.6/site-packages/requests/packages/urllib3/connectionpool.py:734: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.org/en/latest/security.html
  InsecureRequestWarning)
Run Code Online (Sandbox Code Playgroud)

有趣的是,我没有使用pip安装urllib3(但它位于/usr/lib/python2.6/site-packages/requests/packages/urllib3/).

我按照这里的建议尝试过

import urllib3
...
urllib3.disable_warnings()
Run Code Online (Sandbox Code Playgroud)

但这并没有改变任何事情.

python python-2.6 suppress-warnings urllib3 pyvmomi

283
推荐指数
11
解决办法
31万
查看次数

PyVmomi使用未连接的dv添加NIC('config.distributedVirtualSwitch'未设置)

我使用下面的代码来添加配置DistributedVirtualSwitch到现有VM 的NIC (通过pyVmomi):

def __AddNIC(si, vmconf_dict, network_name):
    vm = __get_vm(si, vmconf_dict)
    print " Network label : " + network_name

    devices = []
    nicspec = vim.vm.device.VirtualDeviceSpec()
    nicspec.operation = vim.vm.device.VirtualDeviceSpec.Operation.add
    nicspec.device = vim.vm.device.VirtualVmxnet3()
    nicspec.device.wakeOnLanEnabled = True
    nicspec.device.deviceInfo = vim.Description()
    nicspec.device.connectable = vim.vm.device.VirtualDevice.ConnectInfo()
    nicspec.device.connectable.startConnected = True
    nicspec.device.connectable.allowGuestControl = True

    network_objref = _get_mor_by_property(si, vim.dvs.DistributedVirtualPortgroup, network_name)
    dswitch_port_connection = vim.dvs.PortConnection(
        portgroupKey=network_objref.key,
        switchUuid=network_objref.config.distributedVirtualSwitch.uuid
    )
    nicspec.device.backing = vim.vm.device.VirtualEthernetCard.DistributedVirtualPortBackingInfo()
    nicspec.device.backing.port = dswitch_port_connection

    devices.append(nicspec)
    vmconf = vim.vm.ConfigSpec(deviceChange=devices)
    task = vm.ReconfigVM_Task(vmconf)
    tasks.wait_for_tasks(si, [task])
Run Code Online (Sandbox Code Playgroud)

我收到以下异常:

switchUuid = network_objref.config.distributedVirtualSwitch.uuid …

python vmware nic vcenter pyvmomi

13
推荐指数
1
解决办法
1592
查看次数

有没有办法使用 pyvmomi API 删除来宾虚拟机?

我一直在翻阅官方 VMWare pyvmomi API 的文档和示例,在我的一生中,我找不到一种明显的方法来从 ESXi 服务器中删除 VM。

任何人都可以提供一个例子或向我指出已经实施了这一点的人 - 似乎唯一的选择是自己推出一些可以

  • 关闭虚拟机
  • 取消注册
  • 删除虚拟机
  • 删除与 VM 关联的磁盘?

我认为每个部分都在那里,但我真的希望有人能指出我正确的方向。

python vmware esxi pyvmomi

5
推荐指数
1
解决办法
7090
查看次数

如何使用 pyvmomi 修改现有虚拟机模板的唯一以太网适配器的 IP 地址

下面是我认为应该用于在使用 pyvmomi 和虚拟中心从模板克隆虚拟机时修改 Windows 虚拟机的以太网适配器的网络适配器 IP 的代码。不起作用,虚拟机克隆但网络适配器未修改。我似乎只是找到了假设根本没有适配器并创建新适配器的示例。我可以使用一些帮助来弄清楚我做错了什么:

def clone_vm(
content, template, vm_name, si, ip,
datacenter_name, vm_folder, datastore_name,
cluster_name, resource_pool, power_on):
"""
Clone a VM from a template/VM, datacenter_name, vm_folder, datastore_name
cluster_name, resource_pool, and power_on are all optional.
"""

# if none git the first one
datacenter = get_obj(content, [vim.Datacenter], datacenter_name)

if vm_folder:
    destfolder = get_obj(content, [vim.Folder], vm_folder)
else:
    destfolder = datacenter.vmFolder

if datastore_name:
    datastore = get_obj(content, [vim.Datastore], datastore_name)
else:
    datastore = get_obj(
        content, [vim.Datastore], template.datastore[0].info.name)

# if None, get the …
Run Code Online (Sandbox Code Playgroud)

python vmware pyvmomi

5
推荐指数
0
解决办法
3024
查看次数

pyVmomi 中 pyVim 的用途

我正在尝试习惯 Python 和 VMware vSphere API Python 绑定 (pyVmomi)。我尝试理解每个组件的用途。pyVmomi 中 pyVim 的用途是什么?据我了解,pyVim 用于与虚拟化管理对象管理基础设施(VMOMI)的连接处理(创建、删除...)。它是否正确?

谢谢你并致以最诚挚的问候,
帕特里克

python vmware pyvmomi

5
推荐指数
1
解决办法
6505
查看次数

使用pyvmomi在vmware中获取实例的实际使用(分配)磁盘空间

我最近开始使用pyvmomi在将实例迁移到AWS之前获取vmware服务器的详细清单.

在vcenter Web界面或vsphere客户端中,我可以检查实例并查看其磁盘,它会告诉我磁盘大小(已配置)以及它的使用量(已使用的存储空间).

从样品GitHub库(https://github.com/vmware/pyvmomi-community-samples)我可以很快学会如何获得对实例的信息,因此让磁盘大小是微不足道的(有一个在这样即使一个问题显示获取驱动器的简单方法 - 如何使用PyVMomi获取VMWare VM磁盘的大小),但我无法弄清楚如何获取Web /客户端可以显示的实际使用的存储.

那么,如何获取给定实例磁盘的已用空间?

python vmware pyvmomi

5
推荐指数
1
解决办法
2443
查看次数

导入 pyVim.connect 时出错

我正在尝试运行从这里的示例中收到的以下代码

from __future__ import print_function
import atexit
from pyVim.connect import SmartConnectNoSSL, Disconnect
from pyVmomi import vim
from tools import cli
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

ModuleNotFoundError: No Module named 'pyVim.connect'
Run Code Online (Sandbox Code Playgroud)

有问题的软件包来自此处并使用以下方法安装:

pip install pyvmomi
Run Code Online (Sandbox Code Playgroud)

我安装这些软件包的方式有问题吗?

python vmware pip pyvmomi

4
推荐指数
1
解决办法
7826
查看次数

理解pyvmomi中的vim

我想了解pyvmomi中的vim.
据我所知,vim是这样导入的:from pyvmomi import vim
我试图找到pyvmomi中定义vim的位置,但我还没有找到它.

我尝试了以下步骤:

>>> inspect.getfile(vim)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python2.7/inspect.py", line 420, in getfile
    'function, traceback, frame, or code object'.format(object
TypeError: <pyVmomi.VmomiSupport.LazyModule object at 0xb50690> is not a     module, class, method, function, traceback, frame, or code object
>>> globals()['vim']
<pyVmomi.VmomiSupport.LazyModule object at 0xb50690>
>>> locals()['vim']
<pyVmomi.VmomiSupport.LazyModule object at 0xb50690>
>>> vim
Run Code Online (Sandbox Code Playgroud)

但是,我没有得到如何在LazyModule中定义vim

我想了解
https://github.com/vmware/pyvmomi/tree/master/docs/vim 中列出的数据对象最初是在pyVmomi中定义的.

python vim pyvmomi

2
推荐指数
1
解决办法
4016
查看次数

如何通过 pyvmomi 或 cli 确定 ESX 虚拟机管理程序上的总内存、空闲内存、可用内存?

我正在寻找 ESX/ESXi 特定命令/示例 pyvmomi API 来确定虚拟机管理程序上的系统内存信息 - 可用/总/已使用。

python esx esxi pyvmomi

2
推荐指数
1
解决办法
8374
查看次数

标签 统计

python ×9

pyvmomi ×9

vmware ×6

esxi ×2

esx ×1

nic ×1

pip ×1

python-2.6 ×1

suppress-warnings ×1

urllib3 ×1

vcenter ×1

vim ×1