在上一篇文章中展示了在一个蓝图中包含多个数据中心,但是一个很重要的问题是每个数据中心的网络是不一致的,因此我们需要让用户在选择数据中心的时候,显示相关联的网络供用户选择。
1、创建外部网络
首先需要在在网络配置文件中创建多个外部网络;
2、预留中关联外部网络
在每个数据中心对应的预留中关联相应的网络配置文件,并记录下Network Adapter列中的网络标签,后面编写Workflow会使用到;
北京数据中心预留:Workflow中会用到VLAN001、VLAN002
上海数据中心预留:Workflow中会用到VM Network
3、编写vRO Action
切换VRO Design模式下,导航Actions页面,右击根目录选择Newmodule;
输入名称:DatacenterNetwork
切换到Scripting界面中,
添加变量:
name:datacenter type: string description:数据中心
代码:
//Netowrk to Datacernter Mapping
if(datacenter)
{
switch(datacenter){
// "Beijing"是属性字典Vrm.DataCenter.Location静态列表北京数据中心对应的值
case "Beijing":
//资源预留中网络页面中Network Adapter列的值
return["VLAN001","VLAN002"];
break;
// "Shanghai"是属性字典Vrm.DataCenter.Location静态列表上海数据中心对应的值
case "Shanghai":
//资源预留中网络页面中Network Adapter列的值
return ["VMNetwork"];
break;
};
}
else{
return ["请选择数据中心"]
}
4、创建属性字典VirtualMachine.Network0.Name
这里需要注意的是值选择“外部值”,脚本操作选择第3步创建的DatacenterNetwork;输入参数datacenter绑定Vrm.DataCenter.Location
将属性字典VirtualMachine.Network0.Name包含在上一篇文章中创建的Location属性组中;
5、编辑蓝图
蓝图中不需要关联任何网络;
确定蓝图的属性页面中的属性组中已包含Location属性组。
6、效果验证
当我们选择“北京数据中心”的时候,在选择网络中会出现两个网络VLAN001,VLAN002
当我们选择“北京数据中心”的时候,在选择网络中会出现一个网络VM Network。
总结:用户在界面中选择不同的网络,申请的虚拟机会自动关联到相应的PortGroup中,这样就满足了用户申请虚拟机时网络方面的灵活性。
领取专属 10元无门槛券
私享最新 技术干货