openstack之horizon原始碼分析之二

2021-09-22 22:21:13 字數 1349 閱讀 4234

一、概述:

django基礎入手:

django新建project:#django-admin startproject mysite

1

生成如下目錄:

2mysite

3├── manage.py

4└── mysite

5 ├── __init__

.py6

├── settings.py

7├── urls.py

8 └── wsgi.py

1

則生成如下目錄:

2 demo/

3 ├── __init__

.py4

├── admin.py

5├── models.py

6├── tests.py

7 └── views.py

修改 mysite/mysite/settings.py

模擬一下:

my_horizon(應該叫horizon)目錄下的openstack_dashboard 相當於第二層的mysite;而horizon/horizon相當於demo

第二層的horizon被匯入到my_horizone/openstack_dashboard/settings.py中,則根據py特性,python中在匯入乙個包時,實際上匯入了它的__init__.py檔案,當我們匯入horizon這個包的時候,__init__.py檔案自動執行,在__init__.py 檔案中再匯入其他的包,或者模組。其中在horizon包的__init__.py檔案中,此時應該看my_horizon/horizon/__init__.py的這個檔案;

跳轉到horizon.base.py

horizon/base.py,不足 1000 行,整體架構的核心,從這裡出發去探索。乙個程序只有乙個 site,乙個 site 有多個 dashboard,乙個 dashboard 有多個 panelgroup,乙個 panelgroup 有多個 panel。 而 panelgroup 的功能很弱,只是把下面的 panel 組合了一下,dashboard 的 _registerable_class 是 panel。url 是 lazy 載入的方式,只有在第一次訪問時才載入;

OpenStack 部署管理服務horizon

1 控制端安裝 horizon root linux host1 yum install openstack dashboard root linux host1 vim etc openstack dashboard local settings 159 openstack host 192.16...

OpenStack之Swift swift表結構

表account stat id名稱 型別 長度 預設值備註 account text created at text put timestamp text 0delete timestamp text 0container count integer object count integer 0b...

Openstack之KeyStone學習(一)

openstack 是乙個美國國家航空航天局和 rackspace 合作研發的雲計算軟體,以 apache 許可證授權,並且是乙個 自由軟體和開放源 專案。openstack 是iaas 基礎設施即服務 平台,讓任何人都可以自行建立和提供雲端 運算服務。以下是5個 openstack 的重要構成部分...