为Openstack Nova添加新方法

    不知道这个标题是不是能对应的上这篇文章,这里仅仅作为学习Openstack开发的一个记录。这里所谓的“添加新功能”更应该叫做“抄袭新功能”,我这里拿来别人写好的代码,添加到自己的运行环境中,作为新手开发的起步吧,若方式上有什么错误,望高手指正。

    正式开始之前先说一下我所使用的环境,前面的文章已经介绍了我用DevStack搭建了Openstack的开发环境,这里就用它来作为这次添加功能的实验环境(环境搭建 http://my.oschina.net/zyzzy/blog/74088)。

    之前在别人的博文里看到通过GitHub学习别人写程序的方法,这里也全当实践了。首先在GitHub上找到Openstack/Nova:

为Openstack Nova添加新方法_第1张图片

注意红框里面的内容age 表示最近修改时间,message 表示修改的描述。这样就知道最近有什么功能被修改了。选一个比较近修改的文件夹,我这里选nova ,并且按这个方法一直选到/nvoa/api/openstack/compute/servers.py这个文件,看到最近的修改是对 "nova list"命令做的修改:

为Openstack Nova添加新方法_第2张图片

他这次修改的描述是:“

Command 'nova list --status DELETED' returns nothing at the moment.
Make 'nova list --status DELETED' work and work for admin only.

”。先在终端里实验一下这个命令“nova list --status DELETED”,果然只有一个空的表格(环境中是有已经被删除的虚拟机的)。那就按照他的修改把自己环境中的文件修改一下吧。将前面带“+”的代码复制到自己的文件中,保存退出,重启服务。看一下效果:

为Openstack Nova添加新方法_第3张图片

果然,删除掉的虚拟机被列了出来,成功!

这种做法可能显得有些幼稚,不过对于我这种Python基础不好,而且又是这种大的工程来说,能看到效果就算是突破了。在这个基础上还要继续深入。

你可能感兴趣的:(openstack)