// NetworkDelete deletes network func (ac *APIController) NetworkDelete(network *contivModel.Network) error { log.Infof("Received NetworkDelete: %+v", network) // Find the tenant tenant := contivModel.FindTenant(network.TenantName) if tenant == nil { return core.Errorf("Tenant not found") } // Remove link modeldb.RemoveLinkSet(&tenant.LinkSets.Networks, network) // Save the tenant too since we removed the links err := tenant.Write() if err != nil { return err } // Get the state driver stateDriver, err := utils.GetStateDriver() if err != nil { return err } // Delete the network networkID := network.NetworkName + "." + network.TenantName err = master.DeleteNetworkID(stateDriver, networkID) if err != nil { log.Errorf("Error deleting network %s. Err: %v", network.NetworkName, err) } return nil }
// NetworkDelete deletes network func (ac *APIController) NetworkDelete(network *contivModel.Network) error { log.Infof("Received NetworkDelete: %+v", network) // Find the tenant tenant := contivModel.FindTenant(network.TenantName) if tenant == nil { return core.Errorf("Tenant not found") } // if the network has associated epgs, fail the delete epgCount := len(network.LinkSets.EndpointGroups) if epgCount != 0 { return core.Errorf("cannot delete %s has %d endpoint groups", network.NetworkName, epgCount) } // Remove link modeldb.RemoveLinkSet(&tenant.LinkSets.Networks, network) // Save the tenant too since we removed the links err := tenant.Write() if err != nil { return err } // Get the state driver stateDriver, err := utils.GetStateDriver() if err != nil { return err } // Delete the network networkID := network.NetworkName + "." + network.TenantName err = master.DeleteNetworkID(stateDriver, networkID) if err != nil { log.Errorf("Error deleting network %s. Err: %v", network.NetworkName, err) return err } return nil }