New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PR - Issue 50545 - Add the new replication monitor functionality to UI #3788
Comments
Comment from mreynolds (@mreynolds389) at 2019-11-22 19:46:11 console crashes, if I just click on generate report and enter binds credentials.
If I add credential, it still crashes
Clicking on Add Alias also crashes browser:
Besides that I have some UX comments. I think the description paragraph is lacking details. I was not sure how to use it. Do I need to add "instance credentials" for each server I want to look at? It looks like if you don't have any defined it will look at the local agreements, but this is not described anywhere. You should say that you need to define all the replicas you want in the report, that you can pre-set the password or have it asked interactively. Explain what the alias table is, etc. Like I said I had no idea how to use it, so I just started pressing buttons, but if we are going have descriptive text then it should be comprehensive. I think you should call it Replica Credentials Table and not Instance Credentials. I think it would be useful to auto populate the table using the existing agreements, then they can be edited to add bind credentials. This will save an Admin a lot of time to setup and get a report. Add a column to the table stating if credentials are set for that replica. Also, while you're at it. I think we should default all replica bind DN's to "cn=replication manager,cn=config". We do it some places but not all, and I think we should do it everywhere. In your report modals, but also in agreement creation modal, and anywhere else we ask for it. Also what you did sort of obsoletes the "Lag Report" under the Replication Agreements tab. So maybe you can get rid of the Lag Report and its modals? |
Comment from mreynolds (@mreynolds389) at 2019-11-22 20:05:29 Also I think we should rename some of the tabs in replication monitor page. They are taking up a lot of horizontal space and it easily wraps on smaller monitors. Full Topology Report --> Replication Report/Sync Report? |
Comment from mreynolds (@mreynolds389) at 2019-11-25 16:56:05
Actually in your authentication modals, it should default to "cn=directory manager" not "cn=replicaiton manager,cn=config", so you can ignore this for now... |
Comment from mreynolds (@mreynolds389) at 2019-11-25 18:59:20 Here is the code fix to get the report working and aliases:
Next, a few issues I noticed [1] When generating the report there is a long lag between prompting for credentials, or just generating the report. A spinner should be used, or something, to show that the UI is doing something during then entire process [2] Generating a report, I get prompted for the local credentials, why? These credentials are already available [3] the report modal. The "Close Report' button should be a primary button not a default button [4] The modal report is cramped and narrow. What happens when you have 4 masters and 10 agreements? Is it just one long report? I think I created a "wide modal" css, I think you should use it, and it will make the report slightly more readable. I wonder we should have an entire page (not a modal) dedicated to the report? Maybe do a tabbed pane (one settings, the other for the report)? It's such a useful report, it would be a shame to not present it in the most readable/useful way. |
Comment from spichugi (@droideck) at 2019-11-26 08:12:54
For some reason, both issues are not present for me... I can add, edit and remove credentials without any crashes.
Missed that one! The report still displays an alias correctly even after the error. But it's fixed, thanks!
It has a
Sure, sounds good.
Good catch!
Yeah, I had the same thought. You can initialize the agreement from
Thanks! Very helpful!
Yeah, I even have the state for that but apparently it wasn't connected to any element. I'll add it.
It is how we process the instances. We check the agreement credentials and the protocol type and connect using this way.
It will look better, true!
I had the same feeling. I've tried to use 'wide' but it wasn't working properly (and in general I don't like to diverse far from PF4 CSS because it may create the issues in the future). |
Comment from spichugi (@droideck) at 2019-12-03 15:25:07 rebased onto 2b8d25abad60c1427835dd4900adc6449f7357ed |
Comment from spichugi (@droideck) at 2019-12-03 15:25:22 Fixed. Please, review. |
Comment from mreynolds (@mreynolds389) at 2019-12-05 19:24:46 This is a bug on my part from a previous patch, but you should add it: monitor.jsx line 1175
---> Must enableTree here in this case |
Comment from mreynolds (@mreynolds389) at 2019-12-05 19:37:33 In the replica/credential table can you change this text to use italics: Edit To Add a Bind DN Data There should be a table header to say what the "credential table" is. The Bind DN in the report modals do not appear to be auto filled with "cn=directory manager" There should be a success notification once the report is written, and it should state that you need to goto the report tab. Or better yet, move the UI to the report tab once the report is written. Finally on the report tab, the Refresh and Refresh timeout header is somewhat distracting. Maybe remove the bold or even shrink the font size. It just needs better separation from the report. It's kind of blending in, and taking away from the "report" IMHO |
Comment from mreynolds (@mreynolds389) at 2019-12-05 19:45:31
This code won't work. I think we need to call the replMonitor component with a null suffix, and in the component we check for the null suffix and just enable the tree, and return the "There are no suffixes that have been configured for replication" paragraph. Otherwise the entire monitor treeview is disabled after clicking the replication node (if there are no replicated suffixes). |
Comment from spichugi (@droideck) at 2019-12-06 15:18:08 rebased onto cbd42bf5fa5f05633f1e29751c63e390a349da82 |
Comment from spichugi (@droideck) at 2019-12-06 15:27:34
Fixed.
I did try to add it and I think it looks redundant.
Done.
I already have the feature.
Done. Also, I've fixed the issue you have reported. I've just added
to And there was one crash that is fixed now. When we load Replication Suffix data and we try to select Database Suffix tab - it crashes because
|
Comment from spichugi (@droideck) at 2019-12-06 15:33:03 3 new commits added
|
Comment from mreynolds (@mreynolds389) at 2019-12-06 21:10:10 It looks a lot better but the report seems off. I'm attaching a screenshot to the Issue (since I can't do it in the PR) |
Comment from spichugi (@droideck) at 2019-12-06 22:01:18
Could you please send me an email with your agreements and replica entries? For me, the report prints clearly because my hostnames are the same everywhere.. So I wonder how exactly reproduce what you have |
Comment from mreynolds (@mreynolds389) at 2019-12-06 22:06:31
Here is the config and agreement from the instance I am generating the report . The other replica does not have any agreements:
|
Comment from mreynolds (@mreynolds389) at 2019-12-06 22:08:57 For completeness this is replica entry from the other master (that has no agreements)
|
Comment from spichugi (@droideck) at 2019-12-07 01:03:32 1 new commit added
|
Comment from spichugi (@droideck) at 2019-12-07 01:04:18 Okay, I found the cause of the issues. Please, check. |
Comment from mreynolds (@mreynolds389) at 2019-12-07 18:10:50 Much better, but I have have some concerns. I updated the ticket with screen shots and comments. |
Comment from spichugi (@droideck) at 2019-12-11 00:25:07 1 new commit added
|
Comment from spichugi (@droideck) at 2019-12-11 00:27:52 More improvements! Please, check. |
Comment from mreynolds (@mreynolds389) at 2019-12-16 17:35:03 After clicking "generate report" the Auth Modal "Bind DN" field is disabled and I can not change it. |
Comment from mreynolds (@mreynolds389) at 2019-12-16 17:42:45 If I edit the connection in the Cred Table the new bind DN sticks, but it should be editable in the modal. I like how you have a switch to show the table, but I don't like the title "All-In-One". Maybe call it "Table View"? Minor issues: the "Refresh" label and checkbox are really far apart. They should be in the same Column, not in separate columns, same for the Timeout field and label - they should be connected/static. Besides that I think we are good to go! Thanks for listening to all my annoying suggestions. |
Comment from mreynolds (@mreynolds389) at 2019-12-16 18:09:43 One more thing :-) In the Report Table, the table itself is really wide. I think we can remove the "Is Enabled" column. For this report we should not be looking at disabled agreements anyway. That is all... |
Comment from spichugi (@droideck) at 2019-12-19 17:06:31 rebased onto 3b10d22a52db28aa121b53468c7bac93c8b489ad |
Comment from spichugi (@droideck) at 2019-12-19 17:08:30 Changes are made... |
Comment from mreynolds (@mreynolds389) at 2019-12-19 18:37:42 Now I am not prompted at all when generating the report, and it still uses "cn=directory manager" not my custom Root DN value (cn=dm). Then the browser crashes and dsconf did not report a useful error message:
Even if I edit the connection to use the correct bind DN the browser still crashes the same way. |
Comment from spichugi (@droideck) at 2019-12-19 23:35:18 1 new commit added
|
Comment from spichugi (@droideck) at 2019-12-20 01:35:09 7 new commits added
|
Comment from spichugi (@droideck) at 2020-01-10 17:02:42 rebased onto 4ec9e6744ee697a35191304569e627da4c6fecf8 |
Comment from spichugi (@droideck) at 2020-01-10 17:03:32 Fixed a small issue with clearing dynamic credentials at a failure. |
Comment from mreynolds (@mreynolds389) at 2020-01-10 19:29:22 When I goto the replication monitor and click generate report (without doing anything else ) I do NOT get prompted for a password (even though it says interactive prompt is set), and I get an error: Sync report has failed - Please, fill in all Credential details. It should be host:port:binddn:bindpw So for the connection to the remote replica it does not have a bind DN set. If I add a bind DN for the other connection then when I click on generate report it does propt for the password, but it should prompt when the bind DN is also not set. Ir better yet, if you don't know the remote bind DN then use the local bind DN. Typically people use the same Root DN for all their servers, so it's a good assumption to make After entering all the correct data, the report works, and I do not see any console crashes. However the header of the report, that has all the options, is still bulky. The font size should be reduced, and I think the table columns should be wider. Also the text "loading data" is word wrapped, no need for that. If you don't mind please consider applying this patch to your PR
|
Comment from spichugi (@droideck) at 2020-01-11 01:23:20 rebased onto aec00692c5d744de373253288661a1d4f3d96187 |
Comment from spichugi (@droideck) at 2020-01-11 01:27:30 Thanks! I like how it looks. I've just fixed one thing - when we set So I've initialise the Please, check. |
Comment from mreynolds (@mreynolds389) at 2020-01-13 15:21:44 Thanks Simon! I have one more patch to suggest. It sets the columns width for the refresh setting to the max, this prevents it from wrapping on smaller screens. I set the minimum refresh to 5 seconds, With lots of replicas and agreements, one second refresh would never complete anyway. So I set it to 5 seconds as the minimum.\ Then, especially in PF4 being "bigger", vertical space on the page is limited. So I changed the refresh spinner to replace the report body when loading. Let me know what you think. Feel free to tweak it anyway you want:
|
Comment from spichugi (@droideck) at 2020-01-13 17:01:59 I like all of the changes except this one:
I think it breaks the report usability a lot. Or what point of view on the |
Comment from mreynolds (@mreynolds389) at 2020-01-13 17:19:48 To be honest, i don't think continuous refresh is that useful for replication reports. It's just not that dynamic. If things are "off", it could take hours for them to get "fixed". I can't imagine someone wanting a refresh to be done every 5 or 10 seconds. Maybe it could just be a button, and refresh it when "you" want to? |
Comment from spichugi (@droideck) at 2020-01-13 19:28:00 1 new commit added
|
Comment from spichugi (@droideck) at 2020-01-13 19:29:49 Actually, yeah, sounds good! I think it makes sense. |
Comment from mreynolds (@mreynolds389) at 2020-01-13 19:36:34 Looks good! ACK! |
Comment from spichugi (@droideck) at 2020-01-13 19:49:41 rebased onto 3054205 |
Comment from spichugi (@droideck) at 2020-01-13 19:50:50 Thanks! |
Comment from spichugi (@droideck) at 2020-01-13 19:51:18 Pull-Request has been merged by droideck |
Patch |
Cloned from Pagure Pull-Request: https://pagure.io/389-ds-base/pull-request/50733
Description: As we ported repl-monitor.pl to dscon CLI
we should add the functionality to WebUI.
It is important to keep in mind that we shouldn't expose
user's password so the interactive option should be carried out.
Improve replication monitor CLI JSON output consistency.
Add Full Replication report functionality with ability of
continuous refresh.
Resolves: #3601
Reviewed by: ?
The text was updated successfully, but these errors were encountered: