Openstack HEAT - Как добавить динамическое количество сетевых интерфейсов для экземпляра? - PullRequest
0 голосов
/ 21 января 2019

Я пытаюсь добавить динамическое количество сетевых интерфейсов для экземпляра.На данный момент у меня есть шаблон, который добавляет один сетевой интерфейс с использованием OS :: Neutron :: Port, как показано ниже.

# Create a port on the external public network
extPort:
    type: OS::Neutron::Port
    properties:
        network: { get_param: extPublicNetwork }
        port_security_enabled: false

# Create a single signaling server
signalingServer:
    type: OS::Nova::Server
    depends_on: [ extPort ]
    properties:
        image: { get_param: image }
        flavor: { get_param: flavor }
        name:  { get_param: [ vmNames, get_param: index ] }

        networks:
            - port: { get_resource: extPort }

Теперь у меня есть требование, основанное на вводе через файл среды, мне нужнодобавить столько же сетевых интерфейсов.Я пытался так:

            environment file:
            # Network name is ext-public
            networklist: ext-public,ext-public,ext-public

            Template file:              
            # Create a port on the external public network
            extPort:
                type: OS::Neutron::Port
                properties:
                    network: { get_param: extPublicNetwork }
                    port_security_enabled: false


            # Create a single signaling server
            signalingServer:
                type: OS::Nova::Server
                depends_on: [ extPort ]
                properties:
                    image: { get_param: image }
                    flavor: { get_param: flavor }

                    networks:
                        repeat:
                            for_each:
                                <%port%>: { get_param: networklist }      
                            template:
                                port: { get_resource: <%port%> }

Этот код выдает следующую ошибку:

ОШИБКА: не удалось проверить: не удалось проверить: ресурсы [0]:указанная ссылка "<% port%>" (в signalingServer.Properties.networks.repeat.template.port) неверна.

Как заставить ее работать для достижения динамического числа интерфейсовиз ОС :: Neutron :: Порт ресурса?

Спасибо, Subeesh

...