blob: b4a887f76947506ff3723fd430c93314e7c41acd [file] [log] [blame]
Matteo Scandolod2044a42017-08-07 16:08:28 -07001# Copyright 2017-present Open Networking Foundation
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15
Zack Williams045b63d2019-01-22 16:30:57 -070016from core.models import *
17import django
18from __future__ import print_function
Scott Baker64c162f2015-05-11 16:56:01 -070019import os
20import sys
Zack Williams045b63d2019-01-22 16:30:57 -070021
Scott Baker64c162f2015-05-11 16:56:01 -070022sys.path.append("/opt/xos")
23os.environ.setdefault("DJANGO_SETTINGS_MODULE", "xos.settings")
Zack Williams045b63d2019-01-22 16:30:57 -070024
Scott Baker64c162f2015-05-11 16:56:01 -070025django.setup()
26
Scott Baker7b0eee42015-05-11 17:26:00 -070027for obj in ControllerNetwork.deleted_objects.all():
Zack Williams045b63d2019-01-22 16:30:57 -070028 print("Purging deleted object", obj)
Scott Baker7b0eee42015-05-11 17:26:00 -070029 obj.delete(purge=True)
Scott Baker64c162f2015-05-11 16:56:01 -070030
Scott Baker7b0eee42015-05-11 17:26:00 -070031for obj in ControllerSite.deleted_objects.all():
Zack Williams045b63d2019-01-22 16:30:57 -070032 print("Purging deleted object", obj)
Scott Baker7b0eee42015-05-11 17:26:00 -070033 obj.delete(purge=True)
34
Scott Baker8f922172015-05-11 17:49:28 -070035for obj in ControllerSlice.deleted_objects.all():
Zack Williams045b63d2019-01-22 16:30:57 -070036 print("Purging deleted object", obj)
Scott Baker8f922172015-05-11 17:49:28 -070037 obj.delete(purge=True)
38
Scott Baker7b0eee42015-05-11 17:26:00 -070039for obj in NetworkSlice.deleted_objects.all():
Zack Williams045b63d2019-01-22 16:30:57 -070040 print("Purging deleted object", obj)
Scott Baker7b0eee42015-05-11 17:26:00 -070041 obj.delete(purge=True)
42
Scott Baker8094b6a2015-08-28 11:55:19 -070043for obj in Port.deleted_objects.all():
Zack Williams045b63d2019-01-22 16:30:57 -070044 print("Purging deleted object", obj)
Scott Baker7b0eee42015-05-11 17:26:00 -070045 obj.delete(purge=True)
46
47for obj in DeploymentPrivilege.deleted_objects.all():
Zack Williams045b63d2019-01-22 16:30:57 -070048 print("Purging deleted object", obj)
Scott Baker7b0eee42015-05-11 17:26:00 -070049 obj.delete(purge=True)
50
51for obj in SiteDeployment.deleted_objects.all():
Zack Williams045b63d2019-01-22 16:30:57 -070052 print("Purging deleted object", obj)
Scott Baker7b0eee42015-05-11 17:26:00 -070053 obj.delete(purge=True)
54
Zack Williams045b63d2019-01-22 16:30:57 -070055seen = []
Scott Baker64c162f2015-05-11 16:56:01 -070056for obj in ControllerNetwork.objects.all():
Zack Williams045b63d2019-01-22 16:30:57 -070057 seen.append(obj.id)
58 conflicts = ControllerNetwork.objects.filter(
59 network=obj.network, controller=obj.controller
60 )
61 for conflict in conflicts:
62 if conflict.id not in seen:
63 print("Purging", conflict, conflict.id, "due to duplicate of", obj.id)
64 conflict.delete(purge=True)
Scott Baker64c162f2015-05-11 16:56:01 -070065
Zack Williams045b63d2019-01-22 16:30:57 -070066seen = []
Scott Baker64c162f2015-05-11 16:56:01 -070067for obj in NetworkSlice.objects.all():
Zack Williams045b63d2019-01-22 16:30:57 -070068 seen.append(obj.id)
69 conflicts = NetworkSlice.objects.filter(network=obj.network, slice=obj.slice)
70 for conflict in conflicts:
71 if conflict.id not in seen:
72 print("Purging", conflict, conflict.id, "due to duplicate of", obj.id)
73 conflict.delete(purge=True)
Scott Baker64c162f2015-05-11 16:56:01 -070074
Zack Williams045b63d2019-01-22 16:30:57 -070075seen = []
Scott Baker8094b6a2015-08-28 11:55:19 -070076for obj in Port.objects.all():
Zack Williams045b63d2019-01-22 16:30:57 -070077 seen.append(obj.id)
78 conflicts = Port.objects.filter(network=obj.network, instance=obj.instanc)
79 for conflict in conflicts:
80 if conflict.id not in seen:
81 print("Purging", conflict, conflict.id, "due to duplicate of", obj.id)
82 conflict.delete(purge=True)
Scott Baker64c162f2015-05-11 16:56:01 -070083
Zack Williams045b63d2019-01-22 16:30:57 -070084seen = []
Scott Baker64c162f2015-05-11 16:56:01 -070085for obj in DeploymentPrivilege.objects.all():
Zack Williams045b63d2019-01-22 16:30:57 -070086 seen.append(obj.id)
87 conflicts = DeploymentPrivilege.objects.filter(
88 user=obj.user, deployment=obj.deployment, role=obj.role
89 )
90 for conflict in conflicts:
91 if conflict.id not in seen:
92 print("Purging", conflict, conflict.id, "due to duplicate of", obj.id)
93 conflict.delete(purge=True)
Scott Baker64c162f2015-05-11 16:56:01 -070094
Zack Williams045b63d2019-01-22 16:30:57 -070095seen = []
Sapan Bhatia8918ac32017-07-09 00:43:27 -040096for obj in Privilege.objects.all():
Zack Williams045b63d2019-01-22 16:30:57 -070097 seen.append(obj.id)
98 conflicts = Privilege.objects.filter(
99 accessor_id=obj.accessor_id,
100 object_id=obj.object_id,
101 permission=obj.permission,
102 accessor_type=obj.accessor_type,
103 object_type=obj.object_type,
104 )
105 for conflict in conflicts:
106 if conflict.id not in seen:
107 print("Purging", conflict, conflict.id, "due to duplicate of", obj.id)
108 conflict.delete(purge=True)
Sapan Bhatia8918ac32017-07-09 00:43:27 -0400109
Zack Williams045b63d2019-01-22 16:30:57 -0700110seen = []
Scott Baker64c162f2015-05-11 16:56:01 -0700111for obj in SiteDeployment.objects.all():
Zack Williams045b63d2019-01-22 16:30:57 -0700112 seen.append(obj.id)
113 conflicts = SiteDeployment.objects.filter(
114 site=obj.site, deployment=obj.deployment, controller=obj.controller
115 )
116 for conflict in conflicts:
117 if conflict.id not in seen:
118 print("Purging", conflict, conflict.id, "due to duplicate of", obj.id)
119 conflict.delete(purge=True)
Scott Baker7b0eee42015-05-11 17:26:00 -0700120
Zack Williams045b63d2019-01-22 16:30:57 -0700121seen = []
Scott Baker7b0eee42015-05-11 17:26:00 -0700122for obj in ControllerSite.objects.all():
Zack Williams045b63d2019-01-22 16:30:57 -0700123 seen.append(obj.id)
124 conflicts = ControllerSite.objects.filter(site=obj.site, controller=obj.controller)
125 for conflict in conflicts:
126 if conflict.id not in seen:
127 print("Purging", conflict, conflict.id, "due to duplicate of", obj.id)
128 conflict.delete(purge=True)
Scott Baker8f922172015-05-11 17:49:28 -0700129
Zack Williams045b63d2019-01-22 16:30:57 -0700130seen = []
Scott Baker8f922172015-05-11 17:49:28 -0700131for obj in ControllerSlice.objects.all():
Zack Williams045b63d2019-01-22 16:30:57 -0700132 seen.append(obj.id)
133 conflicts = ControllerSlice.objects.filter(
134 slice=obj.slice, controller=obj.controller
135 )
136 for conflict in conflicts:
137 if conflict.id not in seen:
138 print("Purging", conflict, conflict.id, "due to duplicate of", obj.id)
139 conflict.delete(purge=True)