Сделайте свойство ovf обязательным для указания при развертывании ovf - PullRequest
0 голосов
/ 26 июня 2018

Я ищу обязательную установку пароля root при развертывании ova для создания виртуальной машины.Я установил свойство в ovf, но я не могу сделать его обязательным.Клиент VSphere показывает свойство при развертывании, но пользователь может пропустить установку значения и перейти к следующему шагу.

<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"в разделе продукта (хотя в идеале это должно быть ложно, потому что другие ранее существующие настройки не должны быть обязательными).Также я попытался установить для последнего свойства значение ovf: required = "true", но это тоже не сработало.

Я не уверен, является ли флаг ovf: required подходящим свойством для этого.Руководство по спецификации ovf не очень понятно об этом, но в нем говорится:

В пользовательских элементах логический атрибут ovf: required указывает, требуется ли информация в элементе для правильного поведения или необязательная.Если не указан, атрибут ovf: required по умолчанию равен TRUE.Потребитель пакета OVF, который обнаруживает требуемое расширение и не понимает его, должен потерпеть неудачу.

Как сделать обязательной настройку пароля root?

1 Ответ

0 голосов
/ 27 июня 2018

Я вроде исправил эту проблему, установив минимальную длину равной 8. Это все еще не идеальное решение, но я думаю, что это решает мою проблему.

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

Поскольку minlength раньше было 0, оно позволяло пользователюпропустить пароль, заданный текст.Теперь он предупреждает пользователя во время развертывания, говоря, что vm не может быть включен без установки правильных значений.

Пользователь все еще может пропустить установку пароля, но я не могу включить vm.Вы пытаетесь включить его, он попросит вас установить свойство «root password».

Это делает атрибут обязательным, но более чистым способом (если он доступен) будет запрет на продолжение развертывания пользователем.без установки пароля.

...