真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

vmwareapi開發(fā)之html5的虛擬機(jī)console

公司要自己開發(fā)私有云管理平臺(tái),我這邊負(fù)責(zé)vmware部分的后臺(tái)接口編寫。

目前成都創(chuàng)新互聯(lián)公司已為上1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁(yè)空間、網(wǎng)站托管運(yùn)營(yíng)、企業(yè)網(wǎng)站設(shè)計(jì)、海拉爾網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

主要基于vmware官方的 python 接口 pyvmomi進(jìn)行二次封裝,

主要實(shí)現(xiàn)有虛擬機(jī)開關(guān)機(jī)注銷;

虛擬機(jī)增刪磁盤;

虛擬機(jī)快照增刪還原;

虛擬機(jī) html5的console界面

虛擬機(jī)網(wǎng)絡(luò)管理

zabbix 監(jiān)控 esxi的磁盤使用率 

zabbix 接受轉(zhuǎn)發(fā)esxi的報(bào)警信息

我把 克隆虛擬機(jī),虛擬機(jī) html5的console界面,虛擬機(jī)快照管理 這幾個(gè)代碼的放出,水平有限,大神勿噴,并且有部分涉及隱私的地方做了處理,供大家參考下,貼出的只是第一版,沒有錯(cuò)誤捕捉

需要環(huán)境:vcenter 5.1-6.0, python3.5 ,django 1.8 ,redis,MySQL,celery(python 異步后臺(tái)任務(wù))等

第二個(gè)介紹展示html5的虛擬機(jī)console

只適用于vc ,5.x 不適用于6.x,6.x改了登陸驗(yàn)證方式 暫時(shí)還沒搞定

過程,收到前端請(qǐng)求的,找到對(duì)應(yīng)虛擬機(jī),生成sessionTicket和 thumbprint,

拼接對(duì)應(yīng)的網(wǎng)址,當(dāng)作一個(gè) HttpResponseRedirect 返回前端

先上下效果

輸入 http://10.20.11.4:8001/viewconsole.py?IP=10.20.13.158

vmware api開發(fā)之html5的虛擬機(jī)console

代碼如下 

  

import atexit

import ssl

import sys

import time

import OpenSSL

import os

from pyVim.connect import SmartConnect, Disconnect

from pyVmomi import vim

from django.http import HttpResponse

from django.http import HttpResponseRedirect

def viewconsole(request):

        vmip = request.GET.get('IP')

        respone=main(vmip)

        return HttpResponseRedirect(a)

        return HttpResponse(a)

def get_vm(content, name): 實(shí)例化虛擬機(jī)

    vm = None

    container = content.viewManager.CreateContainerView(

        content.rootFolder, [vim.VirtualMachine], True)

    for c in container.view:

        if c.name == name:

            vm = c

            break

    return vm

def main(vmip):

    context = ssl.SSLContext(ssl.PROTOCOL_TLSv1)

    context.verify_mode = ssl.CERT_NONE

    si = SmartConnect(host="######",

                          user="############",

                          pwd="############",

                          port=443,sslContext=context)

    atexit.register(Disconnect, si)

    content = si.RetrieveContent()

    vm = get_vm(content, "{0}".format(vmip))

    vm_moid = vm._moId

    vcenter_data = content.setting

    vcenter_settings = vcenter_data.setting

    console_port = '7331'

    for item in vcenter_settings:

        key = getattr(item, 'key')

        if key == 'VirtualCenter.FQDN':

            vcenter_fqdn = getattr(item, 'value')

    session_manager = content.sessionManager

    session = session_manager.AcquireCloneTicket()

    vc_cert = ssl.get_server_certificate(("vc的ip",443))

    vc_pem = OpenSSL.crypto.load_certificate(OpenSSL.crypto.FILETYPE_PEM,

                                             vc_cert)

    vc_fingerprint = vc_pem.digest('sha1')

    url="http://vc的ip:7331/console/?vmId={2}&vmName={3}&host={4}&sessionTicket={5}&thumbprint={6}".format("",console_port,vm_moid,vmip,vcenter_fqdn,session,vc_fingerprint.decode())

    return url


本文題目:vmwareapi開發(fā)之html5的虛擬機(jī)console
轉(zhuǎn)載來源:http://weahome.cn/article/pcsjod.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部