首页 > 解决方案 > 在端口创建中是否可以有“条件”?

问题描述

我们创建一个服务器所依赖的端口。用户可以提供 network_id 或同时提供 network 和 fixed_ips。我们希望允许这两种配置。

显然,我看到的是,当我没有提供固定 ips 并且在端口创建中有条件时,我在 get_resource 中遇到错误。如果我不给条件创建成功。用同样的方式屏蔽..

conditions:
       ccess_ip_input:
         equals:
         - get_param: ccess_ip
         - yes

resources:   g_server:
    type: OS::Nova::Server
    depends_on:
    - am_port
    - ccess_port
    - ore_port_1
    - ore_port_2
    - dm_port
    properties:
      name:
        str_replace:
          template: $instance_name
          params:
            $instance_name: {get_param: instance_name}
      key_name: {get_param: key_name}
      image: {get_param: image}
      flavor: {get_param: flavor}
      scheduler_hints:
        group: {get_param: ng_cluster}
      networks:
      - port: {get_resource: am_port}
      - port: {get_resource: ccess_port}

  ccess_port:
    type: OS::Neutron::Port
    properties:
      name:
        str_replace:
          template: $instance_name-ccess-port
          params:
            $instance_name: { get_param: instance_name }
      network_id: { get_param: ccess_network_id }
      port_security_enabled: False
    condition: ccess_ip_input
    properties:
      fixed_ips:
      - ip_address: { get_param: ccess_ip }

低于错误:错误:InvalidTemplateReference::resources.hng_1::指定的参考“ccess_port”(在ng_server.Properties.networks[1].port中)不正确。

标签: openstackopenstack-heat

解决方案


推荐阅读