安装¶
首先,创建一个虚拟环境并安装 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 以自定义您的策略。
链接¶
Watcher 项目:https://opendev.org/openstack/watcher/
Watcher 在 github 上:https://github.com/openstack/watcher
Watcher 在 wiki.openstack.org 上:https://wiki.openstack.org/wiki/Watcher
Launchpad 项目:https://launchpad.net/watcher
加入我们的 IRC (Internet Relay Chat)
Network: OFTC (https://www.oftc.net/)
Channel: #openstack-watcher
或发送电子邮件至 openstack-discuss@lists.openstack.org,并在对象中使用 [watcher]