安装

首先,创建一个虚拟环境并安装 Horizon 依赖项

$ git clone https://github.com/openstack/horizon
$ cd horizon
$ python tools/install_venv.py

我们将把您现在所在的文件夹称为 <HORIZON_DIR>。如果您想了解更多关于如何安装 Horizon 的细节,可以查看 Horizon 文档,特别是他们的 快速入门教程

然后,您需要在运行 Horizon 的服务器上安装 Watcher Dashboard。为此,您可以执行以下命令

$ git clone https://opendev.org/openstack/watcher-dashboard
$ cd watcher-dashboard
$ pip install -e .

我们将把您现在所在的文件夹称为 <DASHBOARD_DIR>

下一步是现在将 Watcher Dashboard 插件注册到您的 Horizon。为此,您可以执行 tools/register_plugin.sh

$ cd <DASHBOARD_DIR>
$ ./tools/register_plugin.sh . <HORIZON_DIR>

此脚本将在 Horizon 中创建所需的符号链接,以便在启动时加载 Watcher 插件。

如果您希望 Horizon 作为 Apache 服务器运行,请不要忘记通过以下命令启动服务

$ sudo service apache2 restart

有关如何为生产环境配置 Horizon 的更多详细信息,您可以参考他们的在线 安装指南

DevStack 设置

将以下内容添加到您的 DevStack local.conf 文件

enable_plugin watcher-dashboard https://opendev.org/openstack/watcher-dashboard

单元测试

首先,您必须创建一个环境来运行您的测试。此步骤实际上是 run_tests.sh 脚本的一部分,该脚本创建并维护一个干净的虚拟环境。

以下是运行 Watcher Dashboard 测试的基本命令

$ ./run_tests.sh

第一次执行上述命令时,系统会询问您是否要创建一个虚拟环境。因此,除非您已手动安装所有内容(在这种情况下,您应该使用 -N 标志),否则您需要接受

集成测试

在能够运行集成测试之前,您需要有一个运行着 Watcher Dashboard 插件配置的 Horizon 服务器。为此,您可以使用以下命令运行测试服务器

$ ./run_tests.sh --runserver 0.0.0.0:8000

默认情况下,集成测试期望在 https://:8000/ 找到正在运行的 Horizon 服务器,但可以通过编辑 watcher_dashboard/test/integration_tests/horizon.conf 配置文件来定制。同样,该 Horizon 默认会查找位于 https://:5000/v2.0 的 Keystone 后端。因此,为了定制其位置,您需要编辑 watcher_dashboard/test/settings.py 通过更新 OPENSTACK_KEYSTONE_URL 变量。

要运行集成测试

$ ./run_tests.sh --integration

您可以使用 PhantomJS 作为无头浏览器来执行您的集成测试。在 Ubuntu 发行版上,您可以通过以下命令安装它

$ sudo apt-get install phantomjs

然后您可以像这样运行您的集成测试

$ ./run_tests.sh --integration --selenium-headless

请注意,这些命令也可通过 tox 使用。

注意

从 Mitaka 版本开始,Watcher 的仪表板现在在 Horizon 代码库之外维护,在本仓库中。

策略

您可以通过在 <HORIZON_DIR>/openstack_dashboard/settings.py 配置文件中更新以下参数,在 Watcher Optimization 面板上启用策略

POLICY_FILES = { … ‘infra-optim’: ‘watcher_policy.json’, }

您还可以更新文件 <HORIZON_DIR>/openstack_dashboard/conf/watcher_policy.conf 以自定义您的策略。