2016-10-12 1 views
0

Ich versuche, den Inhalt einer Amazon VPC mit boto.vpc zu überprüfen. Aber anstatt den Inhalt des Subnetzes zu überprüfen, versucht es, es zu erstellen. Ich habe die Details des vorhandenen Subnetz in der init.sls Datei:Salt Stack boto.vpc Fehler beim Erstellen von Subnetzkonflikten mit einem anderen Subnetz

Ensure VPC exists: 
    boto_vpc.present: 
     - name: dlab 
     - cidr_block: 10.xx.xx.0/24 
     - dns_hostnames: True 
     - region: us-east-1 
     - keyid: keyid 
     - key: key 

Ensure subnet exists: 
    boto_vpc.subnet_present: 
     - name: dlab 
     - vpc_id: vpc-xxxxxxx 
     - cidr_block: 10.xx.xx.0/24 
     - region: us-east-1 
     - keyid: keyid 
     - key: key 

Und wenn ich den Befehl ausführen, das ist das Ergebnis, das ich bekommen:

[[email protected] get_vpc]# salt '*' state.apply 
salt.localdomain: 
---------- 
      ID: Ensure VPC exists 
    Function: boto_vpc.present 
     Name: dlab 
     Result: True 
    Comment: VPC present. 
    Started: 14:36:19.166569 
    Duration: 312.981 ms 
    Changes: 
---------- 
      ID: Ensure subnet exists 
    Function: boto_vpc.subnet_present 
     Name: dlab 
     Result: False 
    Comment: Failed to create subnet: Bad Request: The CIDR '10.60.58.0/24' conflicts with another subnet 
    Started: 14:36:19.479896 
    Duration: 355.565 ms 
    Changes: 

Summary for salt.localdomain 
------------ 
Succeeded: 1 
Failed: 1 
------------ 
Total states run:  2 
Total run time: 668.546 ms 
ERROR: Minions returned with non-zero exit code 

Die VPC überprüft wird. Aber salz versucht, ein neues Teilnetz zu schaffen, anstatt mir von dem zu erzählen, das bereits dort ist. Der Name des Subnetzes, das in der obersten Datei unter "Subnetz vorhanden ist" angegeben ist, ist richtig!

Warum passiert das? Wie kann ich das Subnetz überprüfen, anstatt es zu erstellen?

Antwort

0

ich diese Lösung vorschlagen, ich habe es nicht getestet, aber wenn Sie die subnet_id haben, dann könnten Sie in der Lage sein, es Dieses Modul prüft, ob ein Subnetz vorhanden

Ensure subnet exists: 
    module.run: 
     - name: boto_vpc.subnet_exists 
     - subnet_id: subnet-foo-id 

zu verwenden. Gibt True zurück, wenn das Subnetz existiert, andernfalls False. nach der docs

Verwandte Themen