Недопустимая ошибка по умолчанию для файла параметров тепловой среды Openstack - PullRequest
0 голосов
/ 02 сентября 2018

Я пытаюсь создать стек с файлом шаблона и файлом параметров среды. Ниже приведены мои данные.

В файле шаблона:

v6_ip:
  type: string
  description: ipv6 address
  constraints:
    - length: { min: 1, max: 46 }
  default: 0

v6_prefix_len:
  type: number
  description: ipv6 prefix length
  constraints:
    - range: { min: 0, max: 128 }
  default: 0

v6_gateway:
  type: string
  description: ipv6 default gateway
  constraints:
    - length: { min: 1, max: 46 }
  default: 0

server:
    type: OS::Nova::Server
    properties:
      name: { get_param : my_name }
      metadata:
      config_drive: True
      user_data:
        params:      
          $IPV4: { get_param: v4_ip }
          $V4_NETMASK: { get_param: v4_netmask }
          $V4_GW: { get_param: v4_gateway }
          $IPV6: { get_param: v6_ip }
          $V6_PREFIX: { get_param: v6_prefix_len }
          $V6_GW: { get_param: v6_gateway }

Файл среды:

v4_ip: 192.168.11.179
v4_netmask: 255.255.240.0
v4_gateway: 192.168.0.254
v6_ip: fd5d:d50a:8c17:2110::2019
v6_prefix_len: 64
v6_gateway: fd5d:d50a:8c17:2110::ff

Когда я пытаюсь создать стек, я получаю следующую ошибку:

ОШИБКА: параметр 'v6_gateway' недопустим: недопустимый по умолчанию 0 (объект тип int не имеет len ())

Я определил v6_gateway как строку, и значение по умолчанию равно 0. То же самое для v4_gateway, которое он принимает. Почему выдает ошибку для v6_gateway? И как это решить?

PS: я использую ньютонскую версию openstack.

1 Ответ

0 голосов
/ 02 сентября 2018

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

v6_gateway:
  type: string
  description: ipv6 default gateway
  constraints:
    - length: { min: 1, max: 46 }
  default: '0'
...