Просмотр исходного кода

When deleting an OpenStack network, clear any ports

Enis Afgan 8 лет назад
Родитель
Сommit
d7334f094e
1 измененных файлов с 5 добавлено и 0 удалено
  1. 5 0
      cloudbridge/cloud/providers/openstack/resources.py

+ 5 - 0
cloudbridge/cloud/providers/openstack/resources.py

@@ -739,6 +739,11 @@ class OpenStackNetwork(BaseNetwork):
 
     def delete(self):
         if self.id in str(self._provider.neutron.list_networks()):
+            # If there are ports associated with the network, it won't delete
+            ports = self._provider.neutron.list_ports(
+                network_id=self.id).get('ports', [])
+            for port in ports:
+                self._provider.neutron.delete_port(port.get('id'))
             self._provider.neutron.delete_network(self.id)
         # Adhere to the interface docs
         if self.id not in str(self._provider.neutron.list_networks()):