强制在ovf部署期间指定ovf属性

时间:2018-06-26 05:51:52

标签: virtual-machine vmware virtualization ovf ova

我希望在部署ova创建虚拟机时强制设置root密码。 我在ovf中设置了该属性,但似乎无法将其设置为强制性。 VSphere Client会在部署时显示该属性,但是用户可以跳过设置值并转到下一步。

<ProductSection ovf:class="hx" ovf:instance="Some_Appliance" ovf:required="false">
  <Info>Application Properties</Info>
  <Category>Networking Properties</Category>
  <Property ovf:key="DNS" ovf:type="string" ovf:userConfigurable="true">
    <Label>DNS</Label>
  </Property>
  <Property ovf:key="domain" ovf:type="string" ovf:userConfigurable="true">
    <Label>Search domains</Label>
  </Property>
  <Property ovf:key="NTP" ovf:type="string" ovf:userConfigurable="true">
    <Label>NTP</Label>
  </Property>
  <Property ovf:key="root_password" ovf:password="true" ovf:required="true" ovf:qualifiers="MinLen(0),MaxLen(65535)" ovf:type="string" ovf:userConfigurable="true">
     <Label>Root Password</Label>
     <Description>To set the root password</Description>
  </Property>

我尝试在产品部分中设置ovf:required =“ true”(尽管理想情况下应该为false,因为其他先前存在的设置不应是必需的)。另外,我尝试将最后一个属性设置为ovf:required =“ true”,但这也不起作用。

我不确定ovf:required标志是否是执行此操作的正确属性。 ovf规范指南对此并不十分清楚,但它是这样说的。

  

在自定义元素上,一个布尔值   ovf:必填   属性指定元素中的信息是正确行为所必需还是可选。如果未指定,则ovf:required   属性默认为TRUE。 OVF程序包的使用者检测到所需的扩展名并且无法理解的扩展名将失败。

如何强制设置root密码?

1 个答案:

答案 0 :(得分:0)

我通过将最小长度设置为8来解决此问题。这仍然不是理想的解决方案,但我认为这可以解决我的问题。

ovf:qualifiers="MinLen(8),MaxLen(20)"

因为minlength以前是0,所以它使用户可以跳过密码设置文本。现在,它在部署期间警告用户说,如果不设置正确的值就无法打开虚拟机。

用户仍然可以跳过设置密码的操作,但是我无法打开虚拟机的电源。 您尝试打开电源,它会要求您设置“ root password”属性。

这使该属性成为必需属性,但是一种更简洁的方法(如果可用)将是在不设置密码的情况下不让用户继续进行部署。

相关问题