1.日誌路徑 /var/log/模塊名,可以根據日誌佐證代碼追蹤路線是否正確
1.在dashboard上進行創建鏡像上傳鏡像等操作,產生的日誌不一定在那一個節點,是根據調度算法調度的,所以需要具體去看
2.源代碼報紅,ctrl+鼠標直接點函數進不去或者點進去但是能看到的函數不全,需要加載資源
2.glance上傳源碼分析參考文檔
https://blog.csdn.net/lzw06061139/article/details/51540456
3.openstack官方文檔路徑(從介紹模塊開始)
https://www.openstack.org/software/project-navigator/openstack-components#openstack-services
4.horizon結構圖
5.horizon構建自己的dashboard
- 官方demo https://docs.openstack.org/horizon/latest/contributor/tutorials/dashboard.html
- 錯誤日誌:/var/log/httpd/
- 代碼結構分析:
.
├── horizon # horizon通用組件庫
│ ├── base.py # 定義了horizon模塊中從HorizonSite到Panel的各種組件的類庫,並且用類HorizonSite爲整個項目實例化了一個horizon對象
│ ├── browsers # 瀏覽器基類
│ ├── conf # 配置文件
│ ├── context_processors.py # 自動設置相應上下文變量來解析模板的上下文處理器,他把HORIZON_CONFIG字典自動加到了Context上下文變量中傳給模板
│ ├── contrib # 多語言映射關係
│ ├── decorators.py # 用於方便取得網頁請求的當前組件和權限認證
│ ├── exceptions.py # 異常處理
│ ├── forms # form表單基類包
│ ├── hacking
│ ├── __init__.py
│ ├── karma.conf.js
│ ├── loaders.py # 幫助horizon模塊使用自定義的方式加載模板而非使用Django自帶的模板加載器
│ ├── locale # 國際化語言包
│ ├── management # manage.py命令的startdash/startpanel命令選項
│ ├── messages.py # 消息通信
│ ├── middleware # 中間件,用來處理收到的異常和網頁請求及迴應需要的附加的動作
│ ├── notifications.py
│ ├── __pycache__
│ ├── site_urls.py # URL相關
│ ├── static # 靜態文件包
│ ├── tables # table基類包
│ ├── tabs # tab基類包
│ ├── templates # 模板文件基類
│ ├── templatetags # 模板標籤基類
│ ├── test # 測試包
│ ├── themes.py
│ ├── utils # 實用工具包
│ ├── version.py # 版本信息
│ ├── views.py # 視圖
│ └── workflows # 工作流機制包
├── openstack_dashboard # horizon各個面板的具體實現代碼
│ ├── api # 與外部api交互的方法和接口對象
│ ├── conf # nova、cinder等API訪問權限控制,叫 xxx_policy.json,裏面定義了鑑權用的rules
│ ├── context_processors.py # 上下文處理器
│ ├── contrib
│ ├── dashboards # Horizon界面展示各個模塊實現目錄
│ │ ├── admin # 管理員界面,管理登錄後可見,左側的管理員面板
│ │ │ ├── instances # 雲主機管理界面
│ │ │ │ ├── forms.py # form表單實現
│ │ │ │ ├── __init__.py
│ │ │ │ ├── panel.py # 在應用程序中註冊面板並定義面板屬性
│ │ │ │ ├── __pycache__
│ │ │ │ ├── tables.py # table實現
│ │ │ │ ├── tabs.py # tab實現
│ │ │ │ ├── templates # 雲主機html界面模板
│ │ │ │ ├── tests.py # 測試
│ │ │ │ ├── urls.py # url映射,描述了當瀏覽器網址指向那一級目錄
│ │ │ │ └── views.py # url映射的視圖,包含頁面的業務邏輯,該文件裏的函數通常叫做視圖
│ │ │ ├── dashboard.py # 使用Horizon註冊應用程序並設置dashboard屬性
│ │ ├── identity # 項目、用戶管理界面
│ │ ├── __init__.py
│ │ ├── project # 普通用戶登錄後看到的項目面板
│ │ ├── __pycache__
│ │ ├── settings # 設置界面,右上角的設置面板,裏面可設置語言、時區、更改密碼
│ ├── django_pyscss_fix
│ ├── enabled # 控制導航加載哪些模塊顯示出來
│ ├── exceptions.py # 異常處理
│ ├── hooks.py
│ ├── __init__.py
│ ├── karma.conf.js
│ ├── local # 本地配置文件
│ ├── locale # 本地國家化語言包
│ ├── management # 定義安裝apache、horizon等是配置文件的模板文件
│ ├── policy.py # 策略
│ ├── __pycache__
│ ├── settings.py # 設置
│ ├── static # 靜態包
│ ├── templates # 模板包
│ ├── templatetags # 模板標籤包
│ ├── test # 測試包
│ ├── themes
│ ├── theme_settings.py
│ ├── urls.py # URL模型
│ ├── usage # 概況頁面資源統計實現包
│ ├── utils # 工具包
│ ├── views.py
│ ├── wsgi # wsgi包
│ └── wsgi.py