我已经使用 kolla 安装部署了 openstack(zed 版本),作为 Centos 9 机器上的学习体验。我正在尝试自定义 horizon 仪表板,以便特定角色不会看到某些面板。
例如,我想为角色为“学生”的用户隐藏“网络”选项卡内的“路由器”面板。
我努力了:
1.创建“overrides.py”和自定义“local_settings.py”文件来运行代码。我可以为所有用户隐藏“路由器”面板,但不能为特定角色隐藏(没有找到是否可以发生的任何信息)。
在某一方面的变化本地设置.py:
HORIZON_CONFIG["customization_module"] = "my_project.overrides"
我尝试过的代码覆盖.py:
from django.utils.translation import gettext_lazy as _
import horizon
projects_dashboard = horizon.get_dashboard("project")
images_panel = projects_dashboard.get_panel("routers")
projects_dashboard.unregister(images_panel.__class__)
2.要自定义策略规则,如“/etc/openstack-dashboard/neutron_policy.yaml”,但我只发现禁用某些按钮的命令,如创建、更新或删除路由器等。