openstack源碼
㈠ 如何在OpenStack環境中實現定製化功能
1 文件在哪
現在網上的安裝方法基本都是通過配置安裝源安裝,那麼安裝後的openstack工程的程序文件在哪呢?以nova為例:
需要注意是:要在文件的開頭處將logging引入,同時,定義:
LOG = logging.getLogger(__name__)
我們列印兩行*號以便快速定位日誌,同時將context內容列印出來,並顯式的拋出一個異常讓本次處理停止。
轉載
㈡ 如何查看openstack版本
要想知道已安裝的Openstack是什麼版本,是一件非常煩的事,網路搜到的都是nova版本查看跟一些不相關的,後面用google中文查找也是如此,換成英文就有所收獲了,隨手就記下來,在此感謝一位給予我指導的學長。
先查看nova版本
環境說明:Centos7,只要在安裝了nova的節點上都可以查詢
查看nova版本有以下三種方式:
命令行查看
[root@controller ~]# nova-manage version
12.0.4-1.el712
python內部查看
有兩種方式:
nova-manageshell python查看
[root@controller ~]# nova-manage shell python
>>> import nova; nova.version.version_string();
'12.0.4'123
查看python文件名
Openstack 的源代碼都在/usr/lib/python2.7/site-packages/下可以找到nova包
[root@controller ~]# ll /usr/lib/python2.7/site-packages/|grep nova
drwxr-xr-x 32 root root 4096 Mar 25 23:21 nova
drwxr-xr-x 2 root root 143 Mar 25 23:20 nova-12.0.4-py2.7.egg-info
drwxr-xr-x 5 root root 4096 Mar 25 21:48 novaclient
drwxr-xr-x 2 root root 128 Mar 25 21:48 python_novaclient-2.30.1-py2.7.egg-info12345
看到nova後面帶這一長串數字的就是nova的版本了,知道nova版本之後就可以去查Openstack 版本了
通過nova版本查看Openstack版本
本地有git clone nova的話可以通過看他的tag知道是哪個版本
通過github上對照tag知道他是哪個版本nova倉庫輸入tag搜索
有這兒可以得知是Liberty版本 希望這個回答對你有幫助
㈢ 如何在windows下安裝openstack的依賴包
本文主要講述在windows系統中如何安裝openstack源代碼的依賴包,以便於在windows操作系統下進行源碼閱讀。為了可以在windows下閱讀openstack源碼,首先我們需要在windows系統下安裝python2.7。安裝好後將python目錄配置到系統的環境變數中(我的電腦->屬性->高級->環境變數)。可以在命令行輸入echo %PATH%觀察系統其值是否發生了變化。如果發生了變化可以繼續安裝pip。如果沒有包括python的路徑則需要注銷電腦,重新登陸或者重啟電腦。
為了完成pip的安裝,首先需要安裝setuptools,下載完成後解壓,然後使用命令行進入到解壓後的目錄,輸入pythonsetup.py install進行安裝。安裝完成後就可以下載pip進行安裝了,其安裝過程與setuptools一樣。在pip安裝完成後,需要修改Path環境變數,將python目錄下的Scripts添加進環境變數。然後參考上一段的做法激活環境變數後就可以使用pip方面地安裝擴展包了。
在完成上面的操作後就可以安裝openstack源代碼中所需要的擴展包的。其安裝命令主要是pip installrequirements.txt 或者pip install-r tools/requirements。至於執行哪個命令要根據openstack組件的源代碼結構而定。
下面主要說明安裝過程可能出現的問題。
1)distutils.errors.DistutilsError: Setup script exited with error:Unable to find vcvarsall.bat
注意:系統可能需要安裝vs2008,因為windows python以來vc++ 2008版本的。
2)UnicodeDecodeError:'ascii' codec can't decode byte 0xb2 in position 0: ordinal not in range
3)以下這些擴展包需要手動安裝或者下載安裝,不能使用pip安裝
A.pyOpenSSL
B.lxml
C.cffi
D.pycparser
E.thrift
F.mysql-python
㈣ Open Stack的原理和概念架構是什麼
Open Stack的概念架構:應用開發者(AppDev),應用運維者(DevOps),雲操作者(CloudOps),應用所有者(AppOwner)要與雲進行交互。展示層(Presentation):應用開發者與computerapi(計算介面),imageapi(映像介面)進行交互,運維者與計算介面,映像介面,Userdashboard(儀表盤)進行交互處理信息⌄ 應用擁有者通過顧客門戶UI平台管理,提供一個web管理頁面,與底層交互。邏輯控制層:包括部署(Orchestration),scheling(調度),政策(Policy)、Imageregistry(映像注冊層),Logging(日誌)為私有雲服務提供邏輯控制服務。管理層:企業雲服務平台運維者通過admin Api(管理員介面),Monitoring(監控),在一些成熟的架構中還具有標准和配置管理等支持服務。Accrets國際是一家主營私有雲託管服務、雲遷移服務、雲架構部署服務的信息科技服務型公司,擁有超過百年的累積IT設計、方案實施、運營服務管理經驗。