基于python调用libvirt API

1、程序代码

#!/usr/bin/python

import libvirt
import sys def createConnection():
conn = libvirt.openReadOnly(None)
if conn == None:
print 'Failed to open connection to QEMU/KVM'
sys.exit(1)
else:
print '-----Connection is created successfully-----'
return conn def closeConnection(conn):
print ''
try:
conn.close()
except:
print 'Failed to close the connection'
return 1
print 'Connection is closed' def getDomInfoByName(conn, name):
print ''
print '----- get domain info by name -----'
try:
myDom = conn.lookupByName(name)
except:
print 'Failed to find the domain with name "%s"' % name
return 1 print "Dom id: %d name: %s" % (myDom.ID(), myDom.name())
print "Dom state: %s" % myDom.state(0)
print "Dom info: %s" % myDom.info()
print "memory: %d MB" % (myDom.maxMemory()/1024)
print "memory status: %s" % myDom.memoryStatus()
print "vCPUs: %d" % myDom.maxVcpus() def getDomInfoByID(conn, id):
print ''
print '----- get domain info by ID -----'
try:
myDom = conn.lookupByID(id)
except:
print 'Failed to find the domain with ID "%d"' % id
return 1 print "Domain id is %d ; Name is %s" % (myDom.ID(), myDom.name()) if __name__ == '__main__':
name1 = "kvm-guest"
name2 = "notExist"
id1 = 3
id2 = 9999
print "---Get domain info via libvirt python API---"
conn = createConnection()
getDomInfoByName(conn, name1)
getDomInfoByName(conn, name2)
getDomInfoByID(conn, id1)
getDomInfoByID(conn, id2)
closeConnection(conn)

2、运行,结果如图1所示

python libvirt-test.py 2>/dev/null

 

图 1 

3、中间过程错误说明

执行运行命令时出现如图2所示的错误

图 2

本文实验环境是利用编译安装的qemu和libvirt,没有安装libvirt-python的依赖包,所以需要python官网上下载相应的包,下载链接如下

https://pypi.python.org/pypi/libvirt-python/3.10.0

下载后解压编译安装,操作如下

tar -zxvf libvirt-python-3.10.0.tar.gz
python setup.py build
python setup.py install

安装完成后,查看/usr/local/lib/python2.7/dist-packages/目录下是否有相应的包,如图3所示

图 3

即可继续执行步骤2中的指令即可得到相应运行结果。

基于python调用libvirt API的更多相关文章

  1. 使用Python调用Flickr API抓取图片数据

    Flickr是雅虎旗下的图片分享网站,上面有全世界网友分享的大量精彩图片,被认为是专业的图片网站.其API也很友好,可以实现多种功能.这里我使用了Python调用其API获得了大量的照片数据.需要注意 ...

  2. 关于python调用zabbix api接口

    因公司业务需要,引进了自动化运维,所用到的监控平台为zbbix3.2,最近正在学习python,计划使用python调用zabbix api接口去做些事情,如生成报表,我想最基本的是要取得zabbix ...

  3. Python调用win32 API绘制正弦波

    Python调用win32 API新建窗口与直接创建窗口的流程相同 流程:注册窗口→创建窗口→显示窗口→更新窗口→消息循环 代码: # -*- coding: utf-8 -*- import win ...

  4. python 调用zabbix api接口实现主机的增删改查

    python程序调用zabbix系统的api接口实现对zabbix_server端主机的增删改查,使用相关功能时候,需要打开脚本中的相关函数. 函数说明: zabbixtools()  调用zabbi ...

  5. 『Python』Python 调用 ZoomEye API 批量获取目标网站IP

    #### 20160712 更新 原API的访问方式是以 HTTP 的方式访问的,根据官网最新文档,现在已经修改成 HTTPS 方式,测试可以正常使用API了. 0x 00 前言 ZoomEye 的 ...

  6. Python调用ansible API系列(四)动态生成hosts文件

    方法一:通过最原始的操作文件的方式 #!/usr/bin/env python # -*- coding: utf-8 -*- """ 通过操作文件形式动态生成ansib ...

  7. python 调用zabbix api实现查询主机信息,输出所有主机ip

    之前发现搜索出来的主机调用zabbix api信息都不是那么明确,后来通过zabbix官方文档,查到想要的api信息,随后写一篇自己这次项目中用到的api. #!/usr/bin/env python ...

  8. 基于C语言libvirt API简单小程序

    libvirt API简单小程序 1.程序代码如下 #include<stdio.h> #include<libvirt/libvirt.h> int getDomainInf ...

  9. python调用java API

    JPype documentation JPype is an effort to allow python programs full access to java class libraries. ...

随机推荐

  1. 67 个JavaScript和CSS实用工具、库与资源

    在这篇文章中,我不会与大家谈论大型的前端框架,如 React.Angular.Vue 等,也没有涉及那些流行的代码编辑器,如 Atom.VS Code.Sublime,我只想与大家分享一个有助于提升开 ...

  2. 基于虚拟主机的HAProxy配置实战

    本实例是如上图所示 主要实现的功能如下: 当客户访问www.tb.com/tb.com的时候HAProxy将网站提交到电商服务器集群当访问bbs.tb.com的时候,将访问请求调度到论坛集群,实现论坛 ...

  3. Codeforces1036F Relatively Prime Powers 【容斥原理】

    题目分析: 这种题目标题写莫比乌斯反演会不会显得太恐怖了,那就容斥算了. gcd不为1的肯定可以开根.所以把根式结果算出来就行了. 辣鸡题目卡我精度. 代码: #include<bits/std ...

  4. Java 视频处理,截帧操作

    1.maven <dependency> <groupId>org.bytedeco</groupId> <artifactId>javacv</ ...

  5. codeforces1096G Lucky Tickets

    题目链接:https://codeforces.com/problemset/problem/1096/G 大意:给出\(k\)个数码\(d_1,d_2,\cdots,d_k\),构造一个由这\(k\ ...

  6. requirejs 使用实例r.js打包

    在这里,请先看基础文章与相关技术文档: 安装: npm init npm install requirejs --save npm install jquery@1.11.1 --save 创建基本目 ...

  7. ecplise An incompatible version [1.2.14] of the APR based Apache Tomcat Native library is installed, while T

    原文:https://www.cnblogs.com/levy-home/p/5676322.html 到http://archive.apache.org/dist/tomcat/tomcat-co ...

  8. GitHub Desktop 出现“please upgrade your plan to create a new private repository”的解决办法

    转:https://blog.csdn.net/qq_38584262/article/details/82386805 解决办法:去掉最下面的勾

  9. MT【283】图像有唯一公共点.

    函数$f(x)=\sqrt[n]x(n-\ln x),$其中$n\in N^*,x\in(0,+\infty)$.(1)若$n$为定值,求$f(x)$的最大值.(2)求证:对任意$m\in N^+$, ...

  10. 【BZOJ5291】[BJOI2018]链上二次求和(线段树)

    [BZOJ5291][BJOI2018]链上二次求和(线段树) 题面 BZOJ 洛谷 题解 考虑一次询问\([l,r]\)的答案.其中\(S\)表示前缀和 \(\displaystyle \sum_{ ...