Rudd-O / zfs-tools

ZFS synchronization and snapshotting tools
79 stars 41 forks source link

KeyError [zreplicate thing] #20

Open muzyk10 opened 7 years ago

muzyk10 commented 7 years ago

Im wondering why is that below. On localhost ./zreplicate works as expected:

lap bin # ./zreplicate -vo --create-destination --no-replication-stream data/test data/backup Replicating dataset localhost:data/test into localhost:data/backup... Assessing that the source dataset exists...

Assessing that the destination dataset exists...

Replicating (full) data/test to data/backup Base snapshot available in destination: None Target snapshot available in source: <Snapshot: data/test@autosnapshot-2016-10-21-014702> send from @ to data/test@autosnapshot-2016-10-21-014702 estimated size is 9,50K total estimated size is 9,50K TIME SENT SNAPSHOT 40,7KiB 0:00:00 [1,29GiB/s] [ <=>
receiving full stream of data/test@autosnapshot-2016-10-21-014702 into data/backup@autosnapshot-2016-10-21-014702

received 40,4KB stream in 1 seconds (40,4KB/sec)

Replication complete.

but doing it to remote direction (all the user zfs/zfs-shell/sudo stuff is OK) outputs:

lap bin # ./zreplicate -o -v --create-destination --no-replication-stream localhost:data/test zfs@edge1:rpool/DATA/backup/test Replicating dataset localhost:data/test into zfs@edge1:rpool/DATA/backup/test... Assessing that the source dataset exists... Assessing that the destination dataset exists... Creating missing destination dataset exists as requested Traceback (most recent call last): File "./zreplicate", line 78, in dst_conn.create_dataset(destination_dataset_name) File "/home/llu/praca/zfs/zfs-tools/bin/../src/zfstools/connection.py", line 66, in create_dataset return self.pools.lookup(name) File "/home/llu/praca/zfs/zfs-tools/bin/../src/zfstools/connection.py", line 58, in _get_poolset self._poolset.parse_zfs_r_output(stdout2,properties) File "/home/llu/praca/zfs/zfs-tools/bin/../src/zfstools/models.py", line 179, in parse_zfs_r_output fs = self.pools[poolname] KeyError: 'rpool'

Rudd-O commented 7 years ago

On 10/21/2016 12:14 AM, muzyk10 wrote:

Im wondering why is that below. On localhost ./zreplicate works as expected:

lap bin # ./zreplicate -vo --create-destination
--no-replication-stream data/test data/backup
Replicating dataset localhost:data/test into localhost:data/backup...
Assessing that the source dataset exists...

    Assessing that the destination dataset exists...

Replicating (full) data/test to data/backup
Base snapshot available in destination: None
Target snapshot available in source:
send from @ to data/test@autosnapshot-2016-10-21-014702 estimated
size is 9,50K
total estimated size is 9,50K
TIME SENT SNAPSHOT
40,7KiB 0:00:00 [1,29GiB/s] [ <=>

receiving full stream of data/test@autosnapshot-2016-10-21-014702
into data/backup@autosnapshot-2016-10-21-014702

    received 40,4KB stream in 1 seconds (40,4KB/sec)

Replication complete.

but doing it to remote direction (all the user zfs/zfs-shell/sudo stuff is OK) outputs:

lap bin # ./zreplicate -o -v --create-destination
--no-replication-stream localhost:data/test
zfs@edge1:rpool/DATA/backup/test
Replicating dataset localhost:data/test into
zfs@edge1:rpool/DATA/backup/test...
Assessing that the source dataset exists...
Assessing that the destination dataset exists...
Creating missing destination dataset exists as requested
Traceback (most recent call last):
File "./zreplicate", line 78, in
dst_conn.create_dataset(destination_dataset_name)
File
"/home/llu/praca/zfs/zfs-tools/bin/../src/zfstools/connection.py",
line 66, in create_dataset
return self.pools.lookup(name)
File
"/home/llu/praca/zfs/zfs-tools/bin/../src/zfstools/connection.py",
line 58, in _get_poolset
self._poolset.parse_zfs_r_output(stdout2,properties)
File
"/home/llu/praca/zfs/zfs-tools/bin/../src/zfstools/models.py",
line 179, in parse_zfs_r_output
fs = self.pools[poolname]
KeyError: 'rpool'

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/Rudd-O/zfs-tools/issues/20, or mute the thread https://github.com/notifications/unsubscribe-auth/AAVIwsXzMXko4fEOhLAejSg57rb94CE4ks5q2APtgaJpZM4KcvHq.

On the second case, it doesn't seem like listing the remote pool is returning "rpool" as part of the ZFS list.

Does the remote end (the receiving side) actually have a pool called /rpool/?

Just wondering.

Rudd-O
http://rudd-o.com/
muzyk10 commented 7 years ago

local host pool name is 'data' and remote host pool name is 'rpool'

Rudd-O commented 3 years ago

Can you still repro with latest master?