VMware的vsphere客户端是界面操作,本文想做的是基于pyVmomi编写具有vsphere功能各个接口。
本机环境:
Ubuntu14.04
python2.7.6
pycharm4.5.3
Django1.9
pyvmomi5.5.0-2014.1.1
依赖项:
python
pip
pyvmomi-community-samples
文件名称:
pyvmomi-5.5.0-2014.1.1.tar.gz
下载地址:
https://github.com/vmware/pyvmomi/releases
基于 pyVmomi 的实例下载地址
http://vmware.github.io/pyvmomi-community-samples/
安装:
首先要确认已安装python,pycharm,pip
关于pip可参考 http://www.dabapps.com/blog/introduction-to-pip-and-virtualenv-python/
执行命令安装: pip install --upgrade pyvmomi
或者下载文件包解压后在文件夹里执行命令:python setup.py install
验证安装是否成功
进入终端输入python,再输入:import pyVmomi
文件名称:
pyvmomi-community-samples
下载地址
http://vmware.github.io/pyvmomi-community-samples/
安装
确认已安装 Python, pycharm,pip,pyvmomi
方法一: 下载 tar 或者 zip 文件,解压然后用 pycharm 打开
方法二:使用 git:
git clone https://github.com/vmware/pyvmomi-community-samples.git
例子运行
如图所示,在左侧列表中选择一个例子如: hello_world_vcenter_with_yaml_recorder.py 然后点击 test,选择Edit Configurations…选项, 在窗口 Script 中选择要执行的脚本, Script Parameters 中输入:-s {服务器 IP} -u {用户名} -p {用户登录密码}。 然后脚本hello_world_vcenter_with_yaml_recorder.py 就可以运行了。 脚本运行成功会输出服务器的详细信息。其他例子类似,只是输入参数不同。
项目名称:
tutorial
命令1:django-admin.py startproject tutorial
进入 tutorial 文件夹,修改 setting.py 文件
1、 时区改为: TIME_ZONE=’Asia/Shanghai’
2、 在 INSTALLED_APPS 中添加新的[’quickstart’,]
3、 DATABASES 的格式如下所示:
DATABASES = {
'default':{
'ENGINE':'django.db.backends.sqlite3',
'NAME':os.path.join(BASE_DIR,'db.sqlite3'),
'USER':'database_user',
'PASSWORD':'database_password',
'HOST':'',
'PORT':''
}
}
命令2: cd tutorial
命令3: python manage.py startapp quickstart
关于django新建项目可参考:
http://jingyan.baidu.com/article/8ebacdf0ce434a49f65cd5d2.html
把 pyvmomi-community-samples/samples 文件夹里的 tools 文件夹拷到 tutorial/quickstart 文件夹里。
1、在 pycharm 里,from pyVmomi import vim, vmodl 这行代码 vim,vmodl 有红色下划线
解决方法:这是一个 bug,可忽略这个错误, vim 和 vmodl 里面的函数是可以正常调用的
2、调用 pyVmomi 里面的函数时,系统没有自动补全功能,也不会显示其包含哪些可调用子函数
解决方法:提前查看 pyVmomi 代码或代码相关说明文档,找到所需相关函数及调用方法
*可参考文献:*
http://pubs.vmware.com/vsphere-60/index.jsp?topic=%2Fcom.vmware.wssdk.apiref.doc%2Fright-pane.html
https://developercenter.vmware.com/web/sdk/55/vsphere-management
http://pubs.vmware.com/vsphere-60/index.jsp#com.vmware.wssdk.pg.doc/PG_VM_Config.12.3.html?path=7_1_0_1_9_1_0#1110381
3、起变量名时,先看下tools文件夹里面的脚本,避免变量名重复。
4、仔细看参数name的注释,部分要求的是虚拟机的DNS Name,部分要求的是虚拟机的名称(在vsphere里面显示的名字)
把pyvmomi-community-samples/samples文件夹里的tools文件夹拷到tutorial/quickstart 文件夹里。
在tutorial项目quickstart文件夹里的views.py脚本里导入依赖项:
import pyVmomi
import atexit
from pyVim.connect import SmartConnect, Disconnect
from pyVmomi import vim,vmodl
from tools import tasks,vm
1、pycharm自带的Tools–Test RESTFUL web Service接口检测工具使用时,可能会发生拒绝连接,但网页访问又没有问题。
解决方法:安装postman接口测试工具
安装方法一:http://jingyan.baidu.com/article/e5c39bf56286ae39d6603374.html
安装方法二:http://www.yanyulin.info/pages/2015/01/25314200948928.html
2、URL配置 :django1.10 及 以后的版本将对删除django.conf.patterns()
3、使用POST方法的函数需要加个装饰器
先标明使用POST方法:@require_http_methods(['POST'])
再添加装饰器:@csrf_exempt
N:注意先后顺序,否则会报错
本文出自“heivy”的博客,转载请务必保留此出处:http://blog.csdn.net/heivy/article/details/50433525