SOLVED Replication Task Wizard CallError

janos66

Dabbler
Joined
Feb 18, 2022
Messages
21
Hi,

because of a zpool extension and a change from truenas core to scale I did a full backup from Truenas core to a truenas scale box via “zfs send”, worked without problems.

Now I want to move my data back to the new zpool on my main server, hence I did a

Code:
ssh-keygen -t rsa
ssh-copy-id i id_rsa.pub root@target-server-ip


on both sides and started the first transfer via “zfs send”. For the duration of the transfer I can see the dataset on the destination server, but once the transfer is finished the dataset disappears

Code:
zfs send tank/backup@manual-sync | ssh target-server-ip zfs recv store01/backup


Up to this point I had not tried to test the built in replication of Truenas.
Well, I thought, then now is a good time to do it, but when I try to configure the replication via GUI, I get the following error message when selecting the source system


Code:
Error: Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/middlewared/plugins/zettarepl.py", line 771, in _handle_ssh_exceptions
    yield
  File "/usr/lib/python3/dist-packages/middlewared/plugins/zettarepl.py", line 482, in list_datasets
    datasets = await self.middleware.run_in_thread(list_datasets, shell)
  File "/usr/lib/python3/dist-packages/middlewared/utils/run_in_thread.py", line 10, in run_in_thread
    return await self.loop.run_in_executor(self.run_in_thread_executor, functools.partial(method, *args, **kwargs))
  File "/usr/lib/python3.9/concurrent/futures/thread.py", line 52, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/lib/python3/dist-packages/zettarepl/dataset/list.py", line 13, in list_datasets
    return [dataset["name"] for dataset in list_datasets_with_properties(shell, dataset, recursive)]
  File "/usr/lib/python3/dist-packages/zettarepl/dataset/list.py", line 30, in list_datasets_with_properties
    output = shell.exec(args)
  File "/usr/lib/python3/dist-packages/zettarepl/transport/interface.py", line 89, in exec
    return self.exec_async(args, encoding, stdout).wait(timeout)
  File "/usr/lib/python3/dist-packages/zettarepl/transport/interface.py", line 93, in exec_async
    async_exec.run()
  File "/usr/lib/python3/dist-packages/zettarepl/transport/base_ssh.py", line 27, in run
    client = self.shell.get_client()
  File "/usr/lib/python3/dist-packages/zettarepl/transport/base_ssh.py", line 123, in get_client
    client.connect(
  File "/usr/lib/python3/dist-packages/paramiko/client.py", line 435, in connect
    self._auth(
  File "/usr/lib/python3/dist-packages/paramiko/client.py", line 764, in _auth
    raise saved_exception
  File "/usr/lib/python3/dist-packages/paramiko/client.py", line 664, in _auth
    self._transport.auth_publickey(username, pkey)
  File "/usr/lib/python3/dist-packages/paramiko/transport.py", line 1580, in auth_publickey
    return self.auth_handler.wait_for_response(my_event)
  File "/usr/lib/python3/dist-packages/paramiko/auth_handler.py", line 250, in wait_for_response
    raise e
paramiko.ssh_exception.AuthenticationException: Authentication failed.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 160, in call_method
    result = await self.middleware._call(message['method'], serviceobj, methodobj, params, app=self,
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1281, in _call
    return await methodobj(*prepared_call.args)
  File "/usr/lib/python3/dist-packages/middlewared/schema.py", line 1269, in nf
    return await func(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/middlewared/schema.py", line 1137, in nf
    res = await f(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/middlewared/plugins/replication.py", line 706, in list_datasets
    return await self.middleware.call("zettarepl.list_datasets", transport, ssh_credentials)
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1324, in call
    return await self._call(
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1281, in _call
    return await methodobj(*prepared_call.args)
  File "/usr/lib/python3/dist-packages/middlewared/plugins/zettarepl.py", line 482, in list_datasets
    datasets = await self.middleware.run_in_thread(list_datasets, shell)
  File "/usr/lib/python3.9/contextlib.py", line 193, in __aexit__
    await self.gen.athrow(typ, value, traceback)
  File "/usr/lib/python3/dist-packages/middlewared/plugins/zettarepl.py", line 774, in _handle_ssh_exceptions
    raise CallError(repr(e).replace("[Errno None] ", ""), errno=errno.EACCES)
middlewared.service_exception.CallError: [EACCES] AuthenticationException('Authentication failed.')
 

janos66

Dabbler
Joined
Feb 18, 2022
Messages
21
the key problem is solved, I deleted the old keys and created new ones via GUI. Now I can create a task with the replication Wizard but as soon as I start the task I get the message "please wait", but nothing happens.

Where are the logs for the replication Wizard?
 

rogerh

Guru
Joined
Apr 18, 2014
Messages
1,111
I'd be quite interested in how - in case I see the same problem.
 

janos66

Dabbler
Joined
Feb 18, 2022
Messages
21
not sure, I just created a new replication task on the other server with pull instead push.

In the meantime I am not sure if Trunas scale ist the right system for me.
When I destroy a snapshot on the console, then the data are still there but I can not access it and for what ever reason the system deletes a filesystem by itself when send via zfs send form my other system
 

rogerh

Guru
Joined
Apr 18, 2014
Messages
1,111
Thanks, I think push replication may be deprecated now.
 
Top