2016-07-02 2 views
0

Gibt es eine Möglichkeit, die IP einer VM aus einem bestimmten Subnetz zuzuordnen und es in die Heat-Orchestrierungsvorlage einbetten (vorausgesetzt, das Netzwerk hat mehrere Subnetze und wir erstellen nur einen Port für alle Subnetze)? Ich brauche diese Info für Floating IP. Wie im Falle eines Ports mit mehreren festen Adressen an einem einzelnen Port müssen wir die spezielle IP zum Erstellen einer Floating-IP angeben.Gibt es eine Möglichkeit, die IP einer VM aus einem bestimmten Subnetz zuzuordnen und sie in die Heat Orchestrierungsvorlage einzubetten (alle Subnetze an 1 Port)

Der Schlüssel get_attr ist nicht sehr hilfreich. Hier ist die JSON-Darstellung.

 "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"] 
        } 
      } 
     } 

Der Grund dafür ist, dass ich den Index übergeben muss, um die IP auf dem Port zugewiesen zu bekommen. Aber es gibt keine Möglichkeit zu sagen, aus welchem ​​Subnetz die IP zugewiesen ist (da dort die mehreren Subnetze auf diesem Port abgebildet sind) oder welcher Index die IP aus dem gewünschten Subnetz hat

Momentan verwende ich eine einzige Vorlage um Erstellen Sie alle Ressourcen auf einmal.

Antwort

0

Sie können statische IP-VM in Wärmevorlage zuweisen wie erwähnt unten-

resources: 
    myVM_port1: 
    type: OS::Neutron::Port 
    properties: 
     name: "myVM_port1" 
     network_id: { get_param: network_id } 
     fixed_ips: [{"subnet": { get_param: network-subnet }, "ip_address": { get_param: fixed-ip } }] 

    myVM_1: 
    type: OS::Nova::Server 
    properties: 
     name: "myVM" 
     image: { get_param: cirros_Image } 
     flavor: "m1.tiny" 
     availability_zone: "compute1" 
     networks: 
     - port: { get_resource: myVM_port1 } 
Verwandte Themen