OpenStack kilo 扩展nova api方法
2021/5/7 10:29:57
本文主要是介绍OpenStack kilo 扩展nova api方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
在nova/api/openstack/compute/contrib目录下创建一个自己的文件,我这里是storage_pool.py
1from nova.api.openstack import wsgi 2from nova.api.openstack import extensions 4#authorize = extensions.extension_authorizer('compute', 'storage_pool') 6class Controller(wsgi.Controller): def detail(self, req): return {'pool_name':'ssd'} 10class Storage_pool(extensions.ExtensionDescriptor): """self-defined Nova-api""" name = "Storage_pool" alias = "os-storage-pool" namespace = "http://docs.openstack.org/compute/ext/storage_pool/api/v1.1" updated = "2011-08-08T00:00:00Z" def get_resources(self): resources = [] res = extensions.ResourceExtension( 'os-storage-pool', Controller(), collection_actions={'detail':'GET'}) resources.append(res) return resources
要是先一个extensions api需要创建一个类继承ExtensionDescriptor,并复写get_resources方法。在这里的get_resources方法中,定义了一个自定义的集合操作detail,这个操作对应的处理方法是detail方法,detail方法在Controller类中定义,它返回一个字典。
验证:
1curl -v -X GET -H "X-Auth-Token: $OS_TOKEN" http://controller:8774/v2/f429c2349d0b03aa3c70c73723/os-storage-pool/detail |python -m json.tool
返回:
1{ "pool_name": "ssd" 3}
这篇关于OpenStack kilo 扩展nova api方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-19EntBot.ai: AI Website Chatbot for Product Guides and Development Doc
- 2024-06-17zero-shot-learning-definition-examples-comparison
- 2024-06-06Package Easy(基于 NSIS 的打包exe安装包工具)使用方法-icode9专业技术文章分享
- 2024-06-06基于 casdoor 的 ELK 开源登录认证解决方案: elk-auth-casdoor-icode9专业技术文章分享
- 2024-05-29Elasticsearch慢查询日志配置
- 2024-05-29揭秘华为如此多成功项目的产品关键——Charter模板
- 2024-05-29海外IDC业务拓展的7大挑战
- 2024-05-29InLine Chat功能优化对标Github Copilot,CodeGeeX带来更高效、更直观的编程体验!
- 2024-05-29CodeGeeX 智能编程助手 6 项功能升级,在Visual Studio插件市场霸榜2周!
- 2024-05-29AutoMQ 生态集成 Apache Doris