In-service upgrade

Hello Folks,
I am trying to implement confd “In-Service” upgrade as per chapter-13 in user-guide book.
I am doing this as per the book by keeping 2 different package versions, and the new package version will have the hardlinks of all the previous .fxs/.dsdl/*.yang files.

As per the logs, ‘maapi_init_upgrade’ and ‘maapi_perform_upgrade’ goes through successfully, but ‘maapi_commit_upgrade’ finishes with error,

“external error - application communication failure”

Not sure what the application is supposed to do !

Any idea what could have gone wrong ?

Thanks in advance.

It appears that ietf-inet-types.fxs may not be present on the loadpath of the runtime environment for the confd daemon.

You can use the --addloadpath option of confd to specify the location of the ietf-inet-types.fxs. In a standard ConfD installation, you will find ietf-inet-types.fxs under $CONFD_DIR/etc/confd.

Or more likely, the location of ietf-inet-types.fxs is missing from the loadpathdirs array argument of your maapi_perform_upgrade( ) API call.

Thanks Wai.
I had updated my issue shortly after posting it. The issue is now in ‘maapi_commit_upgrade’ because of some “application communication failure”.
In the confd logs, it says my ‘daemon’/operational data provider timed out.

The issue is resolved .It was due to upgrade running on the same thread as for subscriber and data provider. This blocked confd from calling any callbacks to the application.
This was somewhat not clear from the documentation. It would be great if someone could review it and update it if required.