blob: 72b10b22658ab1cae516faa38ae4ef3c4dbf3ffa [file] [log] [blame]
from core.models import Network, NetworkDeployments
from observer.deleter import Deleter
from openstack.driver import OpenStackDriver
class NetworkDeploymentDeleter(Deleter):
model='NetworkDeployment'
def call(self, pk):
network_deployment = NetworkDeployments.objects.get(pk=pk)
driver = OpenStackDriver().client_driver(caller=network_deployment.network.owner.creator,
tenant=network_deployment.network.owner.name,
deployment=network_deployment.deployment.name)
if (network_deployment.router_id) and (network_deployment.subnet_id):
driver.delete_router_interface(network_deployment.router_id, network_deployment.subnet_id)
if network_deployment.subnet_id:
driver.delete_subnet(network_deployment.subnet_id)
if network_deployment.router_id:
driver.delete_router(network_deployment.router_id)
if network_deployment.net_id:
driver.delete_network(network_deployment.net_id)
network_deployment.delete()