0

特定のサブネットから VM に割り当てられた IP を取得し、それを Heat オーケストレーション テンプレートに埋め込む方法はありますか (ネットワークに複数のサブネットがあり、すべてのサブネットに対して 1 つのポートのみを作成している場合)? Floating IP についてこの情報が必要です。1 つのポートに複数の固定アドレスを持つポートの場合と同様に、フローティング IP を作成するために特定の IP を指定する必要があります。

get_attr キーはあまり役に立ちません。これが JSON 表現です。

        "TestVM_FIPTest1": {
            "type": "OS::Neutron::FloatingIP",
            "properties": {
                "floating_network_id": "public",
                "port_id": {
                    "get_resource": "TestVM_Test1sub2sub1_Port"
                },
                  "fixed_ip_address":
                  {
                        "get_attr": ["TestVM_Test1sub2sub1_Port", "fixed_ips", 1, "ip_address"]
                  }
            }
        }

その理由は、ポートに割り当てられた IP を取得するためにインデックスを渡す必要があるからです。ただし、その IP がどのサブネットから割り当てられているか (そのポートには複数のサブネットがマッピングされているため)、または目的のサブネットから割り当てられた IP がどのインデックスにあるかを知る方法はありません。

現在、単一のテンプレートを使用してすべてのリソースを一度に作成しています。

4

1 に答える 1