OpenStack Nova 扩展API

实验目标:

为OpenStack Nova 增加一个扩展API os-tests

实验环境:

CentOS 6.4

OpenStack Grizzly

操作流程:

1、在/nova/api/openstack/compute/contrib下创建一个Python文件 tests.py

from nova import exception
from nova.api.openstack import extensions
from nova.api.openstack import wsgi
from nova.api.openstack import xmlutil
from nova import compute
from nova.openstack.common import log as logging

LOG = logging.getLogger(__name__)
authorize = extensions.extension_authorizer('compute', 'tests')

class TestsController(wsgi.Controller):
    '''
    classdocs
    '''
    def __init__(self, *args, **kwargs):
        LOG.debug("tests_api_init")
        super(TestsController, self).__init__(*args, **kwargs)
    def index(self,req):
        result={}
        result["test"] =  "extension-api work"
        return result

    def show(self, req, id):
        pass
    def create(self,req,body):
        pass
    def delete(self, req, id):
        pass

class Tests(extensions.ExtensionDescriptor):
    '''Tests'''

    name = "Tests"
    alias = "os-tests"
    namespace = "http://docs.openstack.org"
    updated = "2013-03-25T00:00:00+00:00"

    def get_resources(self):
        resources = [extensions.ResourceExtension('os-tests',TestsController())]
        return resources;
2、重启nova-api 服务:

]# service openstack-nova-api restart

实验结果

使用curl测试API,执行:

 curl -v -X GET -H "Content-type: application/json" http://127.0.0.1:8774/v2/cea139d0c11246608986917c6a43076a/os-tests | python -mjson.tool

返回:

{
    "test": "extension-api work"
}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值