版权声明:本文为连鹏伟原创文章,未经博主允许不得转载。 https://blog.csdn.net/lpwmm/article/details/83382539
oVirt已经部署完成并正常运转一周多的时间了,每次新建虚拟机的时候配置网络VLAN甚是麻烦,还得翻网络规划文件,能不能把VLAN划分配置信息直接增加到oVirt管理后台的UI中呢?经过一番研究,还真的可以,先pia一下最终实现的效果:
就是在主菜单最后增加了一个菜单,点击后直接在右侧的界面显示出来自己写的一个html静态文件
实现过程
先制作一个静态的html文件tjNet.html,里面的内容自己看着造就行,比较简单的,关键是这个文件还不能放在其他的http服务器上,否则在调用的时候浏览器会报错提示不允许从https协议的站点去访问http协议页面,很是折腾了半天也搞不定,索性直接把这个html静态文件就放在ovirt管理服务器本地让jboss来跑不就行了么,但是好久没玩过jboss了,都找不到这货的配置文件咋整,最后灵机一动,发现ovirt自己带的有个子站点apidoc,就是首页上右下角那个【技术参考 REST API指南】,所以直接把这个html文件扔到那里就没问题了,调用的时候也是https协议,具体存放位置:
/usr/share/ovirt-engine/apidoc.war/tjNet.html
接下来做ui-plugin的配置
先来到/usr/share/ovirt-engine/ui-plugins这个位置
# cd /usr/share/ovirt-engine/ui-plugins
# vim tjNet.json
文件内容:
{
"name":"tjNet",
"url":"/ovirt-engine/webadmin/plugin/tjNet/start.html",
"resourcePath":"tjNet-files"
}
再创建tjNet-files文件夹,并增加start.html文件
# mkdir tjNet-files
# cd tjNet-files
# vim start.html
内容如下:
<!DOCTYPE html><html><head>
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
<script>
var api = parent.pluginApi('tjNet');
var config = api.configObject();
api.register({
UiInit: function() {
//window.alert('统计网络');
api.addMainTab('统计网络配置', 'tjNet-tab', 'https://ovirtm.aytj.gov.cn/ovirt-engine/apidoc/tjNet.html',{priority: 5});
}
});
api.ready();
</script>
</head><body>
</body></html>
官方oVirt关于这一块的文档是少之又少,而且好多还是3.x的,最后还是在论坛上扒拉出来的具体实现方法,至此就算完成了,刷新管理后台页面就可以看到增加的菜单和内容了!