美文网首页
追踪openstack创建虚拟机入口

追踪openstack创建虚拟机入口

作者: 我是王串串的崔先生 | 来源:发表于2018-11-30 18:01 被阅读10次

    wsgi 暂不分析

    直接进入nova restful api 分析
    每个API对应的Controller都在nova/api/openstack/compute/目录下的各个API对应的模 块中。这些模块注册就是setup.cfg中所描述的。
    例如

    servers = nova.api.openstack.compute.servers:Servers
    

    则\nova\api\openstack\compute\servers.py

    class Servers(extensions.V21APIExtensionBase):
        """Servers."""
    
        name = "Servers"
        alias = ALIAS
        version = 1
    
        def get_resources(self):
            member_actions = {'action': 'POST'}
            collection_actions = {'detail': 'GET',
                                  'count': 'GET',
                                  'import_server': 'POST'}
            resources = [
                extensions.ResourceExtension(
                    ALIAS,
                    ServersController(extension_info=self.extension_info),
                    member_name='server', collection_actions=collection_actions,
                    member_actions=member_actions)]
    
            return resources
    
        def get_controller_extensions(self):
            return []
    

    get_resources方法用来返回所要 注册的资源,这里注册了一个资源,名字为ALIAS所指定。
    ALIAS = 'servers'
    所以在API中所对应的URL为“/v2.1/servers”。这个资源所对应的Controller是 ServersController。除了添加新资源,还可以扩展现有资源,则通过
    get_controller_extensions方法来注册,这里没扩展servers资源。

    ServersController中,公共方法有 index/create/get/update/delete/count

    创建流程走的是create

    参考了:https://www.cnblogs.com/goldsunshine/p/7747521.html

    相关文章

      网友评论

          本文标题:追踪openstack创建虚拟机入口

          本文链接:https://www.haomeiwen.com/subject/mbzhcqtx.html