- python相关
- 现在的OpenStack还是基于python2.7版本开发的( Juno版本已经不支持python2.6)
- OpenStack Liberty版本才开始支持python3
- 检查操作系统默认python版本的命令:
python -v
- pip是一个安装和管理python包的工具
4.1 配置国内pip镜像源方法:
vi ~/.pip/pip.conf
[global]
index-url = http://pypi.douban.com/simple
4.2. 重用的pip命令:
pip install Package #安装
pip show --file Package #查看详细信息
pip uninstall Package #卸载
4.3. 安装特定版本的package,通过使用==,>=,<=,>,<来指定一个版本号,例如:
pip install 'Markdown<2.0'
- REST
- REST是一种架构风格,其核心是面向资源
- 基于http协议
- http协议里面,有4个表示操作方式的动作:GET、POST、PUT、 DELETE,其中GET是用来获取资源,POST是用来创建资源,PUT是用来更新或者创建资源,DELETE用来删除资源
- WSGI
- WSGI的全称是Web Server Gateway Interface,这是一个规范,描述web server如何与web application交互、web application如何处理请求
- WSGI包含Server,Middleware,Application。WSGI server接受客户请求,传递给Middleware,Middleware根据相关配置路由给WSGI application处理
- Paste Deployment
- Paste Deployment(简称PD)是一个WSGI工具包
- 基于PD的应用配置文件,内容被分为多个段(section),PD只关心带有前缀的段,比如[app:main]或者[filter:errors]
- 一个section的内容是以键=值来标示的。在段的定义中,有以下几类:
3.1. [app:main] 定义WSGI应用,main标示只有一个应用,有多个应用的话main改为应用名字
3.2. [server:main] 定义WSGI的一个server
3.3. [composite:xxx] 标示需要将一个请求调度定向(dispatched)多多个应用上
3.4. [filter:] 定义“过滤器”,将应用进一步封装
3.5. [DEFAULT] 定义一些默认变量的值
- MariaDB
- MariaDB是一个采用Maria存储引擎的MySQL分支版本
- MariaDB完全兼容MySQL,包括API和客户端协议
3.OpenStack的核心项目Keystone,Cinder,Glance,Neutron,Nova等均使用到它来存放相关持久数据 - 常见操作
create database keystone;
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'keystone';
GTANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'keystone';
- RabbitMQ
- Message Queue(MQ)定义是:
MQ是消费者=生产者模型的一个典型代表,一端往消息队列中不断写入消息,而另一端可以读取或者订阅队列中到的消息 - RabbitMQ是一个由erlang开发的基于AMQP协议(Advanced Message Queue Protocol)的开源实现。通常用于应用程序之间或者程序不同组件之间通过消息来进行集成。主要名词解释:
交换器(Exchange),它是发送消息的实体
队列(Queue),它是接受消息的实体
绑定器(Bind),将交换器和队列连接起来,并且封装消息的路由消息 - OpenStack中模块Cinder、Neutron、Nova等项目的内部组件之间的通信是通过AMQP协议实现,消息由RabbitMQ作为中间件转发