- 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作為中間件轉發