您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“插件化的Panels和Groups怎么設(shè)置”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
Horizon允許在不修改默認(rèn)設(shè)置的情況下添加儀表板、面板和面板組。 插件化的設(shè)置是一種機(jī)制,允許將設(shè)置存儲在單獨(dú)的文件中。 這些文件在啟動時(shí)被讀取,并用于修改默認(rèn)設(shè)置。
儀表板配置文件的默認(rèn)位置是 openstack_dashboard/enabled
, 使用另一個(gè)目錄openstack_dashboard/local/enabled
是用于本地覆蓋。 這兩組文件都將被加載, 但是 openstack_dashboard/local/enabled
設(shè)置將覆蓋默認(rèn)設(shè)置。 這些設(shè)置應(yīng)用文件名的字母順序。 如果相同的儀表板在 enabled
和 local/enabled
都有配置文件,在local/enabled
將會被使用。 注意,因?yàn)閜ython模塊的名稱不能以數(shù)字開頭, 這些文件通常以一個(gè)主要的下劃線和一個(gè)數(shù)字來命名,這樣您就可以輕松地控制它們的順序。
在描述具體的用例之前,可以在任何插件化的設(shè)置文件中使用以下配置變量.
ADD_EXCEPTIONS
?New in version 2014.1(Icehouse).
可以向配置變量 HORIZON['exceptions']
里加 異常類字典。
ADD_INSTALLED_APPS
New in version 2014.1(Icehouse).應(yīng)用程序列表插入到 INSTALLED_APPS
列表之前,當(dāng)需要從插件中暴露靜態(tài)文件時(shí)需要使用此設(shè)置。
ADD_ANGULAR_MODULES
New in version 2014.2(Juno).當(dāng)Angular bootstraps時(shí), AngularJS模塊列表會被加載。 這些模塊會作為依賴被添加到root Horizon application horizon 。
ADD_JS_FILES
New in version 2014.2(Juno).javascript源文件列表會被引進(jìn)每個(gè)頁面上加載的壓縮文件集中。 這對于AngularJS模塊來說是必需的,因?yàn)檫@些被添加進(jìn) ADD_ANGULAR_MODULES
的模塊會引用到 javascript源文件, 因此需要在每個(gè)頁面中加進(jìn)來。
ADD_JS_SPEC_FILES
?New in version 2015.1(Kilo).javascript規(guī)范文件的列表會被引入來與 Jasmine規(guī)范運(yùn)行器集成。Jasmine是一個(gè)用于測試JavaScript代碼的行為驅(qū)動開發(fā)框架。
ADD_SCSS_FILES
?New in version 8.0.0(Liberty).scss文件列表會被引進(jìn)每個(gè)頁面上加載的壓縮文件集中。 建議每個(gè)儀表板上一個(gè)scss文件,如果需要為面板引用額外的scss文件,請使用@import。
ADD_XSTATIC_MODULES
?New in version 14.0.0(Rocky).包含javascript和scss文件的xstatic模塊列表會被引進(jìn)每個(gè)頁面上加載的壓縮文件集中。相關(guān)的文件應(yīng)該在 ADD_XSTATIC_MODULES
進(jìn)行添加而不是在 ADD_JS_FILES
添加。 這個(gè)選項(xiàng)配置值為一個(gè)元組列表,每個(gè)元組包含一個(gè)xstatic模塊和一個(gè)要加載的javascript文件列表。 有關(guān)更多細(xì)節(jié),請查看 openstack_dashboard/utils/settings.py 中的 BASE_XSTATIC_MODULES
注釋。
例子:
ADD_XSTATIC_MODULES = [ ('xstatic.pkg.foo', ['foo.js']), ('xstatic.pkg.bar', None), ]
AUTO_DISCOVER_STATIC_FILES
?New in version 8.0.0(Liberty).如果設(shè)置為True, JavaScript文件和angular靜態(tài)html模板文件將自動地從ADD_INSTALLED_APPS中的每個(gè) app的靜態(tài)文件夾中發(fā)現(xiàn)。
JavaScript源文件將根據(jù)命名約定進(jìn)行排序: 首先列出帶有 .module.js 擴(kuò)展名的文件, 接著是其他的JavaScript源文件。
用于測試的JavaScript文件也將根據(jù)命名約定進(jìn)行排序:首先列出帶有 .mock.js 擴(kuò)展名的文件,接著是 帶有.spec.js擴(kuò)展名的文件。
如果 ADD_JS_FILES 與/或者 ADD_JS_SPEC_FILES 也被指定,手動列出的文件將被附加到自動發(fā)現(xiàn)的文件。
DISABLED
?New in version 2014.1(Icehouse).如果設(shè)置為True, 此設(shè)置文件不會添加到設(shè)置中。
EXTRA_TABS
?New in version 14.0.0(Rocky).額外的選項(xiàng)卡可以添加到一個(gè)選項(xiàng)卡組中,通過使用這個(gè)設(shè)置來實(shí)現(xiàn)在horizon或其他的horizon插件。 在對應(yīng)的選項(xiàng)卡組中定義的默認(rèn)選項(xiàng)卡后將顯示額外的選項(xiàng)卡。
這是一個(gè)字典配置。字典的key 指定添加額外標(biāo)簽的標(biāo)簽組。key必須匹配目標(biāo)選項(xiàng)卡組的完整類名。 字典值是一個(gè)額外標(biāo)簽類的全稱列表(此值的模塊名和類名必須用句點(diǎn)分隔)。 通過EXTRA_TABS
指定的tabs將按照注冊的順序顯示。
有些情況下,您可能希望指定額外選項(xiàng)卡的順序,因?yàn)槎鄠€(gè)horizon插件可以注冊額外的選項(xiàng)卡。 可以在EXTRA_TABS
配置中,通過使用帶有優(yōu)先權(quán)和選項(xiàng)卡類名的元組而不是一個(gè)額外選項(xiàng)卡全名作為字典值的方式來指定每個(gè)選項(xiàng)卡的優(yōu)先權(quán)。優(yōu)先級是一個(gè)整數(shù),數(shù)值小的優(yōu)先級高。如果有個(gè)選項(xiàng)卡忘記設(shè)置優(yōu)先權(quán),它的優(yōu)先權(quán)會被設(shè)為0。
例子:
EXTRA_TABS = { 'openstack_dashboard.dashboards.project.networks.tabs.NetworkDetailsTabs': ( 'openstack_dashboard.dashboards.project.networks.subnets.tabs.SubnetsTab', 'openstack_dashboard.dashboards.project.networks.ports.tabs.PortsTab', ), }
帶優(yōu)先權(quán)的例子:
EXTRA_TABS = { 'openstack_dashboard.dashboards.project.networks.tabs.NetworkDetailsTabs': ( (1, 'openstack_dashboard.dashboards.project.networks.subnets.tabs.SubnetsTab'), (2, 'openstack_dashboard.dashboards.project.networks.ports.tabs.PortsTab'), ), }
UPDATE_HORIZON_CONFIG
?New in version 2014.2(Juno).設(shè)置的字典值會更新 HORIZON_CONFIG
中數(shù)值。
下面的配置是用于注冊儀表板的。
DASHBOARD
? New in version 2014.1(Icehouse). 此值為dashboard的slug字段值,會被添加到 HORIZON['dashboards']
。是必選項(xiàng)。
DEFAULT
? New in version 2014.1(Icehouse).如果設(shè)置為True, 這個(gè)dashboard將被設(shè)置為默認(rèn)的dashboard。
例子:
若要在本地禁用dashboard,用下面內(nèi)容創(chuàng)建一個(gè) openstack_dashboard/local/enabled/_40_dashboard-name.py
文件:
DASHBOARD = '<dashboard-name>' DISABLED = True
添加一個(gè) Tuskar-UI(Infrastructure) 儀表板,首先必須安裝它,然后創(chuàng)建一個(gè)文件 openstack_dashboard/local/enabled/_50_tuskar.py
:
from tuskar_ui import exceptions DASHBOARD = 'infrastructure' ADD_INSTALLED_APPS = [ 'tuskar_ui.infrastructure', ] ADD_EXCEPTIONS = { 'recoverable': exceptions.RECOVERABLE, 'not_found': exceptions.NOT_FOUND, 'unauthorized': exceptions.UNAUTHORIZED, }
下面的配置用于注冊或刪除panel。
PANEL
? New in version 2014.1(Icehouse).此值為panel的slug字段值,會被添加到 HORIZON_CONFIG
。是必選項(xiàng)。
PANEL_DASHBOARD
? New in version 2014.1(Icehouse).指定與 PANEL
相關(guān)的 dashboard的slug值。是必選項(xiàng)。此配置是將panel設(shè)為指定的dashbaord。
PANEL_GROUP
? New in version 2014.1(Icehouse).指定與 PANEL
相關(guān)的panel組的slug值。此配置是將panel設(shè)為指定的組。 如果您希望此panel不在組里面,將此值設(shè)置為 “default”。
DEFAULT_PANEL
? New in version 2014.1(Icehouse).如果設(shè)置此值,它將更新 PANEL_DASHBOARD
的默認(rèn)panel。
ADD_PANEL
? New in version 2014.1(Icehouse).此值為要添加的panel的Python類。
REMOVE_PANEL
? New in version 2014.1(Icehouse).如果設(shè)置為True,panel將會從 PANEL_DASHBOARD或PANEL_GROUP移除。
例子:
要在Admin dashboard里的Admin panel group添加 一個(gè)panel,用下面內(nèi)容創(chuàng)建一個(gè) openstack_dashboard/local/enabled/_60_admin_add_panel.py
文件:
PANEL = 'plugin_panel' PANEL_DASHBOARD = 'admin' PANEL_GROUP = 'admin' ADD_PANEL = 'test_panels.plugin_panel.panel.PluginPanel'
要將 Admin dashboard里的 Admin panel group的 Info panel 刪除,用以下內(nèi)容創(chuàng)建一個(gè) openstack_dashboard/local/enabled/_70_admin_remove_panel.py
文件:
PANEL = 'info' PANEL_DASHBOARD = 'admin' PANEL_GROUP = 'admin' REMOVE_PANEL = True
要將 Admin dashboard 里的默認(rèn)panel改為 Instances,用下面內(nèi)容創(chuàng)建一個(gè) openstack_dashboard/local/enabled/_80_admin_default_panel.py
文件:
PANEL = 'instances' PANEL_DASHBOARD = 'admin' PANEL_GROUP = 'admin' DEFAULT_PANEL = 'instances'
下面的配置用于注冊或刪除panel組。
PANEL_GROUP
? New in version 2014.1(Icehouse).此值為panel組的slug字段值,會被添加到 HORIZON_CONFIG
。是必選項(xiàng)。
PANEL_GROUP_NAME
? New in version 2014.1(Icehouse).PANEL_GROUP 顯示的名字。是必選項(xiàng)。
PANEL_GROUP_DASHBOARD
? New in version 2014.1(Icehouse).指定與 PANEL_GROUP
相關(guān)的 dashboard的slug值。是必選項(xiàng)。此配置是將panel組設(shè)為指定的dashbaord。
例子:
添加一個(gè)新的panel組到 Admin dashboard,用以下內(nèi)容創(chuàng)建 openstack_dashboard/local/enabled/_90_admin_add_panel_group.py
:
PANEL_GROUP = 'plugin_panel_group' PANEL_GROUP_NAME = 'Plugin Panel Group' PANEL_GROUP_DASHBOARD = 'admin'
“插件化的Panels和Groups怎么設(shè)置”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。