cloning was unsuccessful

Bug #1948500 reported by Lukas Hejtmanek
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MAAS
Fix Released
High
Alberto Donato

Bug Description

When cloning storage from existing node, I am getting 'Cloning was unsuccessful' message with this trace in logs. maas version is 3.1. Cloning is made from GUI.

2021-10-22 20:49:53 maasserver.websockets.protocol: [critical] Error on request (421) machine.action: __new__() missing 1 required positional argument: 'value'
 Traceback (most recent call last):
   File "/usr/lib/python3.8/threading.py", line 870, in run
     self._target(*self._args, **self._kwargs)
   File "/snap/maas/16873/lib/python3.8/site-packages/provisioningserver/utils/twisted.py", line 835, in worker
     return target()
   File "/snap/maas/16873/usr/lib/python3/dist-packages/twisted/_threads/_threadworker.py", line 46, in work
     task()
   File "/snap/maas/16873/usr/lib/python3/dist-packages/twisted/_threads/_team.py", line 190, in doWork
     task()
 --- <exception caught here> ---
   File "/snap/maas/16873/usr/lib/python3/dist-packages/twisted/python/threadpool.py", line 250, in inContext
     result = inContext.theWork()
   File "/snap/maas/16873/usr/lib/python3/dist-packages/twisted/python/threadpool.py", line 266, in <lambda>
     inContext.theWork = lambda: context.call(ctx, func, *args, **kw)
   File "/snap/maas/16873/usr/lib/python3/dist-packages/twisted/python/context.py", line 122, in callWithContext
     return self.currentContext().callWithContext(ctx, func, *args, **kw)
   File "/snap/maas/16873/usr/lib/python3/dist-packages/twisted/python/context.py", line 85, in callWithContext
     return func(*args,**kw)
   File "/snap/maas/16873/lib/python3.8/site-packages/provisioningserver/utils/twisted.py", line 870, in callInContext
     return func(*args, **kwargs)
   File "/snap/maas/16873/lib/python3.8/site-packages/provisioningserver/utils/twisted.py", line 202, in wrapper
     result = func(*args, **kwargs)
   File "/snap/maas/16873/lib/python3.8/site-packages/maasserver/utils/orm.py", line 756, in call_within_transaction
     return func_outside_txn(*args, **kwargs)
   File "/snap/maas/16873/lib/python3.8/site-packages/maasserver/utils/orm.py", line 559, in retrier
     return func(*args, **kwargs)
   File "/usr/lib/python3.8/contextlib.py", line 75, in inner
     return func(*args, **kwds)
   File "/snap/maas/16873/lib/python3.8/site-packages/maasserver/websockets/base.py", line 416, in prep_user_execute
     return self._call_method_track_queries(
   File "/snap/maas/16873/lib/python3.8/site-packages/maasserver/websockets/base.py", line 440, in _call_method_track_queries
     result = method(params)
   File "/snap/maas/16873/lib/python3.8/site-packages/maasserver/websockets/handlers/machine.py", line 965, in action
     return action.execute(**extra_params)
   File "/snap/maas/16873/lib/python3.8/site-packages/maasserver/node_action.py", line 185, in execute
     self._execute(*args, **kwargs)
   File "/snap/maas/16873/lib/python3.8/site-packages/maasserver/node_action.py", line 1022, in _execute
     form.save()
   File "/snap/maas/16873/lib/python3.8/site-packages/maasserver/forms/clone.py", line 164, in save
     dest.set_storage_configuration_from_node(source)
   File "/snap/maas/16873/lib/python3.8/site-packages/maasserver/models/node.py", line 4045, in set_storage_configuration_from_node
     filesystem_map = self._copy_between_block_device_mappings(mapping)
   File "/snap/maas/16873/lib/python3.8/site-packages/maasserver/models/node.py", line 4197, in _copy_between_block_device_mappings
     self_ptable = copy.deepcopy(source_ptable)
   File "/usr/lib/python3.8/copy.py", line 172, in deepcopy
     y = _reconstruct(x, memo, *rv)
   File "/usr/lib/python3.8/copy.py", line 270, in _reconstruct
     state = deepcopy(state, memo)
   File "/usr/lib/python3.8/copy.py", line 146, in deepcopy
     y = copier(x, memo)
   File "/usr/lib/python3.8/copy.py", line 230, in _deepcopy_dict
     y[deepcopy(key, memo)] = deepcopy(value, memo)
   File "/usr/lib/python3.8/copy.py", line 172, in deepcopy
     y = _reconstruct(x, memo, *rv)
   File "/usr/lib/python3.8/copy.py", line 270, in _reconstruct
     state = deepcopy(state, memo)
   File "/usr/lib/python3.8/copy.py", line 146, in deepcopy
     y = copier(x, memo)
   File "/usr/lib/python3.8/copy.py", line 230, in _deepcopy_dict
     y[deepcopy(key, memo)] = deepcopy(value, memo)
   File "/usr/lib/python3.8/copy.py", line 146, in deepcopy
     y = copier(x, memo)
   File "/usr/lib/python3.8/copy.py", line 230, in _deepcopy_dict
     y[deepcopy(key, memo)] = deepcopy(value, memo)
   File "/usr/lib/python3.8/copy.py", line 172, in deepcopy
     y = _reconstruct(x, memo, *rv)
   File "/usr/lib/python3.8/copy.py", line 270, in _reconstruct
     state = deepcopy(state, memo)
   File "/usr/lib/python3.8/copy.py", line 146, in deepcopy
     y = copier(x, memo)
   File "/usr/lib/python3.8/copy.py", line 230, in _deepcopy_dict
     y[deepcopy(key, memo)] = deepcopy(value, memo)
   File "/usr/lib/python3.8/copy.py", line 172, in deepcopy
     y = _reconstruct(x, memo, *rv)
   File "/usr/lib/python3.8/copy.py", line 270, in _reconstruct
     state = deepcopy(state, memo)
   File "/usr/lib/python3.8/copy.py", line 146, in deepcopy
     y = copier(x, memo)
   File "/usr/lib/python3.8/copy.py", line 230, in _deepcopy_dict
     y[deepcopy(key, memo)] = deepcopy(value, memo)
   File "/usr/lib/python3.8/copy.py", line 146, in deepcopy
     y = copier(x, memo)
   File "/usr/lib/python3.8/copy.py", line 230, in _deepcopy_dict
     y[deepcopy(key, memo)] = deepcopy(value, memo)
   File "/usr/lib/python3.8/copy.py", line 172, in deepcopy
     y = _reconstruct(x, memo, *rv)
   File "/usr/lib/python3.8/copy.py", line 270, in _reconstruct
     state = deepcopy(state, memo)
   File "/usr/lib/python3.8/copy.py", line 146, in deepcopy
     y = copier(x, memo)
   File "/usr/lib/python3.8/copy.py", line 230, in _deepcopy_dict
     y[deepcopy(key, memo)] = deepcopy(value, memo)
   File "/usr/lib/python3.8/copy.py", line 172, in deepcopy
     y = _reconstruct(x, memo, *rv)
   File "/usr/lib/python3.8/copy.py", line 270, in _reconstruct
     state = deepcopy(state, memo)
   File "/usr/lib/python3.8/copy.py", line 146, in deepcopy
     y = copier(x, memo)
   File "/usr/lib/python3.8/copy.py", line 230, in _deepcopy_dict
     y[deepcopy(key, memo)] = deepcopy(value, memo)
   File "/usr/lib/python3.8/copy.py", line 146, in deepcopy
     y = copier(x, memo)
   File "/usr/lib/python3.8/copy.py", line 230, in _deepcopy_dict
     y[deepcopy(key, memo)] = deepcopy(value, memo)
   File "/usr/lib/python3.8/copy.py", line 172, in deepcopy
     y = _reconstruct(x, memo, *rv)
   File "/usr/lib/python3.8/copy.py", line 270, in _reconstruct
     state = deepcopy(state, memo)
   File "/usr/lib/python3.8/copy.py", line 146, in deepcopy
     y = copier(x, memo)
   File "/usr/lib/python3.8/copy.py", line 230, in _deepcopy_dict
     y[deepcopy(key, memo)] = deepcopy(value, memo)
   File "/usr/lib/python3.8/copy.py", line 172, in deepcopy
     y = _reconstruct(x, memo, *rv)
   File "/usr/lib/python3.8/copy.py", line 270, in _reconstruct
     state = deepcopy(state, memo)
   File "/usr/lib/python3.8/copy.py", line 146, in deepcopy
     y = copier(x, memo)
   File "/usr/lib/python3.8/copy.py", line 230, in _deepcopy_dict
     y[deepcopy(key, memo)] = deepcopy(value, memo)
   File "/usr/lib/python3.8/copy.py", line 146, in deepcopy
     y = copier(x, memo)
   File "/usr/lib/python3.8/copy.py", line 230, in _deepcopy_dict
     y[deepcopy(key, memo)] = deepcopy(value, memo)
   File "/usr/lib/python3.8/copy.py", line 172, in deepcopy
     y = _reconstruct(x, memo, *rv)
   File "/usr/lib/python3.8/copy.py", line 270, in _reconstruct
     state = deepcopy(state, memo)
   File "/usr/lib/python3.8/copy.py", line 146, in deepcopy
     y = copier(x, memo)
   File "/usr/lib/python3.8/copy.py", line 230, in _deepcopy_dict
     y[deepcopy(key, memo)] = deepcopy(value, memo)
   File "/usr/lib/python3.8/copy.py", line 172, in deepcopy
     y = _reconstruct(x, memo, *rv)
   File "/usr/lib/python3.8/copy.py", line 264, in _reconstruct
     y = func(*args)
   File "/usr/lib/python3.8/copyreg.py", line 91, in __newobj__
     return cls.__new__(cls, *args)
 builtins.TypeError: __new__() missing 1 required positional argument: 'value'

Related branches

Revision history for this message
Bill Wear (billwear) wrote :

I can duplicate this behaviour. Triaging.

Changed in maas:
status: New → Triaged
milestone: none → 3.1.0
Alberto Donato (ack)
Changed in maas:
importance: Undecided → High
assignee: nobody → Alberto Donato (ack)
Alberto Donato (ack)
Changed in maas:
status: Triaged → In Progress
Changed in maas:
status: In Progress → Fix Committed
Bill Wear (billwear)
Changed in maas:
milestone: 3.1.0 → 3.1.0-beta5
Changed in maas:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.