openstack模块解析
文章平均质量分 65
对openstack中所用到的模块进行总结学习
云中国化
本人主要专注于OpenStack云开发。
展开
-
neutron消息发布/订阅机制——notify/subscribe
一、notify/subscribe概述 notify/subscribe是进程内的一种通信方式,一个进程内有A、B、C三个服务,B、C服务里面都调用了A服务的状态,B、C服务要想感知到A服务的状态有两种办法:第一种是直接在B、C服务中分别调用A服务;还有一种方式就是采用notify/subscribe机制,在B、C服务中分别订阅A服务中的消息,当A状态发生改变时,自动通知B、C服务,B、C服务完成相应的动作。...原创 2021-03-03 11:03:15 · 633 阅读 · 1 评论 -
python模块——pycurl
一、pycurl的简介1.简介 Pycurl包是一个libcurl的Python接口,Libcurl是一个支持FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 和 LDAP的客户端URL传输库,Libcurl也支持HTTPS认证、HTTP POST、HTTP PUT、FTP上传、代理、Cookies、基本身份验证、FTP文件断点继传、HTTP代理通道等。2.pycurl模块功能2.1 pycurl.global_init(option..原创 2021-01-25 17:25:15 · 183 阅读 · 0 评论 -
http协议
一、http协议概述1.http概述 http协议是应用层的协议,全称为超文本传输协议,http请求和响应是一个标准的TCP,客户端用户通过一定的工具向服务器发起http请求,服务器收到消息后对请求进行处理并且返回响应的数据。2.http请求响应步骤客户端连接到服务器:http客户端与服务器建立一个tcp套接字连接。 发送http请求:通过tcp套接字,客户端向服务器发送一个请求报文(请求行、请求头、空行、数据)。 服务器接收请求并返回http响应:web服务器解析请求,定位请求资..原创 2021-01-25 14:33:05 · 182 阅读 · 0 评论 -
python模模块之使用缓存存储数据——cStringIO
一、cStringIO简介 cStringIO的行为与open对象非常相似,但它不会在磁盘上生成文件,而是在内存中开辟一个空间来存储文件,此模块主要用于在内存缓冲区中读写数据。模块中只有一个StringIO类,所以它的可用方法都在类中,此类中的大部分函数都与对open的操作方法类似。二、cStringIO使用1.使用步骤创建句柄。 向缓存中写入数据。 从缓存中读取数据。 关闭句柄。import cStringIO#创建句柄buf = cStringIO.StringIO..原创 2021-01-22 14:31:57 · 2357 阅读 · 2 评论 -
openstack公共库——oslo_log
目录一、oslo_log基础知识1.oslo_log库简介2.日志级别二、oslo_log的使用1.oslo_log常用的配置项2.注册日志配置项一、oslo_log基础知识1.oslo_log库简介 oslo_log库为所有的OpenStack项目提供了标准的日志处理方式,它实际上是对python的logging模块做了二次封装,使得接口更加优化,使用起来也更加的方便,极大的简化了使用代码量;因此它不仅可以用于OpenStack插件的的日志输出,也可以作为一...原创 2021-01-14 10:35:36 · 345 阅读 · 0 评论 -
python模块——argparse模块
一、使用argparse定义命令行步骤1.创建解析器parser=argparse.ArgumentParser(description='Process some intergers.')2.添加参数parser.add_argument('integers', metavar='N', type=int, nargs='+', help = 'an integer for the accumulator')3.参数使用print parser.integers二、解析器原创 2021-01-11 14:10:19 · 172 阅读 · 0 评论 -
openstack公共库——oslo_config之cfg
目录一、oslo_config.cfg的主要作用二、oslo_config.cfg注册opt1.定义opt的语法通用定义配置项的参数StrOptBoolOpt(name)IntOpt(name, min=None, max=None)FloatOpt(name, min=None, max=None)ListOpt(name, item_type=None, bounds=None)DictOpt(name)IPOpt(name, version=None).原创 2021-01-06 22:22:51 · 513 阅读 · 0 评论