色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

Python使用oslo.vmware管理ESXI虛擬機的示例參考

瀏覽:260日期:2022-06-15 18:30:36
目錄讀取所有節點主機獲取所有區域:獲取所有主機列表:獲取 HostSystem MO詳細信息:資源清單讀取主機狀態循環輸出讀取虛擬機狀態Vsphere API基礎:實現開關機列出數據存儲獲取資源池列出網絡讀取所有節點主機

from oslo_vmware import apifrom oslo_vmware import vim_utilimport urllib3urllib3.disable_warnings()session = api.VMwareAPISession( ’127.0.0.1’, ’[email protected]’, ’123456’, 1,0.1)#result1 = session.invoke_api(vim_util,’get_objects’,session.vim, ’HostSystem’, 100)#print(result1.objects[0])# rep2 = session.invoke_api(vim_util,’get_object_properties_dict’,session.vim, result1.objects[0].obj,’vm’)res = session.invoke_api(vim_util,'get_objects',session.vim,'ResourcePool',100)print(res)獲取所有區域:

from oslo_vmware import apifrom oslo_vmware import vim_utilimport urllib3urllib3.disable_warnings()session = api.VMwareAPISession( ’127.0.0.1’, ’[email protected]’, ’123456’, 1,0.1)res = session.invoke_api(vim_util,'get_objects',session.vim,'ComputeResource',100)addr = []for i in res.objects: addr.append(i.propSet[0][1])print(addr)獲取所有主機列表:

from oslo_vmware import apifrom oslo_vmware import vim_utilimport urllib3urllib3.disable_warnings()session = api.VMwareAPISession( ’127.0.0.1’, ’[email protected]’, ’123456’, 1,0.1)res = session.invoke_api(vim_util,'get_objects',session.vim,'HostSystem',1000)addr = []for i in res.objects: addr.append(i.propSet[0][1])print(addr)獲取 HostSystem MO

from oslo_vmware import apifrom oslo_vmware import vim_utilimport urllib3urllib3.disable_warnings()session = api.VMwareAPISession( ’127.0.0.1’, ’[email protected]’, ’123456’, 1,0.1)res = session.invoke_api(vim_util,'get_objects',session.vim,'HostSystem',1000)# 我們隨意選取一個 ESXi Host, 并且打印其 Objecthost_obj = res.objects[0].obj# 獲取 HostNetworkSystem MO, 并打印其 Valuehost_network_system_val = session.invoke_api(vim_util, ’get_object_properties_dict’,session.vim,host_obj,’configManager.networkSystem’)print(host_network_system_val)詳細信息:

from oslo_vmware import apifrom oslo_vmware import vim_utilimport urllib3urllib3.disable_warnings()session = api.VMwareAPISession( ’127.0.0.1’, ’[email protected]’, ’123456’, 1,0.1)res = session.invoke_api(vim_util,'get_objects',session.vim,'VirtualMachine',1000)summary = session.invoke_api(vim_util, ’get_object_properties_dict’, session.vim, res.objects[0].obj,’summary’)print(summary)資源清單

from oslo_vmware import apifrom oslo_vmware import vim_utilimport urllib3urllib3.disable_warnings()session = api.VMwareAPISession( ’127.0.0.1’, ’[email protected]’, ’123456’, 1,0.1)res = session.invoke_api(vim_util,'get_objects',session.vim,'Datacenter',1000)# 獲取 Cluster 資源清單computeResource = session.invoke_api( vim_util, ’get_objects’, session.vim, ’ComputeResource’, 100)for each in computeResource.objects: print('資源清單: {}'.format(each[1][0][1]))讀取主機狀態

from oslo_vmware import apifrom oslo_vmware import vim_utilimport urllib3urllib3.disable_warnings()session = api.VMwareAPISession( ’127.0.0.1’, ’[email protected]’, ’123456’, 1,0.1)res = session.invoke_api(vim_util,'get_objects',session.vim,'HostSystem',1000)summary = session.invoke_api(vim_util, ’get_object_properties_dict’, session.vim, res.objects[0].obj,’summary.runtime.powerState’)summary1 = session.invoke_api(vim_util, ’get_object_properties_dict’, session.vim, res.objects[0].obj,’summary.config.name’)print(summary.get('summary.runtime.powerState'))print(summary1.get('summary.config.name'))循環輸出

from oslo_vmware import apifrom oslo_vmware import vim_utilimport urllib3urllib3.disable_warnings()session = api.VMwareAPISession( ’127.0.0.1’, ’[email protected]’, ’123456’, 1,0.1)res = session.invoke_api(vim_util,'get_objects',session.vim,'HostSystem',100)tim = 0for each in res.objects: tim = tim +1 print(tim) stats = session.invoke_api(vim_util, ’get_object_properties_dict’, session.vim, each.obj,’summary.runtime.powerState’) addr = session.invoke_api(vim_util, ’get_object_properties_dict’, session.vim, each.obj,’summary.config.name’) print('主機地址: {} t 狀態: {}'.format(addr.get('summary.config.name'),stats.get('summary.runtime.powerState')))讀取虛擬機狀態

from oslo_vmware import apifrom oslo_vmware import vim_utilimport urllib3urllib3.disable_warnings()session = api.VMwareAPISession( ’127.0.0.1’, ’[email protected]’, ’123456’, 1,0.1)res = session.invoke_api(vim_util,'get_objects',session.vim,'VirtualMachine',100)instance = res.objects[0].objprint(instance)stats = session.invoke_api(vim_util, ’get_object_properties_dict’, session.vim, instance, ’summary’)print(stats)

使用com.vmware.vcenter_client管理虛擬機。

Vsphere API基礎:

import requestsimport urllib3from vmware.vapi.vsphere.client import create_vsphere_clientsession = requests.session()session.verify = Falseurllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)vsphere_client = create_vsphere_client(server=’127.0.0.1’, username=’[email protected]’, password=’123456’, session=session)# 列出所有虛擬機ref = vsphere_client.vcenter.VM.list()print(ref)# 通過虛擬機的名稱來進行過濾ref = vsphere_client.vcenter.VM.list( vsphere_client.vcenter.VM.FilterSpec(names={’Baidu-NLP01’}) )print(ref)實現開關機

import requestsimport urllib3from vmware.vapi.vsphere.client import create_vsphere_clientsession = requests.session()session.verify = Falseurllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)vsphere_client = create_vsphere_client(server=’127.0.0.1’, username=’[email protected]’, password=’123456’, session=session)# 檢索系統是否開機vm = vsphere_client.vcenter.VM.list(vsphere_client.vcenter.VM.FilterSpec(names={’GZH-SERVER3’}))[0]power_status = vsphere_client.vcenter.vm.Power.get(vm.vm)print('是否開機: {}'.format(power_status))# 檢索系統是否開機vm = vsphere_client.vcenter.VM.list(vsphere_client.vcenter.VM.FilterSpec(names={’192.168.81.51’}))if len(vm) != 0: vm = vm[0] power_status = vsphere_client.vcenter.vm.Power.get(vm.vm) print('已開機: {}'.format(power_status.state))else: print('已關機')# 關閉系統 start / reset / suspend / stopvsphere_client.vm.Power.stop(vm.vm)# 刪除虛擬機vsphere_client.vcenter.VM.delete(vm)列出數據存儲

import requestsimport urllib3from vmware.vapi.vsphere.client import create_vsphere_clientfrom com.vmware.vcenter_client import Folderfrom com.vmware.vcenter_client import Datastorefrom com.vmware.vcenter_client import Networksession = requests.session()session.verify = Falseurllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)vsphere_client = create_vsphere_client(server=’127.0.0.1’, username=’[email protected]’, password=’123456’, session=session)# 列出集群#ref = vsphere_client.vcenter.Cluster.list()#print(ref)# 列出 vCenter 中所有文件夾#folder = vsphere_client.vcenter.Folder.list()# 列出數據存儲# store = vsphere_client.vcenter.Datastore.list()datastore_name = ’192.168.64.20’filter_spec = Datastore.FilterSpec(names={datastore_name})datastore_summaries = vsphere_client.vcenter.Datastore.list(filter_spec)datastore_id = datastore_summaries[0].datastoreprint('存儲結構: {} 數據存儲名稱: {}'.format(datastore_summaries,datastore_id))獲取資源池

import requestsimport urllib3from vmware.vapi.vsphere.client import create_vsphere_clientfrom com.vmware.vcenter_client import Clusterfrom com.vmware.vcenter_client import ResourcePoolsession = requests.session()session.verify = Falseurllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)vsphere_client = create_vsphere_client(server=’127.0.0.1’, username=’[email protected]’, password=’123456’, session=session)# 獲取所有資源池filter = vsphere_client.vcenter.ResourcePool.list()print(filter)# 根據集群名獲取資源池cluster_name = ’vSAN-Cluster1’cluster_id = vsphere_client.vcenter.Cluster.list(Cluster.FilterSpec(names={cluster_name}))[0].clusterresource_pool_id = vsphere_client.vcenter.ResourcePool.list(ResourcePool.FilterSpec(clusters={cluster_id}))[0].resource_poolprint(resource_pool_id)列出網絡

import requestsimport urllib3from vmware.vapi.vsphere.client import create_vsphere_clientfrom com.vmware.vcenter_client import Networksession = requests.session()session.verify = Falseurllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)vsphere_client = create_vsphere_client(server=’127.0.0.1’, username=’[email protected]’, password=’123456’, session=session)# 列出標準網絡filter = vsphere_client.vcenter.Network.list()print(filter)’’’它的 type 有三種類型:DISTRIBUTED_PORTGROUP:vcenter 創建和管理的網絡;OPAQUE_NETWORK:VSphere 之外的設備所創建,但是 vSphere 卻可以知道網絡的名稱和標識符,所以宿主機和虛擬機的網卡才能夠連接到;STANDARD_PORTGROUP:ESX 創建和管理的網絡。’’’filter = Network.FilterSpec(names={’vlan 164’},types={Network.Type.STANDARD_PORTGROUP})network_summaries = vsphere_client.vcenter.Network.list(filter=filter)print(network_summaries)# 列出分布式網絡filter = Network.FilterSpec( names=set([’vlan 164’]), types=set([Network.Type.DISTRIBUTED_PORTGROUP]))network_summaries = vsphere_client.vcenter.Network.list(filter=filter)if len(network_summaries) > 0: network_id = network_summaries[0].network print(network_id)else: print('Distributed Portgroup Network not found in Datacenter')

文章出處:https://www.cnblogs.com/lyshark

以上就是Python使用oslo.vmware管理ESXI虛擬機的示例參考的詳細內容,更多關于Python用oslo.vmware管理ESXI虛擬機的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: fulidown国产精品合集 | 高清不卡一区二区三区 | 国产精品所毛片视频 | 久久er热这里只有精品23 | 亚洲网站在线播放 | 欧美高清在线视频一区二区 | 手机看片福利视频 | 最新亚洲情黄在线网站无广告 | 思思91精品国产综合在线 | 欧美成人高清手机在线视频 | 久久手机免费视频 | 国产免费影院 | 欧美日韩在线视频不卡一区二区三区 | 香港三级日本三级人妇网站 | 鲁大师成人精品视频 | 欧美一区二区三区视频在线观看 | 深爱激情五月网 | 亚洲国产成人久久精品图片 | 91亚洲精品成人一区 | 日韩美女免费视频 | 中文字幕123区| 男人性天堂| 国产区高清 | 日本三区视频 | 多人伦精品一区二区三区视频 | 午夜影院美女 | 欧美国产综合在线 | 美女视频黄的免费视频网页 | 亚洲美女免费视频 | 男人在线天堂 | 美女被强行扒开双腿激情视频 | 日本成人在线免费观看 | 成人在线一区二区三区 | 亚洲国产精选 | 精品国产高清不卡毛片 | 在线看片中文字幕 | 最新更新国内自拍视频 | 日本在线观看www免费 | 久久精品片 | 成人性色生活片免费网 | 久久综合中文字幕一区二区 |