Activity log for bug #1570995

Date Who What changed Old value New value Message
2016-04-15 17:45:45 Andres Rodriguez bug added bug
2016-04-15 17:46:24 Andres Rodriguez description I had a machine in MAAS which I deployed. After deployment, I manually installed maas-rack-controller and pointed it to the Region Controller, so a new rack appeared. I tried to delete this new rack controller and came across this error in the UI: The delete action for 1 controller failed with error: ("Cannot delete some instances of model 'VLAN' because they are referenced through a protected foreign key: 'PhysicalInterface.vlan'", [<PhysicalInterface: name=usb0, type=physical, mac=00:0e:c6:88:b7:9f>, <PhysicalInterface: name=enp0s25, type=physical, mac=b8:ae:ed:7d:17:d2>, <PhysicalInterface: name=enp0s25, type=physical, mac=b8:ae:ed:7d:16:d0>, <PhysicalInterface: name=enp0s25, type=physical, mac=b8:ae:ed:7c:4d:75>, <PhysicalInterface: name=enp0s25, type=physical, mac=b8:ae:ed:7e:b4:99>]) logs: ==> /var/log/maas/regiond.log <== 2016-04-15 13:45:19 [-] Error on request (118) controller.action: ("Cannot delete some instances of model 'VLAN' because they are referenced through a protected foreign key: 'PhysicalInterface.vlan'", [<PhysicalInterface: name=usb0, type=physical, mac=00:0e:c6:88:b7:9f>, <PhysicalInterface: name=enp0s25, type=physical, mac=b8:ae:ed:7d:17:d2>, <PhysicalInterface: name=enp0s25, type=physical, mac=b8:ae:ed:7d:16:d0>, <PhysicalInterface: name=enp0s25, type=physical, mac=b8:ae:ed:7c:4d:75>, <PhysicalInterface: name=enp0s25, type=physical, mac=b8:ae:ed:7e:b4:99>]) Traceback (most recent call last): File "/usr/lib/python3.5/threading.py", line 862, in run self._target(*self._args, **self._kwargs) File "/usr/lib/python3/dist-packages/provisioningserver/utils/twisted.py", line 841, in worker return target() File "/usr/lib/python3/dist-packages/twisted/_threads/_threadworker.py", line 46, in work task() File "/usr/lib/python3/dist-packages/twisted/_threads/_team.py", line 190, in doWork task() --- <exception caught here> --- File "/usr/lib/python3/dist-packages/twisted/python/threadpool.py", line 246, in inContext result = inContext.theWork() File "/usr/lib/python3/dist-packages/twisted/python/threadpool.py", line 262, in <lambda> inContext.theWork = lambda: context.call(ctx, func, *args, **kw) File "/usr/lib/python3/dist-packages/twisted/python/context.py", line 118, in callWithContext return self.currentContext().callWithContext(ctx, func, *args, **kw) File "/usr/lib/python3/dist-packages/twisted/python/context.py", line 81, in callWithContext return func(*args,**kw) File "/usr/lib/python3/dist-packages/provisioningserver/utils/twisted.py", line 874, in callInContext return func(*args, **kwargs) File "/usr/lib/python3/dist-packages/maasserver/utils/orm.py", line 516, in call_within_transaction return func_outside_txn(*args, **kwargs) File "/usr/lib/python3/dist-packages/maasserver/utils/orm.py", line 343, in retrier return func(*args, **kwargs) File "/usr/lib/python3.5/contextlib.py", line 30, in inner return func(*args, **kwds) File "/usr/lib/python3/dist-packages/maasserver/websockets/handlers/machine.py", line 676, in action return action.execute(**extra_params) File "/usr/lib/python3/dist-packages/maasserver/node_action.py", line 193, in execute self.node.delete() File "/usr/lib/python3/dist-packages/maasserver/models/node.py", line 1692, in delete super(Node, self).delete() File "/usr/lib/python3/dist-packages/django/db/models/base.py", line 895, in delete collector.collect([self]) File "/usr/lib/python3/dist-packages/django/db/models/deletion.py", line 229, in collect field.rel.on_delete(self, field, sub_objs, self.using) File "/usr/lib/python3/dist-packages/django/db/models/deletion.py", line 18, in CASCADE source_attr=field.name, nullable=field.null) File "/usr/lib/python3/dist-packages/django/db/models/deletion.py", line 229, in collect field.rel.on_delete(self, field, sub_objs, self.using) File "/usr/lib/python3/dist-packages/django/db/models/deletion.py", line 28, in PROTECT sub_objs django.db.models.deletion.ProtectedError: ("Cannot delete some instances of model 'VLAN' because they are referenced through a protected foreign key: 'PhysicalInterface.vlan'", [<PhysicalInterface: name=usb0, type=physical, mac=00:0e:c6:88:b7:9f>, <PhysicalInterface: name=enp0s25, type=physical, mac=b8:ae:ed:7d:17:d2>, <PhysicalInterface: name=enp0s25, type=physical, mac=b8:ae:ed:7d:16:d0>, <PhysicalInterface: name=enp0s25, type=physical, mac=b8:ae:ed:7c:4d:75>, <PhysicalInterface: name=enp0s25, type=physical, mac=b8:ae:ed:7e:b4:99>]) I had a machine in MAAS which I deployed. After deployment, I manually installed maas-rack-controller and pointed it to the Region Controller, so a new rack appeared. Then I configured this rack controller as secondary rack controller for a VLAN. Finally, I tried to delete this new rack controller and came across this error in the UI: The delete action for 1 controller failed with error: ("Cannot delete some instances of model 'VLAN' because they are referenced through a protected foreign key: 'PhysicalInterface.vlan'", [<PhysicalInterface: name=usb0, type=physical, mac=00:0e:c6:88:b7:9f>, <PhysicalInterface: name=enp0s25, type=physical, mac=b8:ae:ed:7d:17:d2>, <PhysicalInterface: name=enp0s25, type=physical, mac=b8:ae:ed:7d:16:d0>, <PhysicalInterface: name=enp0s25, type=physical, mac=b8:ae:ed:7c:4d:75>, <PhysicalInterface: name=enp0s25, type=physical, mac=b8:ae:ed:7e:b4:99>]) logs: ==> /var/log/maas/regiond.log <== 2016-04-15 13:45:19 [-] Error on request (118) controller.action: ("Cannot delete some instances of model 'VLAN' because they are referenced through a protected foreign key: 'PhysicalInterface.vlan'", [<PhysicalInterface: name=usb0, type=physical, mac=00:0e:c6:88:b7:9f>, <PhysicalInterface: name=enp0s25, type=physical, mac=b8:ae:ed:7d:17:d2>, <PhysicalInterface: name=enp0s25, type=physical, mac=b8:ae:ed:7d:16:d0>, <PhysicalInterface: name=enp0s25, type=physical, mac=b8:ae:ed:7c:4d:75>, <PhysicalInterface: name=enp0s25, type=physical, mac=b8:ae:ed:7e:b4:99>])         Traceback (most recent call last):           File "/usr/lib/python3.5/threading.py", line 862, in run             self._target(*self._args, **self._kwargs)           File "/usr/lib/python3/dist-packages/provisioningserver/utils/twisted.py", line 841, in worker             return target()           File "/usr/lib/python3/dist-packages/twisted/_threads/_threadworker.py", line 46, in work             task()           File "/usr/lib/python3/dist-packages/twisted/_threads/_team.py", line 190, in doWork             task()         --- <exception caught here> ---           File "/usr/lib/python3/dist-packages/twisted/python/threadpool.py", line 246, in inContext             result = inContext.theWork()           File "/usr/lib/python3/dist-packages/twisted/python/threadpool.py", line 262, in <lambda>             inContext.theWork = lambda: context.call(ctx, func, *args, **kw)           File "/usr/lib/python3/dist-packages/twisted/python/context.py", line 118, in callWithContext             return self.currentContext().callWithContext(ctx, func, *args, **kw)           File "/usr/lib/python3/dist-packages/twisted/python/context.py", line 81, in callWithContext             return func(*args,**kw)           File "/usr/lib/python3/dist-packages/provisioningserver/utils/twisted.py", line 874, in callInContext             return func(*args, **kwargs)           File "/usr/lib/python3/dist-packages/maasserver/utils/orm.py", line 516, in call_within_transaction             return func_outside_txn(*args, **kwargs)           File "/usr/lib/python3/dist-packages/maasserver/utils/orm.py", line 343, in retrier             return func(*args, **kwargs)           File "/usr/lib/python3.5/contextlib.py", line 30, in inner             return func(*args, **kwds)           File "/usr/lib/python3/dist-packages/maasserver/websockets/handlers/machine.py", line 676, in action             return action.execute(**extra_params)           File "/usr/lib/python3/dist-packages/maasserver/node_action.py", line 193, in execute             self.node.delete()           File "/usr/lib/python3/dist-packages/maasserver/models/node.py", line 1692, in delete             super(Node, self).delete()           File "/usr/lib/python3/dist-packages/django/db/models/base.py", line 895, in delete             collector.collect([self])           File "/usr/lib/python3/dist-packages/django/db/models/deletion.py", line 229, in collect             field.rel.on_delete(self, field, sub_objs, self.using)           File "/usr/lib/python3/dist-packages/django/db/models/deletion.py", line 18, in CASCADE             source_attr=field.name, nullable=field.null)           File "/usr/lib/python3/dist-packages/django/db/models/deletion.py", line 229, in collect             field.rel.on_delete(self, field, sub_objs, self.using)           File "/usr/lib/python3/dist-packages/django/db/models/deletion.py", line 28, in PROTECT             sub_objs         django.db.models.deletion.ProtectedError: ("Cannot delete some instances of model 'VLAN' because they are referenced through a protected foreign key: 'PhysicalInterface.vlan'", [<PhysicalInterface: name=usb0, type=physical, mac=00:0e:c6:88:b7:9f>, <PhysicalInterface: name=enp0s25, type=physical, mac=b8:ae:ed:7d:17:d2>, <PhysicalInterface: name=enp0s25, type=physical, mac=b8:ae:ed:7d:16:d0>, <PhysicalInterface: name=enp0s25, type=physical, mac=b8:ae:ed:7c:4d:75>, <PhysicalInterface: name=enp0s25, type=physical, mac=b8:ae:ed:7e:b4:99>])
2016-04-15 17:47:12 Andres Rodriguez maas: importance Undecided Critical
2016-04-19 23:49:03 Lee Trager branch linked lp:~ltrager/maas/delete_rack
2016-04-22 15:44:00 Andres Rodriguez maas: assignee Lee Trager (ltrager)
2016-04-22 15:44:03 Andres Rodriguez maas: status New In Progress
2016-05-09 21:49:05 Andres Rodriguez maas: status In Progress Fix Committed
2016-08-22 16:33:43 Andres Rodriguez maas: status Fix Committed Fix Released