2017-02-18 1 views
1

Ich versuche, eine Netzwerkschnittstelle in einer Ressourcengruppe mit dem Namen "net-interface" zu erstellen und sie einem virtuellen Netzwerk zuzuordnen, das zu der Ressourcengruppe mit dem Namen "virtual-net" gehört. Ich kann es manuell tun, aber wenn ich Ansible benutze, erwartet es, dass das virtuelle Netzwerk in der Netzwerkschnittstellen-Ressourcengruppe "net-interface" ist. versucht sogar, die vollständige URI für das virtuelle Netzwerk anzugeben.Verwenden von Ansible Wie kann ich eine Netzwerkschnittstelle in Azure bereitstellen und sie einem virtuellen Netzwerk in einer anderen Ressourcengruppe zuordnen?

azure_rm_networkinterface: 
    name: testnetworkinfrastructure 
    resource_group: testsourcegroup1 
    virtual_network_name: /subscriptions/xxxxxxxxxxxxxxxxxxxxx/resourceGroups/testsourcegroup1/providers/Microsoft.Network/virtualNetworks/testvirtualnetwork 
    subnet_name: testsubnet 
    security_group_name: testsecuritygroup 
    location: West Europe 
    state: present 

failed: [localhost] (item=ansible20-nic-01) => {"failed": true, "item": "ansible20-nic-01", "msg": "Error: fetching subnet testsubnet in virtual network /subscriptions/xxxxxxxxxxxxxxxxxxx/resourceGroups/testsourcegroup1/providers/Microsoft.Network/virtualNetworks/testvirtualnetwork - Azure Error: ResourceNotFound\nMessage: The Resource 'Microsoft.Network/virtualNetworks/subscriptions' under resource group 'testsourcegroup1' was not found."}

mache ich etwas falsch? Oder gibt es eine Problemumgehung?

Antwort

1

Leider scheint Ihr Fall nicht durch die aktuelle Implementierung des azure_rm_networkinterface Moduls abgedeckt zu sein.

Es checks for the presence of the subnet in derselben Ressourcengruppe wie die Netzwerk-Schnittstelle und nicht ordnungsgemäß mit der Nachricht, die Sie bekommen:

def get_subnet(self, vnet_name, subnet_name): 
    self.log("Fetching subnet {0} in virtual network {1}".format(subnet_name, vnet_name)) 
    try: 
     subnet = self.network_client.subnets.get(self.resource_group, vnet_name, subnet_name) 
    except Exception as exc: 
     self.fail("Error: fetching subnet {0} in virtual network {1} - {2}".format(subnet_name, vnet_name, str(exc))) 

Von einer kurzen Untersuchung, es sieht aus wie das Azure SDK für Python erfordert eine Ressourcengruppe zu sein angegeben, so können Sie entweder:

  • anpassen, um die azure_rm_networkinterface Modul die Subnet-Ressourcengruppe zu spezifizieren oder

  • Erstellen Sie eine Azure RM-Vorlagenbereitstellung mit azure_rm_deployment.

Verwandte Themen