IPAv3_Synchronization_Process
=============================

Overview
========

This document describes the process of synchronizing IPA entries to
Samba and vice versa.



Adding IPA Entry
================

When a new entry is added to IPA, the DN and the attributes will be
stored in the change log. The Change Log Monitor will detect the
operation and notify the Sync Agent. The Sync Agent will add the new
entry to Samba. Samba will generate a GUID for the new Samba entry.

The Sync Agent then will search the new Samba entry to get the GUID and
shared attributes generated by Samba. Then the Sync Agent will use the
IPA DN to store the shared attributes in the new IPA entry.
|Ipa3-adding-ipa-entry.png|



Modifying IPA Entry
===================

When an existing IPA entry is modified, the DN, the attributes, and the
GUID will be stored in the change log. The Change Log Monitor will
detect the operation and notify the Sync Agent. The Sync Agent will use
the GUID to search the DN of the corresponding Samba entry. Then the
Sync Agent will use the DN to modify Samba entry based on the attributes
specified in the change log record.

If there are some shared attributes that need to be synchronized back to
IPA, the Sync Agent will search the Samba entry again to get the shared
attributes, then store these attributes in the IPA entry.

.. figure:: Ipa3-modifying-ipa-entry.png
   :alt: Ipa3-modifying-ipa-entry.png

   Ipa3-modifying-ipa-entry.png



Deleting IPA Entry
==================

When an existing IPA entry is deleted, the DN and the GUID will be
stored in the change log. The Change Log Monitor will detect the
operation and notify the Sync Agent. The Sync Agent will use the GUID to
search the DN of the corresponding Samba entry. Then the Sync Agent will
use the DN to delete the Samba entry.

.. figure:: Ipa3-deleting-ipa-entry.png
   :alt: Ipa3-deleting-ipa-entry.png

   Ipa3-deleting-ipa-entry.png



Adding Samba Entry
==================

When a new entry is added to Samba, the Syncback Module will search the
entry to get the DN and the attributes, including the GUID, then notify
the Sync Agent. The Sync Agent will add the new entry to IPA.

The Sync Agent then will search the IPA entry to get the shared
attributes. Then the Sync Agent will store the shared attributes in the
new Samba entry.

.. figure:: Ipa3-adding-samba-entry.png
   :alt: Ipa3-adding-samba-entry.png

   Ipa3-adding-samba-entry.png



Modifying Samba Entry
=====================

When an existing Samba entry is modified, the Syncback Module will
search the entry to get the DN and the attributes, including the GUID,
then notify the Sync Agent. The Sync Agent will use the GUID to search
the DN of the corresponding IPA entry. The Sync Agent will use the DN to
update the IPA entry.

The Sync Agent then will search the IPA entry to get the shared
attributes. Then the Sync Agent will store the shared attributes in the
new Samba entry.

.. figure:: Ipa3-modifying-samba-entry.png
   :alt: Ipa3-modifying-samba-entry.png

   Ipa3-modifying-samba-entry.png



Deleting Samba Entry
====================

When an existing Samba entry is going to be deleted, the Syncback Module
will intercept the process and search the Samba entry to get the
attributes, including the GUID. After the entry has been deleted, the
Syncback Module will notify the Sync Agent. The Sync Agent will use the
GUID to search the DN of the corresponding IPA entry. Then the Sync
Agent will use the DN to delete the IPA entry.

.. figure:: Ipa3-deleting-samba-entry.png
   :alt: Ipa3-deleting-samba-entry.png

   Ipa3-deleting-samba-entry.png

`Category:Obsolete <Category:Obsolete>`__

.. |Ipa3-adding-ipa-entry.png| image:: Ipa3-adding-ipa-entry.png