#49602 Improve replication status messages
Opened a year ago by mreynolds. Modified 2 months ago

Issue Description

General RFE to improve our replication status error code messages. There are many different errors that can be reported in the replication agreement's update and init status':

nsds5replicaLastUpdateStatus
nsds5replicaLastInitStatus

FreeIPA still expects the init status to contain the following strings, so make sure we do not change this text:

"Total update succeeded"
"replica busy"


Metadata Update from @mreynolds:
- Issue assigned to mreynolds

2 months ago

Metadata Update from @mreynolds:
- Custom field origin adjusted to None
- Custom field reviewstatus adjusted to None
- Issue set to the milestone: 1.4.1 (was: 1.4.0)

2 months ago

Metadata Update from @mreynolds:
- Custom field rhbz adjusted to https://bugzilla.redhat.com/show_bug.cgi?id=1544973

2 months ago

IPA files that will impacted by new status messages:

  • freeipa/ipaserver/build/lib/ipaserver/install/replication.py
  • freeipa/ipaserver/install/replication.py
  • freeipa/ipatests/build/lib/ipatests/pytest_plugins/integration/tasks.py
  • freeipa/ipatests/build/lib/ipatests/pytest_ipa/integration/tasks.py:

Perhaps it would be good to actually write out what the replication state machine is, and then we can have the messages correlate and align to these to help people see what state it's in?

Perhaps it would be good to actually write out what the replication state machine is, and then we can have the messages correlate and align to these to help people see what state it's in?

What exactly do you mean by "state machine"? :-) Sorry it's not a term I've ever heard used in replication before. Now these status messages say what state the agreement is in, these messages just need better/clearer wording and to drop the text "Error" if there is no "error". Mainly, people still complain about "Error (0)" meaning success - they don't want to see "Error" at all if things are fine.

FYI this needs to be fixed and upstream in 5 days to meet a deadline ;-)

Maybe I'm misunderstanding :) I'll wait to see the patch ...

What exactly do you mean by "state machine"? :-) Sorry it's not a term I've ever heard used in replication before.

Well, the replication agreement is implemented as a state machine, it has several states like "waitforchanges", "sending_updates", "backoff", "fatal", ... you can see this in replication logging with lines "current state: xxxx" next state: yyyy".

But I don't think this is soemthing customers are familiar with and would maybe add confusion. For the current request a change from "Error" to "Warning" or "info" should be good

2c011ad..2510147 389-ds-base-1.4.0 -> 389-ds-base-1.4.0

@mreynolds, I'm looking at the design doc and it has an example:

replicaLastUpdateStatus: Success (0) Replica acquired successfully: Incremental update succeeded

But in the source I still see

                         "Error (0) Replica acquired successfully: %s", message);

So, are we changing the existing log messages or Success/Warning/Error will be only available in *JSON attributes?

@mreynolds, I'm looking at the design doc and it has an example:
replicaLastUpdateStatus: Success (0) Replica acquired successfully: Incremental update succeeded

But in the source I still see
"Error (0) Replica acquired successfully: %s", message);

So, are we changing the existing log messages or Success/Warning/Error will be only available in *JSON attributes?

Sorry I need to update the design doc. Basically we are stuck with the old status messages in the original attribute as it would break IPA (and IPA upgrades) if we changed them. So for now the new format is strictly in the JSON attribute. Eventually IPA will switch to the new format and we can convert the old attribute. But due to IPA upgrade scenarios it's going to be a long time until that gets rolled out.

Ok, thank you for the clarification!

Login to comment on this ticket.

Metadata