glance-0.1.7 分析(三)—— glance/common/wsgi.py

本文介绍了OpenStack中Glance项目的WSGI组件实现细节,包括使用的第三方库eventlet、routes和webob的作用,以及wsgi.py文件中定义的基础类如Server、Middleware、Router等的功能。

首先看 glance-0.1.7/glance/common 目录下的代码,因为一般 common 下的代码对 glance 中其他

部分依赖较少,是作为基础组件来设置的,其他模块会用到这里提供的基础功能。


首先看 wsgi.py。该文件的主要功能是通过借助 eventlet、routes 和 webob 来实现的:

    eventlet     支持非阻塞IO;Python 社区里面大家比较推荐的高效框架,类似的还有 tornado 之类的

                      http://eventlet.net/

    routes        类似 Rails 中的 URL 映射的 Python 实现,用于在应用功能和 URL 之间建立映射关系

                      http://routes.readthedocs.org/en/latest/

    webob       用于给 WSGI 请求和响应对象加上封装,避免了使用上的复杂性

                      http://www.webob.org/

自己对这几个库都不熟悉,只是通过主页的介绍简单了解它们的角色。wsgi.py 就是通过这些库做实际

的工作,自己则简单封装,对外提供 WSGI 接口。


wsgi.py 中并不是单纯实现 WSGI 接口,这个已经可以由这几个库来支撑了。wsgi.py 中主要定义了几

个类,主要是通过封装来为 glance 提供 WSGI 环境

    class Server(object)
    class Middleware(Application)
    class Debug(Middleware)
    class Router(object)
    class Controller(object)
    class Serializer(object)

现在具体也不知道这些类有什么用处,等后面遇到的时候在看看实际的应用场合。



#修改成自己的ip openstack-config --set /etc/nova/nova.conf DEFAULT my_ip 192.168.80.144 openstack-config --set /etc/nova/nova.conf DEFAULT use_neutron true openstack-config --set /etc/nova/nova.conf DEFAULT firewall_driver nova.virt.firewall.NoopFirewallDriver openstack-config --set /etc/nova/nova.conf DEFAULT enabled_apis osapi_compute,metadata openstack-config --set /etc/nova/nova.conf DEFAULT transport_url rabbit://openstack:123456@manager.node openstack-config --set /etc/nova/nova.conf api auth_strategy keystone openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_url http://manager.node:5000/v3 openstack-config --set /etc/nova/nova.conf keystone_authtoken memcached_servers manager.node:11211 openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_type password openstack-config --set /etc/nova/nova.conf keystone_authtoken project_domain_name default openstack-config --set /etc/nova/nova.conf keystone_authtoken user_domain_name default openstack-config --set /etc/nova/nova.conf keystone_authtoken project_name service openstack-config --set /etc/nova/nova.conf keystone_authtoken username nova openstack-config --set /etc/nova/nova.conf keystone_authtoken password nv123456 openstack-config --set /etc/nova/nova.conf vnc enabled true openstack-config --set /etc/nova/nova.conf vnc server_listen 0.0.0.0 openstack-config --set /etc/nova/nova.conf vnc server_proxyclient_address '$my_ip' openstack-config --set /etc/nova/nova.conf vnc novncproxy_base_url http://manager.node:6080/vnc_auto.html openstack-config --set /etc/nova/nova.conf glance api_servers http://manager.node:9292 openstack-config --set /etc/nova/nova.conf oslo_concurrency lock_path /var/lib/nova/tmp openstack-config --set /etc/nova/nova.conf placement region_name RegionOne openstack-config --set /etc/nova/nova.conf placement project_domain_name Default openstack-config --set /etc/nova/nova.conf placement project_name service openstack-config --set /etc/nova/nova.conf placement auth_type password openstack-config --set /etc/nova/nova.conf placement user_domain_name Default openstack-config --set /etc/nova/nova.conf placement auth_url http://manager.node:5000/v3 openstack-config --set /etc/nova/nova.conf placement username placement openstack-config --set /etc/nova/nova.conf placement password pm123456控制节点是manager.node,计算节点是master.node
最新发布
06-21
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值