#49926 Add replication functionality to UI
Closed: wontfix 3 years ago Opened 3 years ago by mreynolds.

Issue Description

Start adding the replication backend functionality to the UI


Metadata Update from @mreynolds:
- Custom field component adjusted to None
- Custom field origin adjusted to None
- Custom field reviewstatus adjusted to None
- Custom field rhbz adjusted to https://bugzilla.redhat.com/show_bug.cgi?id=1623631
- Custom field type adjusted to None
- Custom field version adjusted to None

3 years ago

Metadata Update from @mreynolds:
- Custom field reviewstatus adjusted to review (was: None)

3 years ago

CLI completed, working on UI next...

Few things that we can probably improve:

  • While trying to set up replication with no role and no replica id specified we get a puzzling message

    Failed to set replication configuration
    No object exists given the filter criteria dc=example,dc=com
    
  • While creating any entry which requires password, I think, we shouldn't log the password

    CMD: Creating replication manager: /home/spichugi/src/389-ds-base/src/lib389/cli/dsconf -j ldapi://%2fvar%2frun%2fslapd-local1.socket replication create-manager --name=cn=repl_m,cn=config --passwd=newpassword123
    
  • Updating Replica entry Advanced Settings doesn't actually update the settings (like nsds5ReplicaTimeout, etc.) But looks like it is a known issue.

  • Replication Managers DataTable isn't cleaned during the page reload. So if we add Replication Manager on instance1 and then we'll go to instance2 configuration, then Replication Managers DataTable will have the Replication Manager from instance1 in the list.

  • Create Replication Agreement form isn't cleaned when we press Create Replication Agreement button. It still has the fields filled with previous agreement data.

  • There is cryptic error message when we try to edit the existed agreement (I wrote wrong hostname and I wanted to fix it):

    Failed to edit replication agreement
    {'desc': 'Operations error'}
    
  • If you first add an agreement, then you try to edit it, and then you try to add another one - it will send you to Edit Replication Agreement form instead of Create Replication Agreement

  • As per documentation, we should initialize the MMR only once from one supplier. If we do so from UI on one instance agreement and then we go to another instance, the status says that the other agreement is not initialized and updates don't work.

  • Is there a way to abort CleanAllRUV Tasks?

That is for now :) Sorry if it's too much

Few things that we can probably improve:

While trying to set up replication with no role and no replica id specified we get a puzzling message
Failed to set replication configuration
No object exists given the filter criteria dc=example,dc=com

How are you reproducing this error?

While creating any entry which requires password, I think, we shouldn't log the password
CMD: Creating replication manager: /home/spichugi/src/389-ds-base/src/lib389/cli/dsconf -j ldapi://%2fvar%2frun%2fslapd-local1.socket replication create-manager --name=cn=repl_m,cn=config --passwd=newpassword123

Good point

Updating Replica entry Advanced Settings doesn't actually update the settings (like nsds5ReplicaTimeout, etc.) But looks like it is a known issue.

Hmmm that should be working - I'll look into it...

Replication Managers DataTable isn't cleaned during the page reload. So if we add Replication Manager on instance1 and then we'll go to instance2 configuration, then Replication Managers DataTable will have the Replication Manager from instance1 in the list.

Okay I'll look into this as well.

Create Replication Agreement form isn't cleaned when we press Create Replication Agreement button. It still has the fields filled with previous agreement data.

Ok, we have clear form function so this is very surprising.

There is cryptic error message when we try to edit the existed agreement (I wrote wrong hostname and I wanted to fix it):
Failed to edit replication agreement
{'desc': 'Operations error'}

If you first add an agreement, then you try to edit it, and then you try to add another one - it will send you to Edit Replication Agreement form instead of Create Replication Agreement

As per documentation, we should initialize the MMR only once from one supplier. If we do so from UI on one instance agreement and then we go to another instance, the status says that the other agreement is not initialized and updates don't work.

Is there a way to abort CleanAllRUV Tasks?

Yes it's right in the table itself - can't miss it ;-)

That is for now :) Sorry if it's too much

No worries, I'm surprised some of things you reported as I had previously tested those areas. Anyway I'll get them fixed. Thanks for the review.

Few things that we can probably improve:
While trying to set up replication with no role and no replica id specified we get a puzzling message
Failed to set replication configuration
No object exists given the filter criteria dc=example,dc=com

How are you reproducing this error?

Set Replication Role to disabled and don't set Replica ID. It will fail with the error if you press Save

Is there a way to abort CleanAllRUV Tasks?

Yes it's right in the table itself - can't miss it ;-)

I haven't seen it in the table... But I'll test more. Maybe I need to reproduce the situation when CleanAllRUV Task is hanging.

That is for now :) Sorry if it's too much

No worries, I'm surprised some of things you reported as I had previously tested those areas. Anyway I'll get them fixed. Thanks for the review.

Oh, and please, check also the other comments from https://pagure.io/389-ds-base/pull-request/49976
Basically all my comments that go after this one - https://pagure.io/389-ds-base/pull-request/49976#comment-66304

Thank you! Very vast and good job anyway!

Few things that we can probably improve:
While trying to set up replication with no role and no replica id specified we get a puzzling message
Failed to set replication configuration
No object exists given the filter criteria dc=example,dc=com
How are you reproducing this error?

Set Replication Role to disabled and don't set Replica ID. It will fail with the error if you press Save

Works fine for me, maybe you are not fully describing what you are doing? I set the role to master, set replica id and hit save. then I set to disable (which automatically sets replica ID to nothing, and hit save, and it works.

Is there a way to abort CleanAllRUV Tasks?
Yes it's right in the table itself - can't miss it ;-)

I haven't seen it in the table... But I'll test more. Maybe I need to reproduce the situation when CleanAllRUV Task is hanging.

That is for now :) Sorry if it's too much
No worries, I'm surprised some of things you reported as I had previously tested those areas. Anyway I'll get them fixed. Thanks for the review.

Oh, and please, check also the other comments from https://pagure.io/389-ds-base/pull-request/49976

I already addressed all of those issues

Few things that we can probably improve:
While trying to set up replication with no role and no replica id specified we get a puzzling message
Failed to set replication configuration
No object exists given the filter criteria dc=example,dc=com
How are you reproducing this error?
Set Replication Role to disabled and don't set Replica ID. It will fail with the error if you press Save

Works fine for me, maybe you are not fully describing what you are doing? I set the role to master, set replica id and hit save. then I set to disable (which automatically sets replica ID to nothing, and hit save, and it works.

Yes, okay. There is a misunderstanding.
My concern was regarding 'puzzling message' which you get when you try to disable replication while there is no Replica entry (it still wasn't enabled).

Failed to set replication configuration
No object exists given the filter criteria dc=example,dc=com

Fix edvarious issues, and improved replication enabling/disabling process

https://pagure.io/389-ds-base/pull-request/49983

Metadata Update from @mreynolds:
- Issue close_status updated to: fixed
- Issue status updated to: Closed (was: Open)

3 years ago

389-ds-base is moving from Pagure to Github. This means that new issues and pull requests
will be accepted only in 389-ds-base's github repository.

This issue has been cloned to Github and is available here:
- https://github.com/389ds/389-ds-base/issues/2985

If you want to receive further updates on the issue, please navigate to the github issue
and click on subscribe button.

Thank you for understanding. We apologize for all inconvenience.

Metadata Update from @spichugi:
- Issue close_status updated to: wontfix (was: fixed)

2 years ago

Login to comment on this ticket.

Metadata