You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cloudstack.apache.org by Alex Ough <al...@sungard.com> on 2014/05/04 23:19:05 UTC

Re: Review Request 17790: Domain-Account-User Sync Up Among Multiple Regions (New Plugin)

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17790/
-----------------------------------------------------------

(Updated May 4, 2014, 9:18 p.m.)


Review request for cloudstack.


Repository: cloudstack-git


Description
-------

Currently, under the environment of cloudstack with multiple regions, each region has its own management server running with a separate database, which will cause data discrepancies when users create/update/delete domain/account/user data independently in each management server. So to support multiple regions and provide one point of entry for each customer, this implementation duplicates domain/account/user information of customers in one region to all of the regions independently whenever there is any change.

https://issues.apache.org/jira/browse/CLOUDSTACK-4992
https://cwiki.apache.org/confluence/display/CLOUDSTACK/Domain-Account-User+Sync+Up+Among+Multiple+Regions


Diffs (updated)
-----

  api/src/org/apache/cloudstack/api/command/admin/account/ListSyncAccountsCmdByAdmin.java PRE-CREATION 
  api/src/org/apache/cloudstack/api/command/admin/domain/ListSyncDomainChildrenCmd.java PRE-CREATION 
  api/src/org/apache/cloudstack/api/command/admin/domain/ListSyncDomainsCmd.java PRE-CREATION 
  api/src/org/apache/cloudstack/api/command/admin/user/ListSyncUsersCmd.java PRE-CREATION 
  api/src/org/apache/cloudstack/api/command/user/account/ListSyncAccountsCmd.java PRE-CREATION 
  api/src/org/apache/cloudstack/api/response/SyncAccountResponse.java PRE-CREATION 
  api/src/org/apache/cloudstack/api/response/SyncDomainResponse.java PRE-CREATION 
  api/src/org/apache/cloudstack/api/response/SyncUserResponse.java PRE-CREATION 
  engine/schema/src/org/apache/cloudstack/multiregion/RmapVO.java PRE-CREATION 
  engine/schema/src/org/apache/cloudstack/multiregion/RsyncVO.java PRE-CREATION 
  engine/schema/src/org/apache/cloudstack/multiregion/dao/RmapDao.java PRE-CREATION 
  engine/schema/src/org/apache/cloudstack/multiregion/dao/RmapDaoImpl.java PRE-CREATION 
  engine/schema/src/org/apache/cloudstack/multiregion/dao/RsyncDao.java PRE-CREATION 
  engine/schema/src/org/apache/cloudstack/multiregion/dao/RsyncDaoImpl.java PRE-CREATION 
  plugins/event-bus/multiregion/pom.xml PRE-CREATION 
  plugins/event-bus/multiregion/resources/META-INF/cloudstack/spring-mom-multiregion-daos-context.xml PRE-CREATION 
  plugins/event-bus/multiregion/resources/META-INF/cloudstack/system/spring-plugin-multiregion-system-context.xml PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/FullSyncer.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/InjectedCollection.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/MultiRegionEventBus.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/StringManipulator.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/AccountCaller.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/BaseCaller.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/DomainCaller.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/UserCaller.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/exception/APIFailureException.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/AccountFullSyncProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/AccountService.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/BaseService.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/DomainFullSyncProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/DomainService.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/FullScanner.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/FullSyncProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalAccountManager.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalDomainManager.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalUserManager.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteAccountEventProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteDomainEventProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteEventProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteUserEventProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/UserFullSyncProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/UserService.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGenerator.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorEvent.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAutoGenerator.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGenerator.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorEvent.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorLocalGenerator.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGenerator.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorEvent.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/AccountSubscriber.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/DomainSubscriber.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/MultiRegionSubscriber.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/UserSubscriber.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/AccountCallerTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/BaseCallerTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/DomainCallerTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/UserCallerTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/AccountFullSyncProcessorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/BaseServiceTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/DomainFullSyncProcessorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteAccountEventProcessorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteDomainEventProcessorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteUserEventProcessorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/UserFullSyncProcessorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorEventTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorEventTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorLocalGeneratorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorEventTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/AccountSubscriberTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/DomainSubscriberTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/MultiRegionSubscriberTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/UserSubscriberTest.java PRE-CREATION 
  server/src/com/cloud/api/query/dao/SyncAccountJoinDao.java PRE-CREATION 
  server/src/com/cloud/api/query/dao/SyncAccountJoinDaoImpl.java PRE-CREATION 
  server/src/com/cloud/api/query/dao/SyncUserAccountJoinDao.java PRE-CREATION 
  server/src/com/cloud/api/query/dao/SyncUserAccountJoinDaoImpl.java PRE-CREATION 
  server/src/com/cloud/multiregion/RsyncManager.java PRE-CREATION 
  server/src/com/cloud/multiregion/RsyncManagerImpl.java PRE-CREATION 

Diff: https://reviews.apache.org/r/17790/diff/


Testing
-------

1. Successfully tested real time synchronization as soon as resources are created/deleted/modified in one region.
2. Successfully tested full scans to synchronize resources that were missed during real time synchronization because of any reasons like network connection issues.
3. The tests were done manually and also automatically by randomly generating changes each region.


Thanks,

Alex Ough


Re: Review Request 17790: Domain-Account-User Sync Up Among Multiple Regions (New Plugin)

Posted by Alex Ough <al...@sungard.com>.

> On May 5, 2014, 6:28 p.m., Alena Prokharchyk wrote:
> > Alex,
> > 
> > Move all new API commands/responses you've added (ListSyncAccountsCmdByAdmin.java, SyncAccountResponse.java), to your plugin's "multiregion" folder. Look how its done for other CS plugins - internallb for example

I checked the 'internallb' and it looks like the cmd class files are under "api/src/org/apache/cloudstack/api/command/admin/internallb", where all the command classes are located. Please let me know if I'm missing any.


- Alex


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17790/#review42177
-----------------------------------------------------------


On May 4, 2014, 9:18 p.m., Alex Ough wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/17790/
> -----------------------------------------------------------
> 
> (Updated May 4, 2014, 9:18 p.m.)
> 
> 
> Review request for cloudstack.
> 
> 
> Repository: cloudstack-git
> 
> 
> Description
> -------
> 
> Currently, under the environment of cloudstack with multiple regions, each region has its own management server running with a separate database, which will cause data discrepancies when users create/update/delete domain/account/user data independently in each management server. So to support multiple regions and provide one point of entry for each customer, this implementation duplicates domain/account/user information of customers in one region to all of the regions independently whenever there is any change.
> 
> https://issues.apache.org/jira/browse/CLOUDSTACK-4992
> https://cwiki.apache.org/confluence/display/CLOUDSTACK/Domain-Account-User+Sync+Up+Among+Multiple+Regions
> 
> 
> Diffs
> -----
> 
>   api/src/org/apache/cloudstack/api/command/admin/account/ListSyncAccountsCmdByAdmin.java PRE-CREATION 
>   api/src/org/apache/cloudstack/api/command/admin/domain/ListSyncDomainChildrenCmd.java PRE-CREATION 
>   api/src/org/apache/cloudstack/api/command/admin/domain/ListSyncDomainsCmd.java PRE-CREATION 
>   api/src/org/apache/cloudstack/api/command/admin/user/ListSyncUsersCmd.java PRE-CREATION 
>   api/src/org/apache/cloudstack/api/command/user/account/ListSyncAccountsCmd.java PRE-CREATION 
>   api/src/org/apache/cloudstack/api/response/SyncAccountResponse.java PRE-CREATION 
>   api/src/org/apache/cloudstack/api/response/SyncDomainResponse.java PRE-CREATION 
>   api/src/org/apache/cloudstack/api/response/SyncUserResponse.java PRE-CREATION 
>   engine/schema/src/org/apache/cloudstack/multiregion/RmapVO.java PRE-CREATION 
>   engine/schema/src/org/apache/cloudstack/multiregion/RsyncVO.java PRE-CREATION 
>   engine/schema/src/org/apache/cloudstack/multiregion/dao/RmapDao.java PRE-CREATION 
>   engine/schema/src/org/apache/cloudstack/multiregion/dao/RmapDaoImpl.java PRE-CREATION 
>   engine/schema/src/org/apache/cloudstack/multiregion/dao/RsyncDao.java PRE-CREATION 
>   engine/schema/src/org/apache/cloudstack/multiregion/dao/RsyncDaoImpl.java PRE-CREATION 
>   plugins/event-bus/multiregion/pom.xml PRE-CREATION 
>   plugins/event-bus/multiregion/resources/META-INF/cloudstack/spring-mom-multiregion-daos-context.xml PRE-CREATION 
>   plugins/event-bus/multiregion/resources/META-INF/cloudstack/system/spring-plugin-multiregion-system-context.xml PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/FullSyncer.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/InjectedCollection.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/MultiRegionEventBus.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/StringManipulator.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/AccountCaller.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/BaseCaller.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/DomainCaller.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/UserCaller.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/exception/APIFailureException.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/AccountFullSyncProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/AccountService.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/BaseService.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/DomainFullSyncProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/DomainService.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/FullScanner.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/FullSyncProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalAccountManager.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalDomainManager.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalUserManager.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteAccountEventProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteDomainEventProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteEventProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteUserEventProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/UserFullSyncProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/UserService.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGenerator.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorEvent.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAutoGenerator.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGenerator.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorEvent.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorLocalGenerator.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGenerator.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorEvent.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/AccountSubscriber.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/DomainSubscriber.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/MultiRegionSubscriber.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/UserSubscriber.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/AccountCallerTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/BaseCallerTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/DomainCallerTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/UserCallerTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/AccountFullSyncProcessorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/BaseServiceTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/DomainFullSyncProcessorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteAccountEventProcessorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteDomainEventProcessorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteUserEventProcessorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/UserFullSyncProcessorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorEventTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorEventTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorLocalGeneratorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorEventTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/AccountSubscriberTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/DomainSubscriberTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/MultiRegionSubscriberTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/UserSubscriberTest.java PRE-CREATION 
>   server/src/com/cloud/api/query/dao/SyncAccountJoinDao.java PRE-CREATION 
>   server/src/com/cloud/api/query/dao/SyncAccountJoinDaoImpl.java PRE-CREATION 
>   server/src/com/cloud/api/query/dao/SyncUserAccountJoinDao.java PRE-CREATION 
>   server/src/com/cloud/api/query/dao/SyncUserAccountJoinDaoImpl.java PRE-CREATION 
>   server/src/com/cloud/multiregion/RsyncManager.java PRE-CREATION 
>   server/src/com/cloud/multiregion/RsyncManagerImpl.java PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/17790/diff/
> 
> 
> Testing
> -------
> 
> 1. Successfully tested real time synchronization as soon as resources are created/deleted/modified in one region.
> 2. Successfully tested full scans to synchronize resources that were missed during real time synchronization because of any reasons like network connection issues.
> 3. The tests were done manually and also automatically by randomly generating changes each region.
> 
> 
> Thanks,
> 
> Alex Ough
> 
>


Re: Review Request 17790: Domain-Account-User Sync Up Among Multiple Regions (New Plugin)

Posted by Alena Prokharchyk <al...@citrix.com>.

> On May 5, 2014, 6:28 p.m., Alena Prokharchyk wrote:
> > Alex,
> > 
> > Move all new API commands/responses you've added (ListSyncAccountsCmdByAdmin.java, SyncAccountResponse.java), to your plugin's "multiregion" folder. Look how its done for other CS plugins - internallb for example
> 
> Alex Ough wrote:
>     I checked the 'internallb' and it looks like the cmd class files are under "api/src/org/apache/cloudstack/api/command/admin/internallb", where all the command classes are located. Please let me know if I'm missing any.

Sorry, internallb plugin doesn't quite follow the CS packaging convention; we will have to change it eventually. Refer to cloud-plugin-network-vns instead. Under the plugin folder, there is an "api" folder. The folder contains 2 subfolders - commands (where Cmd classes are kept) and response (for API responses). Thats the right way to ship API commands/responses when they are a part of the plugin. 

Alex, you can also refer to this doc for more details if needed https://cwiki.apache.org/confluence/display/CLOUDSTACK/CloudStack+API+Coding+Guidelines. It explains CS coding guidelines when it comes to API development/placement.


- Alena


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17790/#review42177
-----------------------------------------------------------


On May 4, 2014, 9:18 p.m., Alex Ough wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/17790/
> -----------------------------------------------------------
> 
> (Updated May 4, 2014, 9:18 p.m.)
> 
> 
> Review request for cloudstack.
> 
> 
> Repository: cloudstack-git
> 
> 
> Description
> -------
> 
> Currently, under the environment of cloudstack with multiple regions, each region has its own management server running with a separate database, which will cause data discrepancies when users create/update/delete domain/account/user data independently in each management server. So to support multiple regions and provide one point of entry for each customer, this implementation duplicates domain/account/user information of customers in one region to all of the regions independently whenever there is any change.
> 
> https://issues.apache.org/jira/browse/CLOUDSTACK-4992
> https://cwiki.apache.org/confluence/display/CLOUDSTACK/Domain-Account-User+Sync+Up+Among+Multiple+Regions
> 
> 
> Diffs
> -----
> 
>   api/src/org/apache/cloudstack/api/command/admin/account/ListSyncAccountsCmdByAdmin.java PRE-CREATION 
>   api/src/org/apache/cloudstack/api/command/admin/domain/ListSyncDomainChildrenCmd.java PRE-CREATION 
>   api/src/org/apache/cloudstack/api/command/admin/domain/ListSyncDomainsCmd.java PRE-CREATION 
>   api/src/org/apache/cloudstack/api/command/admin/user/ListSyncUsersCmd.java PRE-CREATION 
>   api/src/org/apache/cloudstack/api/command/user/account/ListSyncAccountsCmd.java PRE-CREATION 
>   api/src/org/apache/cloudstack/api/response/SyncAccountResponse.java PRE-CREATION 
>   api/src/org/apache/cloudstack/api/response/SyncDomainResponse.java PRE-CREATION 
>   api/src/org/apache/cloudstack/api/response/SyncUserResponse.java PRE-CREATION 
>   engine/schema/src/org/apache/cloudstack/multiregion/RmapVO.java PRE-CREATION 
>   engine/schema/src/org/apache/cloudstack/multiregion/RsyncVO.java PRE-CREATION 
>   engine/schema/src/org/apache/cloudstack/multiregion/dao/RmapDao.java PRE-CREATION 
>   engine/schema/src/org/apache/cloudstack/multiregion/dao/RmapDaoImpl.java PRE-CREATION 
>   engine/schema/src/org/apache/cloudstack/multiregion/dao/RsyncDao.java PRE-CREATION 
>   engine/schema/src/org/apache/cloudstack/multiregion/dao/RsyncDaoImpl.java PRE-CREATION 
>   plugins/event-bus/multiregion/pom.xml PRE-CREATION 
>   plugins/event-bus/multiregion/resources/META-INF/cloudstack/spring-mom-multiregion-daos-context.xml PRE-CREATION 
>   plugins/event-bus/multiregion/resources/META-INF/cloudstack/system/spring-plugin-multiregion-system-context.xml PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/FullSyncer.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/InjectedCollection.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/MultiRegionEventBus.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/StringManipulator.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/AccountCaller.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/BaseCaller.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/DomainCaller.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/UserCaller.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/exception/APIFailureException.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/AccountFullSyncProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/AccountService.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/BaseService.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/DomainFullSyncProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/DomainService.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/FullScanner.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/FullSyncProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalAccountManager.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalDomainManager.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalUserManager.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteAccountEventProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteDomainEventProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteEventProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteUserEventProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/UserFullSyncProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/UserService.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGenerator.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorEvent.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAutoGenerator.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGenerator.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorEvent.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorLocalGenerator.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGenerator.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorEvent.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/AccountSubscriber.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/DomainSubscriber.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/MultiRegionSubscriber.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/UserSubscriber.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/AccountCallerTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/BaseCallerTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/DomainCallerTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/UserCallerTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/AccountFullSyncProcessorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/BaseServiceTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/DomainFullSyncProcessorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteAccountEventProcessorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteDomainEventProcessorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteUserEventProcessorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/UserFullSyncProcessorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorEventTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorEventTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorLocalGeneratorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorEventTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/AccountSubscriberTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/DomainSubscriberTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/MultiRegionSubscriberTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/UserSubscriberTest.java PRE-CREATION 
>   server/src/com/cloud/api/query/dao/SyncAccountJoinDao.java PRE-CREATION 
>   server/src/com/cloud/api/query/dao/SyncAccountJoinDaoImpl.java PRE-CREATION 
>   server/src/com/cloud/api/query/dao/SyncUserAccountJoinDao.java PRE-CREATION 
>   server/src/com/cloud/api/query/dao/SyncUserAccountJoinDaoImpl.java PRE-CREATION 
>   server/src/com/cloud/multiregion/RsyncManager.java PRE-CREATION 
>   server/src/com/cloud/multiregion/RsyncManagerImpl.java PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/17790/diff/
> 
> 
> Testing
> -------
> 
> 1. Successfully tested real time synchronization as soon as resources are created/deleted/modified in one region.
> 2. Successfully tested full scans to synchronize resources that were missed during real time synchronization because of any reasons like network connection issues.
> 3. The tests were done manually and also automatically by randomly generating changes each region.
> 
> 
> Thanks,
> 
> Alex Ough
> 
>


Re: Review Request 17790: Domain-Account-User Sync Up Among Multiple Regions (New Plugin)

Posted by Alena Prokharchyk <al...@citrix.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17790/#review42177
-----------------------------------------------------------


Alex,

Move all new API commands/responses you've added (ListSyncAccountsCmdByAdmin.java, SyncAccountResponse.java), to your plugin's "multiregion" folder. Look how its done for other CS plugins - internallb for example

- Alena Prokharchyk


On May 4, 2014, 9:18 p.m., Alex Ough wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/17790/
> -----------------------------------------------------------
> 
> (Updated May 4, 2014, 9:18 p.m.)
> 
> 
> Review request for cloudstack.
> 
> 
> Repository: cloudstack-git
> 
> 
> Description
> -------
> 
> Currently, under the environment of cloudstack with multiple regions, each region has its own management server running with a separate database, which will cause data discrepancies when users create/update/delete domain/account/user data independently in each management server. So to support multiple regions and provide one point of entry for each customer, this implementation duplicates domain/account/user information of customers in one region to all of the regions independently whenever there is any change.
> 
> https://issues.apache.org/jira/browse/CLOUDSTACK-4992
> https://cwiki.apache.org/confluence/display/CLOUDSTACK/Domain-Account-User+Sync+Up+Among+Multiple+Regions
> 
> 
> Diffs
> -----
> 
>   api/src/org/apache/cloudstack/api/command/admin/account/ListSyncAccountsCmdByAdmin.java PRE-CREATION 
>   api/src/org/apache/cloudstack/api/command/admin/domain/ListSyncDomainChildrenCmd.java PRE-CREATION 
>   api/src/org/apache/cloudstack/api/command/admin/domain/ListSyncDomainsCmd.java PRE-CREATION 
>   api/src/org/apache/cloudstack/api/command/admin/user/ListSyncUsersCmd.java PRE-CREATION 
>   api/src/org/apache/cloudstack/api/command/user/account/ListSyncAccountsCmd.java PRE-CREATION 
>   api/src/org/apache/cloudstack/api/response/SyncAccountResponse.java PRE-CREATION 
>   api/src/org/apache/cloudstack/api/response/SyncDomainResponse.java PRE-CREATION 
>   api/src/org/apache/cloudstack/api/response/SyncUserResponse.java PRE-CREATION 
>   engine/schema/src/org/apache/cloudstack/multiregion/RmapVO.java PRE-CREATION 
>   engine/schema/src/org/apache/cloudstack/multiregion/RsyncVO.java PRE-CREATION 
>   engine/schema/src/org/apache/cloudstack/multiregion/dao/RmapDao.java PRE-CREATION 
>   engine/schema/src/org/apache/cloudstack/multiregion/dao/RmapDaoImpl.java PRE-CREATION 
>   engine/schema/src/org/apache/cloudstack/multiregion/dao/RsyncDao.java PRE-CREATION 
>   engine/schema/src/org/apache/cloudstack/multiregion/dao/RsyncDaoImpl.java PRE-CREATION 
>   plugins/event-bus/multiregion/pom.xml PRE-CREATION 
>   plugins/event-bus/multiregion/resources/META-INF/cloudstack/spring-mom-multiregion-daos-context.xml PRE-CREATION 
>   plugins/event-bus/multiregion/resources/META-INF/cloudstack/system/spring-plugin-multiregion-system-context.xml PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/FullSyncer.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/InjectedCollection.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/MultiRegionEventBus.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/StringManipulator.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/AccountCaller.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/BaseCaller.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/DomainCaller.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/UserCaller.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/exception/APIFailureException.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/AccountFullSyncProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/AccountService.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/BaseService.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/DomainFullSyncProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/DomainService.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/FullScanner.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/FullSyncProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalAccountManager.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalDomainManager.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalUserManager.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteAccountEventProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteDomainEventProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteEventProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteUserEventProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/UserFullSyncProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/UserService.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGenerator.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorEvent.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAutoGenerator.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGenerator.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorEvent.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorLocalGenerator.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGenerator.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorEvent.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/AccountSubscriber.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/DomainSubscriber.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/MultiRegionSubscriber.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/UserSubscriber.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/AccountCallerTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/BaseCallerTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/DomainCallerTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/UserCallerTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/AccountFullSyncProcessorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/BaseServiceTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/DomainFullSyncProcessorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteAccountEventProcessorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteDomainEventProcessorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteUserEventProcessorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/UserFullSyncProcessorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorEventTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorEventTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorLocalGeneratorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorEventTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/AccountSubscriberTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/DomainSubscriberTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/MultiRegionSubscriberTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/UserSubscriberTest.java PRE-CREATION 
>   server/src/com/cloud/api/query/dao/SyncAccountJoinDao.java PRE-CREATION 
>   server/src/com/cloud/api/query/dao/SyncAccountJoinDaoImpl.java PRE-CREATION 
>   server/src/com/cloud/api/query/dao/SyncUserAccountJoinDao.java PRE-CREATION 
>   server/src/com/cloud/api/query/dao/SyncUserAccountJoinDaoImpl.java PRE-CREATION 
>   server/src/com/cloud/multiregion/RsyncManager.java PRE-CREATION 
>   server/src/com/cloud/multiregion/RsyncManagerImpl.java PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/17790/diff/
> 
> 
> Testing
> -------
> 
> 1. Successfully tested real time synchronization as soon as resources are created/deleted/modified in one region.
> 2. Successfully tested full scans to synchronize resources that were missed during real time synchronization because of any reasons like network connection issues.
> 3. The tests were done manually and also automatically by randomly generating changes each region.
> 
> 
> Thanks,
> 
> Alex Ough
> 
>


Re: Review Request 17790: Domain-Account-User Sync Up Among Multiple Regions (New Plugin)

Posted by Alena Prokharchyk <al...@citrix.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17790/#review42512
-----------------------------------------------------------


Looks good to me, Alex. Lets wait for the resolution on https://reviews.apache.org/r/20099/, and then I will check in both patches.

- Alena Prokharchyk


On May 7, 2014, 10:46 p.m., Alex Ough wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/17790/
> -----------------------------------------------------------
> 
> (Updated May 7, 2014, 10:46 p.m.)
> 
> 
> Review request for cloudstack.
> 
> 
> Repository: cloudstack-git
> 
> 
> Description
> -------
> 
> Currently, under the environment of cloudstack with multiple regions, each region has its own management server running with a separate database, which will cause data discrepancies when users create/update/delete domain/account/user data independently in each management server. So to support multiple regions and provide one point of entry for each customer, this implementation duplicates domain/account/user information of customers in one region to all of the regions independently whenever there is any change.
> 
> https://issues.apache.org/jira/browse/CLOUDSTACK-4992
> https://cwiki.apache.org/confluence/display/CLOUDSTACK/Domain-Account-User+Sync+Up+Among+Multiple+Regions
> 
> 
> Diffs
> -----
> 
>   engine/schema/src/org/apache/cloudstack/multiregion/RmapVO.java PRE-CREATION 
>   engine/schema/src/org/apache/cloudstack/multiregion/RsyncVO.java PRE-CREATION 
>   engine/schema/src/org/apache/cloudstack/multiregion/dao/RmapDao.java PRE-CREATION 
>   engine/schema/src/org/apache/cloudstack/multiregion/dao/RmapDaoImpl.java PRE-CREATION 
>   engine/schema/src/org/apache/cloudstack/multiregion/dao/RsyncDao.java PRE-CREATION 
>   engine/schema/src/org/apache/cloudstack/multiregion/dao/RsyncDaoImpl.java PRE-CREATION 
>   plugins/event-bus/multiregion/pom.xml PRE-CREATION 
>   plugins/event-bus/multiregion/resources/META-INF/cloudstack/spring-plugin-multiregion-system-context.xml PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/FullSyncer.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/InjectedCollection.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/MultiRegionEventBus.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/StringManipulator.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/AccountCaller.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/BaseCaller.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/DomainCaller.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/UserCaller.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncAccountsCmd.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncAccountsCmdByAdmin.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncDomainChildrenCmd.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncDomainsCmd.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncUsersCmd.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncAccountJoinDao.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncAccountJoinDaoImpl.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncUserAccountJoinDao.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncUserAccountJoinDaoImpl.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/ApiSyncResponseHelper.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncAccountResponse.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncDomainResponse.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncQueryManagerImpl.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncQueryService.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncUserResponse.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/exception/APIFailureException.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/AccountFullSyncProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/AccountService.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/BaseService.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/DomainFullSyncProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/DomainService.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/FullScanner.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/FullSyncProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalAccountManager.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalDomainManager.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalUserManager.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteAccountEventProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteDomainEventProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteEventProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteUserEventProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/UserFullSyncProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/UserService.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGenerator.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorEvent.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAutoGenerator.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGenerator.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorEvent.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorLocalGenerator.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGenerator.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorEvent.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/AccountSubscriber.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/DomainSubscriber.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/MultiRegionSubscriber.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/UserSubscriber.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/AccountCallerTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/BaseCallerTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/DomainCallerTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/UserCallerTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/AccountFullSyncProcessorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/BaseServiceTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/DomainFullSyncProcessorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteAccountEventProcessorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteDomainEventProcessorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteUserEventProcessorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/UserFullSyncProcessorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorEventTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorEventTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorLocalGeneratorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorEventTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/AccountSubscriberTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/DomainSubscriberTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/MultiRegionSubscriberTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/UserSubscriberTest.java PRE-CREATION 
>   server/src/com/cloud/multiregion/RsyncManager.java PRE-CREATION 
>   server/src/com/cloud/multiregion/RsyncManagerImpl.java PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/17790/diff/
> 
> 
> Testing
> -------
> 
> 1. Successfully tested real time synchronization as soon as resources are created/deleted/modified in one region.
> 2. Successfully tested full scans to synchronize resources that were missed during real time synchronization because of any reasons like network connection issues.
> 3. The tests were done manually and also automatically by randomly generating changes each region.
> 
> 
> Thanks,
> 
> Alex Ough
> 
>


Re: Review Request 17790: Domain-Account-User Sync Up Among Multiple Regions (New Plugin)

Posted by John Burwell <jb...@basho.com>.
Alena and Rohit,

I am only phone ATM, and can't easily locate the thread, but I am strong -1 on that patch in its current form due to the highly likelihood data corruption when network partitions occur.

Thanks,
-John

> On Dec 5, 2014, at 5:25 PM, Alena Prokharchyk <Al...@citrix.com> wrote:
> 
> The discussion wasn’t published on the review board, so yes, please search in the mailing list for the subject "Review Request 20099”
> 
> Let me know if you need more details.
> 
> -Alena.
> 
> From: Rohit Yadav <bh...@apache.org>
> Reply-To: "dev@cloudstack.apache.org" <de...@cloudstack.apache.org>
> Date: Friday, December 5, 2014 at 2:15 PM
> To: Alena Prokharchyk <al...@citrix.com>
> Cc: "dev@cloudstack.apache.org" <de...@cloudstack.apache.org>, Alex Ough <al...@sungard.com>, John Burwell <jb...@basho.com>
> Subject: Re: Review Request 17790: Domain-Account-User Sync Up Among Multiple Regions (New Plugin)
> 
> On Sat, Dec 6, 2014 at 3:39 AM, Alena Prokharchyk <
> Alena.Prokharchyk@citrix.com> wrote:
> 
>   Rohit, please refer to the thread with "Review Request 20099" subject
> and concerns raised by John Burwell.
> 
>   -Alena.
> 
> 
> Thanks for replying Alena, I was just going through pending reviews and was
> trying to close those which are invalid or already merged.
> 
> I could not find John's reply on https://reviews.apache.org/r/20099/
> review, perhaps it was on the ML I'll search markmail for that later, right
> now I simply need help from everyone to do some maintenance work on our
> JIRA, ReviewBoard and Github PR and cleanup/close invalid or old
> issues/reviews/pull-requests that don't apply anymore or are already fixed.
> 
> Regards.
> 
> 
> 
> 
>    From: Rohit Yadav <bh...@apache.org>
> Reply-To: "dev@cloudstack.apache.org" <de...@cloudstack.apache.org>, Rohit
> Yadav <bh...@apache.org>
> Date: Friday, December 5, 2014 at 10:41 AM
> To: cloudstack <de...@cloudstack.apache.org>, Alex Ough <
> alex.ough@sungard.com>, Rohit Yadav <bh...@apache.org>
> Subject: Re: Review Request 17790: Domain-Account-User Sync Up Among
> Multiple Regions (New Plugin)
> 
> 
>   -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/17790/#review64047
> -----------------------------------------------------------
> 
> 
>   ping. any update on this?
> 
>   - Rohit Yadav
> 
> 
>   On June 27, 2014, 5:04 p.m., Alex Ough wrote:
> 
>   -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/17790/
> -----------------------------------------------------------
>   (Updated June 27, 2014, 5:04 p.m.)
>   Review request for cloudstack.
>   Repository: cloudstack-git
>   Description
> -------
>   Currently, under the environment of cloudstack with multiple regions,
> each region has its own management server running with a separate database,
> which will cause data discrepancies when users create/update/delete
> domain/account/user data independently in each management server. So to
> support multiple regions and provide one point of entry for each customer,
> this implementation duplicates domain/account/user information of customers
> in one region to all of the regions independently whenever there is any
> change.
>   https://issues.apache.org/jira/browse/CLOUDSTACK-4992
> 
> https://cwiki.apache.org/confluence/display/CLOUDSTACK/Domain-Account-User+Sync+Up+Among+Multiple+Regions
>   Diffs
> -----
>      engine/schema/src/org/apache/cloudstack/multiregion/RmapVO.java
> PRE-CREATION
>     engine/schema/src/org/apache/cloudstack/multiregion/RsyncVO.java
> PRE-CREATION
>     engine/schema/src/org/apache/cloudstack/multiregion/dao/RmapDao.java
> PRE-CREATION
> 
> engine/schema/src/org/apache/cloudstack/multiregion/dao/RmapDaoImpl.java
> PRE-CREATION
>     engine/schema/src/org/apache/cloudstack/multiregion/dao/RsyncDao.java
> PRE-CREATION
> 
> engine/schema/src/org/apache/cloudstack/multiregion/dao/RsyncDaoImpl.java
> PRE-CREATION
>     plugins/event-bus/multiregion/pom.xml PRE-CREATION
> 
> plugins/event-bus/multiregion/resources/META-INF/cloudstack/core/spring-plugin-multiregion-system-context.xml
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/FullSyncer.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/InjectedCollection.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/MultiRegionEventBus.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/StringManipulator.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/AccountCaller.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/BaseCaller.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/DomainCaller.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/UserCaller.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncAccountsCmd.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncAccountsCmdByAdmin.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncDomainChildrenCmd.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncDomainsCmd.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncUsersCmd.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncAccountJoinDao.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncAccountJoinDaoImpl.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncUserAccountJoinDao.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncUserAccountJoinDaoImpl.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/ApiSyncResponseHelper.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncAccountResponse.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncDomainResponse.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncQueryManagerImpl.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncQueryService.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncUserResponse.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/event/SyncActionEventInterceptor.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/event/SyncActionEventUtils.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/exception/APIFailureException.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/AccountFullSyncProcessor.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/AccountService.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/BaseService.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/DomainFullSyncProcessor.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/DomainService.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/FullScanner.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/FullSyncProcessor.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalAccountManager.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalDomainManager.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalManager.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalUserManager.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteAccountEventProcessor.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteDomainEventProcessor.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteEventProcessor.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteUserEventProcessor.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/UserFullSyncProcessor.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/UserService.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGenerator.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorEvent.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAutoGenerator.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGenerator.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorEvent.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorLocalGenerator.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGenerator.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorEvent.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/AccountSubscriber.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/DomainSubscriber.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/MultiRegionSubscriber.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/UserSubscriber.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/AccountCallerTest.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/BaseCallerTest.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/DomainCallerTest.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/UserCallerTest.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/AccountFullSyncProcessorTest.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/BaseServiceTest.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/DomainFullSyncProcessorTest.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteAccountEventProcessorTest.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteDomainEventProcessorTest.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteUserEventProcessorTest.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/UserFullSyncProcessorTest.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorEventTest.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorTest.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorEventTest.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorTest.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorLocalGeneratorTest.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorEventTest.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorTest.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/AccountSubscriberTest.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/DomainSubscriberTest.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/MultiRegionSubscriberTest.java
> PRE-CREATION
> 
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/UserSubscriberTest.java
> PRE-CREATION
>     server/src/com/cloud/multiregion/RsyncManager.java PRE-CREATION
>     server/src/com/cloud/multiregion/RsyncManagerImpl.java PRE-CREATION
>   Diff: https://reviews.apache.org/r/17790/diff/
>   Testing
> -------
>   1. Successfully tested real time synchronization as soon as resources
> are created/deleted/modified in one region.
> 2. Successfully tested full scans to synchronize resources that were
> missed during real time synchronization because of any reasons like network
> connection issues.
> 3. The tests were done manually and also automatically by randomly
> generating changes each region.
>   Thanks,
>   Alex Ough
> 
> 
> 
> 
> 

Re: Review Request 17790: Domain-Account-User Sync Up Among Multiple Regions (New Plugin)

Posted by Alena Prokharchyk <Al...@citrix.com>.
The discussion wasn’t published on the review board, so yes, please search in the mailing list for the subject "Review Request 20099”

Let me know if you need more details.

-Alena.

From: Rohit Yadav <bh...@apache.org>>
Reply-To: "dev@cloudstack.apache.org<ma...@cloudstack.apache.org>" <de...@cloudstack.apache.org>>
Date: Friday, December 5, 2014 at 2:15 PM
To: Alena Prokharchyk <al...@citrix.com>>
Cc: "dev@cloudstack.apache.org<ma...@cloudstack.apache.org>" <de...@cloudstack.apache.org>>, Alex Ough <al...@sungard.com>>, John Burwell <jb...@basho.com>>
Subject: Re: Review Request 17790: Domain-Account-User Sync Up Among Multiple Regions (New Plugin)

On Sat, Dec 6, 2014 at 3:39 AM, Alena Prokharchyk <
Alena.Prokharchyk@citrix.com<ma...@citrix.com>> wrote:

  Rohit, please refer to the thread with "Review Request 20099" subject
and concerns raised by John Burwell.

  -Alena.


Thanks for replying Alena, I was just going through pending reviews and was
trying to close those which are invalid or already merged.

I could not find John's reply on https://reviews.apache.org/r/20099/
review, perhaps it was on the ML I'll search markmail for that later, right
now I simply need help from everyone to do some maintenance work on our
JIRA, ReviewBoard and Github PR and cleanup/close invalid or old
issues/reviews/pull-requests that don't apply anymore or are already fixed.

Regards.




   From: Rohit Yadav <bh...@apache.org>>
Reply-To: "dev@cloudstack.apache.org<ma...@cloudstack.apache.org>" <de...@cloudstack.apache.org>>, Rohit
Yadav <bh...@apache.org>>
Date: Friday, December 5, 2014 at 10:41 AM
To: cloudstack <de...@cloudstack.apache.org>>, Alex Ough <
alex.ough@sungard.com<ma...@sungard.com>>, Rohit Yadav <bh...@apache.org>>
Subject: Re: Review Request 17790: Domain-Account-User Sync Up Among
Multiple Regions (New Plugin)


  -----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17790/#review64047
-----------------------------------------------------------


  ping. any update on this?

  - Rohit Yadav


  On June 27, 2014, 5:04 p.m., Alex Ough wrote:

  -----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17790/
-----------------------------------------------------------
  (Updated June 27, 2014, 5:04 p.m.)
  Review request for cloudstack.
  Repository: cloudstack-git
  Description
-------
  Currently, under the environment of cloudstack with multiple regions,
each region has its own management server running with a separate database,
which will cause data discrepancies when users create/update/delete
domain/account/user data independently in each management server. So to
support multiple regions and provide one point of entry for each customer,
this implementation duplicates domain/account/user information of customers
in one region to all of the regions independently whenever there is any
change.
  https://issues.apache.org/jira/browse/CLOUDSTACK-4992

https://cwiki.apache.org/confluence/display/CLOUDSTACK/Domain-Account-User+Sync+Up+Among+Multiple+Regions
  Diffs
-----
     engine/schema/src/org/apache/cloudstack/multiregion/RmapVO.java
PRE-CREATION
    engine/schema/src/org/apache/cloudstack/multiregion/RsyncVO.java
PRE-CREATION
    engine/schema/src/org/apache/cloudstack/multiregion/dao/RmapDao.java
PRE-CREATION

engine/schema/src/org/apache/cloudstack/multiregion/dao/RmapDaoImpl.java
PRE-CREATION
    engine/schema/src/org/apache/cloudstack/multiregion/dao/RsyncDao.java
PRE-CREATION

engine/schema/src/org/apache/cloudstack/multiregion/dao/RsyncDaoImpl.java
PRE-CREATION
    plugins/event-bus/multiregion/pom.xml PRE-CREATION

plugins/event-bus/multiregion/resources/META-INF/cloudstack/core/spring-plugin-multiregion-system-context.xml
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/FullSyncer.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/InjectedCollection.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/MultiRegionEventBus.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/StringManipulator.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/AccountCaller.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/BaseCaller.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/DomainCaller.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/UserCaller.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncAccountsCmd.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncAccountsCmdByAdmin.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncDomainChildrenCmd.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncDomainsCmd.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncUsersCmd.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncAccountJoinDao.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncAccountJoinDaoImpl.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncUserAccountJoinDao.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncUserAccountJoinDaoImpl.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/ApiSyncResponseHelper.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncAccountResponse.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncDomainResponse.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncQueryManagerImpl.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncQueryService.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncUserResponse.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/event/SyncActionEventInterceptor.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/event/SyncActionEventUtils.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/exception/APIFailureException.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/AccountFullSyncProcessor.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/AccountService.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/BaseService.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/DomainFullSyncProcessor.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/DomainService.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/FullScanner.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/FullSyncProcessor.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalAccountManager.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalDomainManager.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalManager.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalUserManager.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteAccountEventProcessor.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteDomainEventProcessor.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteEventProcessor.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteUserEventProcessor.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/UserFullSyncProcessor.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/UserService.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGenerator.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorEvent.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAutoGenerator.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGenerator.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorEvent.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorLocalGenerator.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGenerator.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorEvent.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/AccountSubscriber.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/DomainSubscriber.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/MultiRegionSubscriber.java
PRE-CREATION

plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/UserSubscriber.java
PRE-CREATION

plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/AccountCallerTest.java
PRE-CREATION

plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/BaseCallerTest.java
PRE-CREATION

plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/DomainCallerTest.java
PRE-CREATION

plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/UserCallerTest.java
PRE-CREATION

plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/AccountFullSyncProcessorTest.java
PRE-CREATION

plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/BaseServiceTest.java
PRE-CREATION

plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/DomainFullSyncProcessorTest.java
PRE-CREATION

plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteAccountEventProcessorTest.java
PRE-CREATION

plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteDomainEventProcessorTest.java
PRE-CREATION

plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteUserEventProcessorTest.java
PRE-CREATION

plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/UserFullSyncProcessorTest.java
PRE-CREATION

plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorEventTest.java
PRE-CREATION

plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorTest.java
PRE-CREATION

plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorEventTest.java
PRE-CREATION

plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorTest.java
PRE-CREATION

plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorLocalGeneratorTest.java
PRE-CREATION

plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorEventTest.java
PRE-CREATION

plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorTest.java
PRE-CREATION

plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/AccountSubscriberTest.java
PRE-CREATION

plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/DomainSubscriberTest.java
PRE-CREATION

plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/MultiRegionSubscriberTest.java
PRE-CREATION

plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/UserSubscriberTest.java
PRE-CREATION
    server/src/com/cloud/multiregion/RsyncManager.java PRE-CREATION
    server/src/com/cloud/multiregion/RsyncManagerImpl.java PRE-CREATION
  Diff: https://reviews.apache.org/r/17790/diff/
  Testing
-------
  1. Successfully tested real time synchronization as soon as resources
are created/deleted/modified in one region.
2. Successfully tested full scans to synchronize resources that were
missed during real time synchronization because of any reasons like network
connection issues.
3. The tests were done manually and also automatically by randomly
generating changes each region.
  Thanks,
  Alex Ough






Re: Review Request 17790: Domain-Account-User Sync Up Among Multiple Regions (New Plugin)

Posted by Rohit Yadav <bh...@apache.org>.
On Sat, Dec 6, 2014 at 3:39 AM, Alena Prokharchyk <
Alena.Prokharchyk@citrix.com> wrote:

>  Rohit, please refer to the thread with "Review Request 20099" subject
> and concerns raised by John Burwell.
>
>  -Alena.
>

Thanks for replying Alena, I was just going through pending reviews and was
trying to close those which are invalid or already merged.

I could not find John's reply on https://reviews.apache.org/r/20099/
review, perhaps it was on the ML I'll search markmail for that later, right
now I simply need help from everyone to do some maintenance work on our
JIRA, ReviewBoard and Github PR and cleanup/close invalid or old
issues/reviews/pull-requests that don't apply anymore or are already fixed.

Regards.



>
>   From: Rohit Yadav <bh...@apache.org>
> Reply-To: "dev@cloudstack.apache.org" <de...@cloudstack.apache.org>, Rohit
> Yadav <bh...@apache.org>
> Date: Friday, December 5, 2014 at 10:41 AM
> To: cloudstack <de...@cloudstack.apache.org>, Alex Ough <
> alex.ough@sungard.com>, Rohit Yadav <bh...@apache.org>
> Subject: Re: Review Request 17790: Domain-Account-User Sync Up Among
> Multiple Regions (New Plugin)
>
>
>  -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/17790/#review64047
> -----------------------------------------------------------
>
>
>  ping. any update on this?
>
>  - Rohit Yadav
>
>
>  On June 27, 2014, 5:04 p.m., Alex Ough wrote:
>
>  -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/17790/
> -----------------------------------------------------------
>  (Updated June 27, 2014, 5:04 p.m.)
>  Review request for cloudstack.
>  Repository: cloudstack-git
>  Description
> -------
>  Currently, under the environment of cloudstack with multiple regions,
> each region has its own management server running with a separate database,
> which will cause data discrepancies when users create/update/delete
> domain/account/user data independently in each management server. So to
> support multiple regions and provide one point of entry for each customer,
> this implementation duplicates domain/account/user information of customers
> in one region to all of the regions independently whenever there is any
> change.
>  https://issues.apache.org/jira/browse/CLOUDSTACK-4992
>
> https://cwiki.apache.org/confluence/display/CLOUDSTACK/Domain-Account-User+Sync+Up+Among+Multiple+Regions
>  Diffs
> -----
>     engine/schema/src/org/apache/cloudstack/multiregion/RmapVO.java
> PRE-CREATION
>    engine/schema/src/org/apache/cloudstack/multiregion/RsyncVO.java
> PRE-CREATION
>    engine/schema/src/org/apache/cloudstack/multiregion/dao/RmapDao.java
> PRE-CREATION
>
> engine/schema/src/org/apache/cloudstack/multiregion/dao/RmapDaoImpl.java
> PRE-CREATION
>    engine/schema/src/org/apache/cloudstack/multiregion/dao/RsyncDao.java
> PRE-CREATION
>
> engine/schema/src/org/apache/cloudstack/multiregion/dao/RsyncDaoImpl.java
> PRE-CREATION
>    plugins/event-bus/multiregion/pom.xml PRE-CREATION
>
> plugins/event-bus/multiregion/resources/META-INF/cloudstack/core/spring-plugin-multiregion-system-context.xml
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/FullSyncer.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/InjectedCollection.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/MultiRegionEventBus.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/StringManipulator.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/AccountCaller.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/BaseCaller.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/DomainCaller.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/UserCaller.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncAccountsCmd.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncAccountsCmdByAdmin.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncDomainChildrenCmd.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncDomainsCmd.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncUsersCmd.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncAccountJoinDao.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncAccountJoinDaoImpl.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncUserAccountJoinDao.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncUserAccountJoinDaoImpl.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/ApiSyncResponseHelper.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncAccountResponse.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncDomainResponse.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncQueryManagerImpl.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncQueryService.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncUserResponse.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/event/SyncActionEventInterceptor.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/event/SyncActionEventUtils.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/exception/APIFailureException.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/AccountFullSyncProcessor.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/AccountService.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/BaseService.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/DomainFullSyncProcessor.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/DomainService.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/FullScanner.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/FullSyncProcessor.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalAccountManager.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalDomainManager.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalManager.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalUserManager.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteAccountEventProcessor.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteDomainEventProcessor.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteEventProcessor.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteUserEventProcessor.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/UserFullSyncProcessor.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/UserService.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGenerator.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorEvent.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAutoGenerator.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGenerator.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorEvent.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorLocalGenerator.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGenerator.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorEvent.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/AccountSubscriber.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/DomainSubscriber.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/MultiRegionSubscriber.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/UserSubscriber.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/AccountCallerTest.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/BaseCallerTest.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/DomainCallerTest.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/UserCallerTest.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/AccountFullSyncProcessorTest.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/BaseServiceTest.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/DomainFullSyncProcessorTest.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteAccountEventProcessorTest.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteDomainEventProcessorTest.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteUserEventProcessorTest.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/UserFullSyncProcessorTest.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorEventTest.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorTest.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorEventTest.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorTest.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorLocalGeneratorTest.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorEventTest.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorTest.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/AccountSubscriberTest.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/DomainSubscriberTest.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/MultiRegionSubscriberTest.java
> PRE-CREATION
>
> plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/UserSubscriberTest.java
> PRE-CREATION
>    server/src/com/cloud/multiregion/RsyncManager.java PRE-CREATION
>    server/src/com/cloud/multiregion/RsyncManagerImpl.java PRE-CREATION
>  Diff: https://reviews.apache.org/r/17790/diff/
>  Testing
> -------
>  1. Successfully tested real time synchronization as soon as resources
> are created/deleted/modified in one region.
> 2. Successfully tested full scans to synchronize resources that were
> missed during real time synchronization because of any reasons like network
> connection issues.
> 3. The tests were done manually and also automatically by randomly
> generating changes each region.
>  Thanks,
>  Alex Ough
>
>
>
>

Re: Review Request 17790: Domain-Account-User Sync Up Among Multiple Regions (New Plugin)

Posted by Alena Prokharchyk <Al...@citrix.com>.
Rohit, please refer to the thread with "Review Request 20099” subject and concerns raised by John Burwell.

-Alena.

From: Rohit Yadav <bh...@apache.org>>
Reply-To: "dev@cloudstack.apache.org<ma...@cloudstack.apache.org>" <de...@cloudstack.apache.org>>, Rohit Yadav <bh...@apache.org>>
Date: Friday, December 5, 2014 at 10:41 AM
To: cloudstack <de...@cloudstack.apache.org>>, Alex Ough <al...@sungard.com>>, Rohit Yadav <bh...@apache.org>>
Subject: Re: Review Request 17790: Domain-Account-User Sync Up Among Multiple Regions (New Plugin)


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17790/#review64047
-----------------------------------------------------------


ping. any update on this?

- Rohit Yadav


On June 27, 2014, 5:04 p.m., Alex Ough wrote:
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17790/
-----------------------------------------------------------
(Updated June 27, 2014, 5:04 p.m.)
Review request for cloudstack.
Repository: cloudstack-git
Description
-------
Currently, under the environment of cloudstack with multiple regions, each region has its own management server running with a separate database, which will cause data discrepancies when users create/update/delete domain/account/user data independently in each management server. So to support multiple regions and provide one point of entry for each customer, this implementation duplicates domain/account/user information of customers in one region to all of the regions independently whenever there is any change.
https://issues.apache.org/jira/browse/CLOUDSTACK-4992
https://cwiki.apache.org/confluence/display/CLOUDSTACK/Domain-Account-User+Sync+Up+Among+Multiple+Regions
Diffs
-----
   engine/schema/src/org/apache/cloudstack/multiregion/RmapVO.java PRE-CREATION
   engine/schema/src/org/apache/cloudstack/multiregion/RsyncVO.java PRE-CREATION
   engine/schema/src/org/apache/cloudstack/multiregion/dao/RmapDao.java PRE-CREATION
   engine/schema/src/org/apache/cloudstack/multiregion/dao/RmapDaoImpl.java PRE-CREATION
   engine/schema/src/org/apache/cloudstack/multiregion/dao/RsyncDao.java PRE-CREATION
   engine/schema/src/org/apache/cloudstack/multiregion/dao/RsyncDaoImpl.java PRE-CREATION
   plugins/event-bus/multiregion/pom.xml PRE-CREATION
   plugins/event-bus/multiregion/resources/META-INF/cloudstack/core/spring-plugin-multiregion-system-context.xml PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/FullSyncer.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/InjectedCollection.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/MultiRegionEventBus.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/StringManipulator.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/AccountCaller.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/BaseCaller.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/DomainCaller.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/UserCaller.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncAccountsCmd.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncAccountsCmdByAdmin.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncDomainChildrenCmd.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncDomainsCmd.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncUsersCmd.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncAccountJoinDao.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncAccountJoinDaoImpl.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncUserAccountJoinDao.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncUserAccountJoinDaoImpl.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/ApiSyncResponseHelper.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncAccountResponse.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncDomainResponse.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncQueryManagerImpl.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncQueryService.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncUserResponse.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/event/SyncActionEventInterceptor.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/event/SyncActionEventUtils.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/exception/APIFailureException.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/AccountFullSyncProcessor.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/AccountService.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/BaseService.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/DomainFullSyncProcessor.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/DomainService.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/FullScanner.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/FullSyncProcessor.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalAccountManager.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalDomainManager.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalManager.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalUserManager.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteAccountEventProcessor.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteDomainEventProcessor.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteEventProcessor.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteUserEventProcessor.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/UserFullSyncProcessor.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/UserService.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGenerator.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorEvent.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAutoGenerator.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGenerator.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorEvent.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorLocalGenerator.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGenerator.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorEvent.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/AccountSubscriber.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/DomainSubscriber.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/MultiRegionSubscriber.java PRE-CREATION
   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/UserSubscriber.java PRE-CREATION
   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/AccountCallerTest.java PRE-CREATION
   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/BaseCallerTest.java PRE-CREATION
   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/DomainCallerTest.java PRE-CREATION
   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/UserCallerTest.java PRE-CREATION
   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/AccountFullSyncProcessorTest.java PRE-CREATION
   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/BaseServiceTest.java PRE-CREATION
   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/DomainFullSyncProcessorTest.java PRE-CREATION
   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteAccountEventProcessorTest.java PRE-CREATION
   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteDomainEventProcessorTest.java PRE-CREATION
   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteUserEventProcessorTest.java PRE-CREATION
   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/UserFullSyncProcessorTest.java PRE-CREATION
   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorEventTest.java PRE-CREATION
   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorTest.java PRE-CREATION
   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorEventTest.java PRE-CREATION
   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorTest.java PRE-CREATION
   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorLocalGeneratorTest.java PRE-CREATION
   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorEventTest.java PRE-CREATION
   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorTest.java PRE-CREATION
   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/AccountSubscriberTest.java PRE-CREATION
   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/DomainSubscriberTest.java PRE-CREATION
   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/MultiRegionSubscriberTest.java PRE-CREATION
   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/UserSubscriberTest.java PRE-CREATION
   server/src/com/cloud/multiregion/RsyncManager.java PRE-CREATION
   server/src/com/cloud/multiregion/RsyncManagerImpl.java PRE-CREATION
Diff: https://reviews.apache.org/r/17790/diff/
Testing
-------
1. Successfully tested real time synchronization as soon as resources are created/deleted/modified in one region.
2. Successfully tested full scans to synchronize resources that were missed during real time synchronization because of any reasons like network connection issues.
3. The tests were done manually and also automatically by randomly generating changes each region.
Thanks,
Alex Ough




Re: Review Request 17790: Domain-Account-User Sync Up Among Multiple Regions (New Plugin)

Posted by Rohit Yadav <bh...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17790/#review64047
-----------------------------------------------------------


ping. any update on this?

- Rohit Yadav


On June 27, 2014, 5:04 p.m., Alex Ough wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/17790/
> -----------------------------------------------------------
> 
> (Updated June 27, 2014, 5:04 p.m.)
> 
> 
> Review request for cloudstack.
> 
> 
> Repository: cloudstack-git
> 
> 
> Description
> -------
> 
> Currently, under the environment of cloudstack with multiple regions, each region has its own management server running with a separate database, which will cause data discrepancies when users create/update/delete domain/account/user data independently in each management server. So to support multiple regions and provide one point of entry for each customer, this implementation duplicates domain/account/user information of customers in one region to all of the regions independently whenever there is any change.
> 
> https://issues.apache.org/jira/browse/CLOUDSTACK-4992
> https://cwiki.apache.org/confluence/display/CLOUDSTACK/Domain-Account-User+Sync+Up+Among+Multiple+Regions
> 
> 
> Diffs
> -----
> 
>   engine/schema/src/org/apache/cloudstack/multiregion/RmapVO.java PRE-CREATION 
>   engine/schema/src/org/apache/cloudstack/multiregion/RsyncVO.java PRE-CREATION 
>   engine/schema/src/org/apache/cloudstack/multiregion/dao/RmapDao.java PRE-CREATION 
>   engine/schema/src/org/apache/cloudstack/multiregion/dao/RmapDaoImpl.java PRE-CREATION 
>   engine/schema/src/org/apache/cloudstack/multiregion/dao/RsyncDao.java PRE-CREATION 
>   engine/schema/src/org/apache/cloudstack/multiregion/dao/RsyncDaoImpl.java PRE-CREATION 
>   plugins/event-bus/multiregion/pom.xml PRE-CREATION 
>   plugins/event-bus/multiregion/resources/META-INF/cloudstack/core/spring-plugin-multiregion-system-context.xml PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/FullSyncer.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/InjectedCollection.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/MultiRegionEventBus.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/StringManipulator.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/AccountCaller.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/BaseCaller.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/DomainCaller.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/UserCaller.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncAccountsCmd.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncAccountsCmdByAdmin.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncDomainChildrenCmd.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncDomainsCmd.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncUsersCmd.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncAccountJoinDao.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncAccountJoinDaoImpl.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncUserAccountJoinDao.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncUserAccountJoinDaoImpl.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/ApiSyncResponseHelper.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncAccountResponse.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncDomainResponse.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncQueryManagerImpl.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncQueryService.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncUserResponse.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/event/SyncActionEventInterceptor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/event/SyncActionEventUtils.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/exception/APIFailureException.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/AccountFullSyncProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/AccountService.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/BaseService.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/DomainFullSyncProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/DomainService.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/FullScanner.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/FullSyncProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalAccountManager.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalDomainManager.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalManager.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalUserManager.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteAccountEventProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteDomainEventProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteEventProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteUserEventProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/UserFullSyncProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/UserService.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGenerator.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorEvent.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAutoGenerator.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGenerator.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorEvent.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorLocalGenerator.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGenerator.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorEvent.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/AccountSubscriber.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/DomainSubscriber.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/MultiRegionSubscriber.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/UserSubscriber.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/AccountCallerTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/BaseCallerTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/DomainCallerTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/UserCallerTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/AccountFullSyncProcessorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/BaseServiceTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/DomainFullSyncProcessorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteAccountEventProcessorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteDomainEventProcessorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteUserEventProcessorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/UserFullSyncProcessorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorEventTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorEventTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorLocalGeneratorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorEventTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/AccountSubscriberTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/DomainSubscriberTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/MultiRegionSubscriberTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/UserSubscriberTest.java PRE-CREATION 
>   server/src/com/cloud/multiregion/RsyncManager.java PRE-CREATION 
>   server/src/com/cloud/multiregion/RsyncManagerImpl.java PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/17790/diff/
> 
> 
> Testing
> -------
> 
> 1. Successfully tested real time synchronization as soon as resources are created/deleted/modified in one region.
> 2. Successfully tested full scans to synchronize resources that were missed during real time synchronization because of any reasons like network connection issues.
> 3. The tests were done manually and also automatically by randomly generating changes each region.
> 
> 
> Thanks,
> 
> Alex Ough
> 
>


Re: Review Request 17790: Domain-Account-User Sync Up Among Multiple Regions (New Plugin)

Posted by Sebastien Goasguen <ru...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17790/#review78992
-----------------------------------------------------------


Thank you for submitting your CloudStack contribution through review board. After discussion on the dev@cloudstack.apache.org the community decided to close down review board and start accepting contributiong through GitHub pull requests. We have been using GH PR for several months now and the process is better than review board.

We will keep Review Board open for another week to give you time to migrate your patch to a github PR if you wish. After that time, your patch will no longer be viewable (even though it will not be deleted).

Please consider submitting a pull request.

Great instructions are available at:
https://github.com/apache/cloudstack/blob/master/CONTRIBUTING.md

Thank you very much for your time and your contribution to Apache CloudStack, we hope that using this new process will encourage you to do more.

- Sebastien Goasguen


On June 27, 2014, 5:04 p.m., Alex Ough wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/17790/
> -----------------------------------------------------------
> 
> (Updated June 27, 2014, 5:04 p.m.)
> 
> 
> Review request for cloudstack.
> 
> 
> Repository: cloudstack-git
> 
> 
> Description
> -------
> 
> Currently, under the environment of cloudstack with multiple regions, each region has its own management server running with a separate database, which will cause data discrepancies when users create/update/delete domain/account/user data independently in each management server. So to support multiple regions and provide one point of entry for each customer, this implementation duplicates domain/account/user information of customers in one region to all of the regions independently whenever there is any change.
> 
> https://issues.apache.org/jira/browse/CLOUDSTACK-4992
> https://cwiki.apache.org/confluence/display/CLOUDSTACK/Domain-Account-User+Sync+Up+Among+Multiple+Regions
> 
> 
> Diffs
> -----
> 
>   engine/schema/src/org/apache/cloudstack/multiregion/RmapVO.java PRE-CREATION 
>   engine/schema/src/org/apache/cloudstack/multiregion/RsyncVO.java PRE-CREATION 
>   engine/schema/src/org/apache/cloudstack/multiregion/dao/RmapDao.java PRE-CREATION 
>   engine/schema/src/org/apache/cloudstack/multiregion/dao/RmapDaoImpl.java PRE-CREATION 
>   engine/schema/src/org/apache/cloudstack/multiregion/dao/RsyncDao.java PRE-CREATION 
>   engine/schema/src/org/apache/cloudstack/multiregion/dao/RsyncDaoImpl.java PRE-CREATION 
>   plugins/event-bus/multiregion/pom.xml PRE-CREATION 
>   plugins/event-bus/multiregion/resources/META-INF/cloudstack/core/spring-plugin-multiregion-system-context.xml PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/FullSyncer.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/InjectedCollection.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/MultiRegionEventBus.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/StringManipulator.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/AccountCaller.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/BaseCaller.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/DomainCaller.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/UserCaller.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncAccountsCmd.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncAccountsCmdByAdmin.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncDomainChildrenCmd.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncDomainsCmd.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncUsersCmd.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncAccountJoinDao.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncAccountJoinDaoImpl.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncUserAccountJoinDao.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncUserAccountJoinDaoImpl.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/ApiSyncResponseHelper.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncAccountResponse.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncDomainResponse.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncQueryManagerImpl.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncQueryService.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncUserResponse.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/event/SyncActionEventInterceptor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/event/SyncActionEventUtils.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/exception/APIFailureException.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/AccountFullSyncProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/AccountService.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/BaseService.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/DomainFullSyncProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/DomainService.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/FullScanner.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/FullSyncProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalAccountManager.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalDomainManager.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalManager.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalUserManager.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteAccountEventProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteDomainEventProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteEventProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteUserEventProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/UserFullSyncProcessor.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/UserService.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGenerator.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorEvent.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAutoGenerator.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGenerator.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorEvent.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorLocalGenerator.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGenerator.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorEvent.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/AccountSubscriber.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/DomainSubscriber.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/MultiRegionSubscriber.java PRE-CREATION 
>   plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/UserSubscriber.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/AccountCallerTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/BaseCallerTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/DomainCallerTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/UserCallerTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/AccountFullSyncProcessorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/BaseServiceTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/DomainFullSyncProcessorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteAccountEventProcessorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteDomainEventProcessorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteUserEventProcessorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/UserFullSyncProcessorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorEventTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorEventTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorLocalGeneratorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorEventTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/AccountSubscriberTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/DomainSubscriberTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/MultiRegionSubscriberTest.java PRE-CREATION 
>   plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/UserSubscriberTest.java PRE-CREATION 
>   server/src/com/cloud/multiregion/RsyncManager.java PRE-CREATION 
>   server/src/com/cloud/multiregion/RsyncManagerImpl.java PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/17790/diff/
> 
> 
> Testing
> -------
> 
> 1. Successfully tested real time synchronization as soon as resources are created/deleted/modified in one region.
> 2. Successfully tested full scans to synchronize resources that were missed during real time synchronization because of any reasons like network connection issues.
> 3. The tests were done manually and also automatically by randomly generating changes each region.
> 
> 
> Thanks,
> 
> Alex Ough
> 
>


Re: Review Request 17790: Domain-Account-User Sync Up Among Multiple Regions (New Plugin)

Posted by Alex Ough <al...@sungard.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17790/
-----------------------------------------------------------

(Updated June 27, 2014, 5:04 p.m.)


Review request for cloudstack.


Repository: cloudstack-git


Description
-------

Currently, under the environment of cloudstack with multiple regions, each region has its own management server running with a separate database, which will cause data discrepancies when users create/update/delete domain/account/user data independently in each management server. So to support multiple regions and provide one point of entry for each customer, this implementation duplicates domain/account/user information of customers in one region to all of the regions independently whenever there is any change.

https://issues.apache.org/jira/browse/CLOUDSTACK-4992
https://cwiki.apache.org/confluence/display/CLOUDSTACK/Domain-Account-User+Sync+Up+Among+Multiple+Regions


Diffs (updated)
-----

  engine/schema/src/org/apache/cloudstack/multiregion/RmapVO.java PRE-CREATION 
  engine/schema/src/org/apache/cloudstack/multiregion/RsyncVO.java PRE-CREATION 
  engine/schema/src/org/apache/cloudstack/multiregion/dao/RmapDao.java PRE-CREATION 
  engine/schema/src/org/apache/cloudstack/multiregion/dao/RmapDaoImpl.java PRE-CREATION 
  engine/schema/src/org/apache/cloudstack/multiregion/dao/RsyncDao.java PRE-CREATION 
  engine/schema/src/org/apache/cloudstack/multiregion/dao/RsyncDaoImpl.java PRE-CREATION 
  plugins/event-bus/multiregion/pom.xml PRE-CREATION 
  plugins/event-bus/multiregion/resources/META-INF/cloudstack/core/spring-plugin-multiregion-system-context.xml PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/FullSyncer.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/InjectedCollection.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/MultiRegionEventBus.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/StringManipulator.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/AccountCaller.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/BaseCaller.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/DomainCaller.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/UserCaller.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncAccountsCmd.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncAccountsCmdByAdmin.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncDomainChildrenCmd.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncDomainsCmd.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncUsersCmd.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncAccountJoinDao.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncAccountJoinDaoImpl.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncUserAccountJoinDao.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncUserAccountJoinDaoImpl.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/ApiSyncResponseHelper.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncAccountResponse.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncDomainResponse.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncQueryManagerImpl.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncQueryService.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncUserResponse.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/event/SyncActionEventInterceptor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/event/SyncActionEventUtils.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/exception/APIFailureException.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/AccountFullSyncProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/AccountService.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/BaseService.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/DomainFullSyncProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/DomainService.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/FullScanner.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/FullSyncProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalAccountManager.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalDomainManager.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalManager.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalUserManager.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteAccountEventProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteDomainEventProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteEventProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteUserEventProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/UserFullSyncProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/UserService.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGenerator.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorEvent.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAutoGenerator.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGenerator.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorEvent.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorLocalGenerator.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGenerator.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorEvent.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/AccountSubscriber.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/DomainSubscriber.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/MultiRegionSubscriber.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/UserSubscriber.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/AccountCallerTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/BaseCallerTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/DomainCallerTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/UserCallerTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/AccountFullSyncProcessorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/BaseServiceTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/DomainFullSyncProcessorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteAccountEventProcessorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteDomainEventProcessorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteUserEventProcessorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/UserFullSyncProcessorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorEventTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorEventTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorLocalGeneratorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorEventTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/AccountSubscriberTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/DomainSubscriberTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/MultiRegionSubscriberTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/UserSubscriberTest.java PRE-CREATION 
  server/src/com/cloud/multiregion/RsyncManager.java PRE-CREATION 
  server/src/com/cloud/multiregion/RsyncManagerImpl.java PRE-CREATION 

Diff: https://reviews.apache.org/r/17790/diff/


Testing
-------

1. Successfully tested real time synchronization as soon as resources are created/deleted/modified in one region.
2. Successfully tested full scans to synchronize resources that were missed during real time synchronization because of any reasons like network connection issues.
3. The tests were done manually and also automatically by randomly generating changes each region.


Thanks,

Alex Ough


Re: Review Request 17790: Domain-Account-User Sync Up Among Multiple Regions (New Plugin)

Posted by Alex Ough <al...@sungard.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17790/
-----------------------------------------------------------

(Updated June 24, 2014, 3:52 p.m.)


Review request for cloudstack.


Changes
-------

Hope this is the final!


Repository: cloudstack-git


Description
-------

Currently, under the environment of cloudstack with multiple regions, each region has its own management server running with a separate database, which will cause data discrepancies when users create/update/delete domain/account/user data independently in each management server. So to support multiple regions and provide one point of entry for each customer, this implementation duplicates domain/account/user information of customers in one region to all of the regions independently whenever there is any change.

https://issues.apache.org/jira/browse/CLOUDSTACK-4992
https://cwiki.apache.org/confluence/display/CLOUDSTACK/Domain-Account-User+Sync+Up+Among+Multiple+Regions


Diffs (updated)
-----

  engine/schema/src/org/apache/cloudstack/multiregion/RmapVO.java PRE-CREATION 
  engine/schema/src/org/apache/cloudstack/multiregion/RsyncVO.java PRE-CREATION 
  engine/schema/src/org/apache/cloudstack/multiregion/dao/RmapDao.java PRE-CREATION 
  engine/schema/src/org/apache/cloudstack/multiregion/dao/RmapDaoImpl.java PRE-CREATION 
  engine/schema/src/org/apache/cloudstack/multiregion/dao/RsyncDao.java PRE-CREATION 
  engine/schema/src/org/apache/cloudstack/multiregion/dao/RsyncDaoImpl.java PRE-CREATION 
  plugins/event-bus/multiregion/pom.xml PRE-CREATION 
  plugins/event-bus/multiregion/resources/META-INF/cloudstack/core/spring-plugin-multiregion-system-context.xml PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/FullSyncer.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/InjectedCollection.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/MultiRegionEventBus.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/StringManipulator.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/AccountCaller.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/BaseCaller.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/DomainCaller.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/UserCaller.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncAccountsCmd.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncAccountsCmdByAdmin.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncDomainChildrenCmd.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncDomainsCmd.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncUsersCmd.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncAccountJoinDao.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncAccountJoinDaoImpl.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncUserAccountJoinDao.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncUserAccountJoinDaoImpl.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/ApiSyncResponseHelper.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncAccountResponse.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncDomainResponse.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncQueryManagerImpl.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncQueryService.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncUserResponse.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/event/SyncActionEventInterceptor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/event/SyncActionEventUtils.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/exception/APIFailureException.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/AccountFullSyncProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/AccountService.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/BaseService.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/DomainFullSyncProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/DomainService.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/FullScanner.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/FullSyncProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalAccountManager.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalDomainManager.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalManager.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalUserManager.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteAccountEventProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteDomainEventProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteEventProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteUserEventProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/UserFullSyncProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/UserService.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGenerator.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorEvent.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAutoGenerator.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGenerator.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorEvent.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorLocalGenerator.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGenerator.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorEvent.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/AccountSubscriber.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/DomainSubscriber.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/MultiRegionSubscriber.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/UserSubscriber.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/AccountCallerTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/BaseCallerTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/DomainCallerTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/UserCallerTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/AccountFullSyncProcessorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/BaseServiceTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/DomainFullSyncProcessorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteAccountEventProcessorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteDomainEventProcessorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteUserEventProcessorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/UserFullSyncProcessorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorEventTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorEventTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorLocalGeneratorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorEventTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/AccountSubscriberTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/DomainSubscriberTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/MultiRegionSubscriberTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/UserSubscriberTest.java PRE-CREATION 
  server/src/com/cloud/multiregion/RsyncManager.java PRE-CREATION 
  server/src/com/cloud/multiregion/RsyncManagerImpl.java PRE-CREATION 

Diff: https://reviews.apache.org/r/17790/diff/


Testing
-------

1. Successfully tested real time synchronization as soon as resources are created/deleted/modified in one region.
2. Successfully tested full scans to synchronize resources that were missed during real time synchronization because of any reasons like network connection issues.
3. The tests were done manually and also automatically by randomly generating changes each region.


Thanks,

Alex Ough


Re: Review Request 17790: Domain-Account-User Sync Up Among Multiple Regions (New Plugin)

Posted by Alex Ough <al...@sungard.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17790/
-----------------------------------------------------------

(Updated June 20, 2014, 3:49 p.m.)


Review request for cloudstack.


Changes
-------

sub classes added


Repository: cloudstack-git


Description
-------

Currently, under the environment of cloudstack with multiple regions, each region has its own management server running with a separate database, which will cause data discrepancies when users create/update/delete domain/account/user data independently in each management server. So to support multiple regions and provide one point of entry for each customer, this implementation duplicates domain/account/user information of customers in one region to all of the regions independently whenever there is any change.

https://issues.apache.org/jira/browse/CLOUDSTACK-4992
https://cwiki.apache.org/confluence/display/CLOUDSTACK/Domain-Account-User+Sync+Up+Among+Multiple+Regions


Diffs (updated)
-----

  engine/schema/src/org/apache/cloudstack/multiregion/RmapVO.java PRE-CREATION 
  engine/schema/src/org/apache/cloudstack/multiregion/RsyncVO.java PRE-CREATION 
  engine/schema/src/org/apache/cloudstack/multiregion/dao/RmapDao.java PRE-CREATION 
  engine/schema/src/org/apache/cloudstack/multiregion/dao/RmapDaoImpl.java PRE-CREATION 
  engine/schema/src/org/apache/cloudstack/multiregion/dao/RsyncDao.java PRE-CREATION 
  engine/schema/src/org/apache/cloudstack/multiregion/dao/RsyncDaoImpl.java PRE-CREATION 
  plugins/event-bus/multiregion/pom.xml PRE-CREATION 
  plugins/event-bus/multiregion/resources/META-INF/cloudstack/spring-plugin-multiregion-system-context.xml PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/FullSyncer.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/InjectedCollection.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/MultiRegionEventBus.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/StringManipulator.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/AccountCaller.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/BaseCaller.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/DomainCaller.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/UserCaller.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncAccountsCmd.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncAccountsCmdByAdmin.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncDomainChildrenCmd.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncDomainsCmd.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncUsersCmd.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncAccountJoinDao.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncAccountJoinDaoImpl.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncUserAccountJoinDao.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncUserAccountJoinDaoImpl.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/ApiSyncResponseHelper.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncAccountResponse.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncDomainResponse.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncQueryManagerImpl.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncQueryService.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncUserResponse.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/event/SyncActionEventInterceptor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/event/SyncActionEventUtils.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/exception/APIFailureException.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/AccountFullSyncProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/AccountService.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/BaseService.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/DomainFullSyncProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/DomainService.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/FullScanner.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/FullSyncProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalAccountManager.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalDomainManager.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalManager.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalUserManager.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteAccountEventProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteDomainEventProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteEventProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteUserEventProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/UserFullSyncProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/UserService.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGenerator.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorEvent.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAutoGenerator.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGenerator.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorEvent.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorLocalGenerator.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGenerator.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorEvent.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/AccountSubscriber.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/DomainSubscriber.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/MultiRegionSubscriber.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/UserSubscriber.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/AccountCallerTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/BaseCallerTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/DomainCallerTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/UserCallerTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/AccountFullSyncProcessorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/BaseServiceTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/DomainFullSyncProcessorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteAccountEventProcessorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteDomainEventProcessorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteUserEventProcessorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/UserFullSyncProcessorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorEventTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorEventTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorLocalGeneratorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorEventTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/AccountSubscriberTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/DomainSubscriberTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/MultiRegionSubscriberTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/UserSubscriberTest.java PRE-CREATION 
  server/src/com/cloud/multiregion/RsyncManager.java PRE-CREATION 
  server/src/com/cloud/multiregion/RsyncManagerImpl.java PRE-CREATION 

Diff: https://reviews.apache.org/r/17790/diff/


Testing
-------

1. Successfully tested real time synchronization as soon as resources are created/deleted/modified in one region.
2. Successfully tested full scans to synchronize resources that were missed during real time synchronization because of any reasons like network connection issues.
3. The tests were done manually and also automatically by randomly generating changes each region.


Thanks,

Alex Ough


Re: Review Request 17790: Domain-Account-User Sync Up Among Multiple Regions (New Plugin)

Posted by Alex Ough <al...@sungard.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17790/
-----------------------------------------------------------

(Updated June 15, 2014, 9:48 p.m.)


Review request for cloudstack.


Changes
-------

Please review


Repository: cloudstack-git


Description
-------

Currently, under the environment of cloudstack with multiple regions, each region has its own management server running with a separate database, which will cause data discrepancies when users create/update/delete domain/account/user data independently in each management server. So to support multiple regions and provide one point of entry for each customer, this implementation duplicates domain/account/user information of customers in one region to all of the regions independently whenever there is any change.

https://issues.apache.org/jira/browse/CLOUDSTACK-4992
https://cwiki.apache.org/confluence/display/CLOUDSTACK/Domain-Account-User+Sync+Up+Among+Multiple+Regions


Diffs (updated)
-----

  engine/schema/src/org/apache/cloudstack/multiregion/RmapVO.java PRE-CREATION 
  engine/schema/src/org/apache/cloudstack/multiregion/RsyncVO.java PRE-CREATION 
  engine/schema/src/org/apache/cloudstack/multiregion/dao/RmapDao.java PRE-CREATION 
  engine/schema/src/org/apache/cloudstack/multiregion/dao/RmapDaoImpl.java PRE-CREATION 
  engine/schema/src/org/apache/cloudstack/multiregion/dao/RsyncDao.java PRE-CREATION 
  engine/schema/src/org/apache/cloudstack/multiregion/dao/RsyncDaoImpl.java PRE-CREATION 
  plugins/event-bus/multiregion/pom.xml PRE-CREATION 
  plugins/event-bus/multiregion/resources/META-INF/cloudstack/spring-plugin-multiregion-system-context.xml PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/FullSyncer.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/InjectedCollection.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/MultiRegionEventBus.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/StringManipulator.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/AccountCaller.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/BaseCaller.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/DomainCaller.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/UserCaller.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncAccountsCmd.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncAccountsCmdByAdmin.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncDomainChildrenCmd.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncDomainsCmd.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncUsersCmd.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncAccountJoinDao.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncAccountJoinDaoImpl.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncUserAccountJoinDao.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncUserAccountJoinDaoImpl.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/ApiSyncResponseHelper.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncAccountResponse.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncDomainResponse.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncQueryManagerImpl.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncQueryService.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncUserResponse.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/exception/APIFailureException.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/AccountFullSyncProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/AccountService.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/BaseService.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/DomainFullSyncProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/DomainService.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/FullScanner.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/FullSyncProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalAccountManager.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalDomainManager.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalManager.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalUserManager.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteAccountEventProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteDomainEventProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteEventProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteUserEventProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/UserFullSyncProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/UserService.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGenerator.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorEvent.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAutoGenerator.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGenerator.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorEvent.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorLocalGenerator.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGenerator.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorEvent.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/AccountSubscriber.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/DomainSubscriber.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/MultiRegionSubscriber.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/UserSubscriber.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/AccountCallerTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/BaseCallerTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/DomainCallerTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/UserCallerTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/AccountFullSyncProcessorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/BaseServiceTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/DomainFullSyncProcessorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteAccountEventProcessorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteDomainEventProcessorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteUserEventProcessorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/UserFullSyncProcessorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorEventTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorEventTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorLocalGeneratorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorEventTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/AccountSubscriberTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/DomainSubscriberTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/MultiRegionSubscriberTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/UserSubscriberTest.java PRE-CREATION 
  server/src/com/cloud/multiregion/RsyncManager.java PRE-CREATION 
  server/src/com/cloud/multiregion/RsyncManagerImpl.java PRE-CREATION 

Diff: https://reviews.apache.org/r/17790/diff/


Testing
-------

1. Successfully tested real time synchronization as soon as resources are created/deleted/modified in one region.
2. Successfully tested full scans to synchronize resources that were missed during real time synchronization because of any reasons like network connection issues.
3. The tests were done manually and also automatically by randomly generating changes each region.


Thanks,

Alex Ough


Re: Review Request 17790: Domain-Account-User Sync Up Among Multiple Regions (New Plugin)

Posted by Alex Ough <al...@sungard.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17790/
-----------------------------------------------------------

(Updated May 7, 2014, 10:46 p.m.)


Review request for cloudstack.


Repository: cloudstack-git


Description
-------

Currently, under the environment of cloudstack with multiple regions, each region has its own management server running with a separate database, which will cause data discrepancies when users create/update/delete domain/account/user data independently in each management server. So to support multiple regions and provide one point of entry for each customer, this implementation duplicates domain/account/user information of customers in one region to all of the regions independently whenever there is any change.

https://issues.apache.org/jira/browse/CLOUDSTACK-4992
https://cwiki.apache.org/confluence/display/CLOUDSTACK/Domain-Account-User+Sync+Up+Among+Multiple+Regions


Diffs (updated)
-----

  engine/schema/src/org/apache/cloudstack/multiregion/RmapVO.java PRE-CREATION 
  engine/schema/src/org/apache/cloudstack/multiregion/RsyncVO.java PRE-CREATION 
  engine/schema/src/org/apache/cloudstack/multiregion/dao/RmapDao.java PRE-CREATION 
  engine/schema/src/org/apache/cloudstack/multiregion/dao/RmapDaoImpl.java PRE-CREATION 
  engine/schema/src/org/apache/cloudstack/multiregion/dao/RsyncDao.java PRE-CREATION 
  engine/schema/src/org/apache/cloudstack/multiregion/dao/RsyncDaoImpl.java PRE-CREATION 
  plugins/event-bus/multiregion/pom.xml PRE-CREATION 
  plugins/event-bus/multiregion/resources/META-INF/cloudstack/spring-plugin-multiregion-system-context.xml PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/FullSyncer.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/InjectedCollection.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/MultiRegionEventBus.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/StringManipulator.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/AccountCaller.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/BaseCaller.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/DomainCaller.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/UserCaller.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncAccountsCmd.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncAccountsCmdByAdmin.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncDomainChildrenCmd.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncDomainsCmd.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/command/ListSyncUsersCmd.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncAccountJoinDao.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncAccountJoinDaoImpl.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncUserAccountJoinDao.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/dao/SyncUserAccountJoinDaoImpl.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/ApiSyncResponseHelper.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncAccountResponse.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncDomainResponse.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncQueryManagerImpl.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncQueryService.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/api/response/SyncUserResponse.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/exception/APIFailureException.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/AccountFullSyncProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/AccountService.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/BaseService.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/DomainFullSyncProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/DomainService.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/FullScanner.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/FullSyncProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalAccountManager.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalDomainManager.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/LocalUserManager.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteAccountEventProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteDomainEventProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteEventProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/RemoteUserEventProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/UserFullSyncProcessor.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/service/UserService.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGenerator.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorEvent.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAutoGenerator.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGenerator.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorEvent.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorLocalGenerator.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGenerator.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorEvent.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/AccountSubscriber.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/DomainSubscriber.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/MultiRegionSubscriber.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/subscriber/UserSubscriber.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/AccountCallerTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/BaseCallerTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/DomainCallerTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/api/UserCallerTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/AccountFullSyncProcessorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/BaseServiceTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/DomainFullSyncProcessorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteAccountEventProcessorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteDomainEventProcessorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/RemoteUserEventProcessorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/service/UserFullSyncProcessorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorEventTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorAccountLocalGeneratorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorEventTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorDomainLocalGeneratorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorLocalGeneratorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorEventTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/simulator/SimulatorUserLocalGeneratorTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/AccountSubscriberTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/DomainSubscriberTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/MultiRegionSubscriberTest.java PRE-CREATION 
  plugins/event-bus/multiregion/test/org/apache/cloudstack/mom/multiregion/subscriber/UserSubscriberTest.java PRE-CREATION 
  server/src/com/cloud/multiregion/RsyncManager.java PRE-CREATION 
  server/src/com/cloud/multiregion/RsyncManagerImpl.java PRE-CREATION 

Diff: https://reviews.apache.org/r/17790/diff/


Testing
-------

1. Successfully tested real time synchronization as soon as resources are created/deleted/modified in one region.
2. Successfully tested full scans to synchronize resources that were missed during real time synchronization because of any reasons like network connection issues.
3. The tests were done manually and also automatically by randomly generating changes each region.


Thanks,

Alex Ough