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/04/07 21:15:43 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 April 7, 2014, 7:14 p.m.)


Review request for cloudstack.


Changes
-------

This includes only the new plugin codes.
You can get the core changes in #20099.


Summary (updated)
-----------------

Domain-Account-User Sync Up Among Multiple Regions (New Plugin)


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/com/cloud/domain/Domain.java 365a705 
  api/src/com/cloud/event/EventTypes.java 39ef710 
  api/src/com/cloud/user/Account.java b912e51 
  api/src/com/cloud/user/AccountService.java 7e37b38 
  api/src/com/cloud/user/User.java 36e9028 
  api/src/com/cloud/user/UserAccount.java c5a0637 
  api/src/org/apache/cloudstack/api/ApiConstants.java fdb4558 
  api/src/org/apache/cloudstack/api/BaseCmd.java f6f21ae 
  api/src/org/apache/cloudstack/api/command/admin/region/AddRegionCmd.java f6743ba 
  api/src/org/apache/cloudstack/api/command/admin/region/UpdateRegionCmd.java b08cbbb 
  api/src/org/apache/cloudstack/api/response/AccountResponse.java 2e50c51 
  api/src/org/apache/cloudstack/api/response/DomainResponse.java 0c0281e 
  api/src/org/apache/cloudstack/api/response/RegionResponse.java 6c74fa6 
  api/src/org/apache/cloudstack/api/response/UserResponse.java 40e1561 
  api/src/org/apache/cloudstack/region/Region.java df64e44 
  api/src/org/apache/cloudstack/region/RegionService.java afefcc7 
  api/test/org/apache/cloudstack/api/command/test/RegionCmdTest.java 10c3d85 
  client/pom.xml d8dbde7 
  engine/schema/resources/META-INF/cloudstack/core/spring-engine-schema-core-daos-context.xml 489b37d 
  engine/schema/src/com/cloud/domain/DomainVO.java f6494b3 
  engine/schema/src/com/cloud/rmap/RmapVO.java PRE-CREATION 
  engine/schema/src/com/cloud/rmap/dao/RmapDao.java PRE-CREATION 
  engine/schema/src/com/cloud/rmap/dao/RmapDaoImpl.java PRE-CREATION 
  engine/schema/src/com/cloud/user/AccountVO.java 0f5a044 
  engine/schema/src/com/cloud/user/UserAccountVO.java cef9239 
  engine/schema/src/com/cloud/user/UserVO.java 68879f6 
  engine/schema/src/org/apache/cloudstack/region/RegionVO.java 608bd2b 
  framework/db/src/com/cloud/utils/db/Attribute.java 82c2bdb 
  framework/db/src/com/cloud/utils/db/GenericDao.java cb401cd 
  framework/db/src/com/cloud/utils/db/GenericDaoBase.java 2052aad 
  framework/db/src/com/cloud/utils/db/SqlGenerator.java befe34b 
  framework/db/test/com/cloud/utils/db/GenericDaoBaseTest.java aef0c69 
  framework/db/test/com/cloud/utils/db/SqlGeneratorTest.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/exception/InvalidDataException.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/exception/UnsupportedException.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 
  plugins/network-elements/juniper-contrail/test/org/apache/cloudstack/network/contrail/management/MockAccountManager.java 957f708 
  plugins/pom.xml 9b391b8 
  server/resources/META-INF/cloudstack/core/spring-server-core-managers-context.xml fc1c7e2 
  server/src/com/cloud/api/ApiDispatcher.java 95074e2 
  server/src/com/cloud/api/ApiResponseHelper.java 38f2f0b 
  server/src/com/cloud/api/dispatch/ParamProcessWorker.java e9bdd8b 
  server/src/com/cloud/api/query/dao/AccountJoinDaoImpl.java ecd97c7 
  server/src/com/cloud/api/query/dao/UserAccountJoinDaoImpl.java 923a238 
  server/src/com/cloud/api/query/vo/AccountJoinVO.java 8d642ed 
  server/src/com/cloud/api/query/vo/UserAccountJoinVO.java ed29284 
  server/src/com/cloud/event/ActionEventUtils.java 28e5680 
  server/src/com/cloud/projects/ProjectManagerImpl.java d10c059 
  server/src/com/cloud/user/AccountManager.java 03bf842 
  server/src/com/cloud/user/AccountManagerImpl.java 2070ee6 
  server/src/com/cloud/user/DomainManager.java f72b18a 
  server/src/com/cloud/user/DomainManagerImpl.java fbbe0c2 
  server/src/org/apache/cloudstack/region/RegionManager.java 6f25481 
  server/src/org/apache/cloudstack/region/RegionManagerImpl.java 8910714 
  server/src/org/apache/cloudstack/region/RegionServiceImpl.java 98cf500 
  server/test/com/cloud/api/dispatch/ParamProcessWorkerTest.java 12051a6 
  server/test/com/cloud/user/MockAccountManagerImpl.java f373cba 
  server/test/com/cloud/user/MockDomainManagerImpl.java 7dddefb 
  server/test/org/apache/cloudstack/region/RegionManagerTest.java d7bc537 
  setup/db/db/schema-440to450.sql 2bd5386 
  ui/scripts/regions.js 66dae8c 

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


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 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>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17790/
-----------------------------------------------------------

(Updated April 16, 2014, 7:07 p.m.)


Review request for cloudstack.


Changes
-------

Another update for the new plugin.


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)
-----

  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 

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 April 7, 2014, 7:17 p.m.)


Review request for cloudstack.


Changes
-------

This includes only the new plugin codes.
You can get the core changes in #20099.


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)
-----

  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/RmapVO.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/dao/RmapDao.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/dao/RmapDaoImpl.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 

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 April 7, 2014, 7:15 p.m.)


Review request for cloudstack.


Changes
-------

This includes only the new plugin codes.
You can get the core changes in #20099.


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/com/cloud/domain/Domain.java 365a705 
  api/src/com/cloud/event/EventTypes.java 39ef710 
  api/src/com/cloud/user/Account.java b912e51 
  api/src/com/cloud/user/AccountService.java 7e37b38 
  api/src/com/cloud/user/User.java 36e9028 
  api/src/com/cloud/user/UserAccount.java c5a0637 
  api/src/org/apache/cloudstack/api/ApiConstants.java fdb4558 
  api/src/org/apache/cloudstack/api/BaseCmd.java f6f21ae 
  api/src/org/apache/cloudstack/api/command/admin/region/AddRegionCmd.java f6743ba 
  api/src/org/apache/cloudstack/api/command/admin/region/UpdateRegionCmd.java b08cbbb 
  api/src/org/apache/cloudstack/api/response/AccountResponse.java 2e50c51 
  api/src/org/apache/cloudstack/api/response/DomainResponse.java 0c0281e 
  api/src/org/apache/cloudstack/api/response/RegionResponse.java 6c74fa6 
  api/src/org/apache/cloudstack/api/response/UserResponse.java 40e1561 
  api/src/org/apache/cloudstack/region/Region.java df64e44 
  api/src/org/apache/cloudstack/region/RegionService.java afefcc7 
  api/test/org/apache/cloudstack/api/command/test/RegionCmdTest.java 10c3d85 
  client/pom.xml d8dbde7 
  engine/schema/resources/META-INF/cloudstack/core/spring-engine-schema-core-daos-context.xml 489b37d 
  engine/schema/src/com/cloud/domain/DomainVO.java f6494b3 
  engine/schema/src/com/cloud/rmap/RmapVO.java PRE-CREATION 
  engine/schema/src/com/cloud/rmap/dao/RmapDao.java PRE-CREATION 
  engine/schema/src/com/cloud/rmap/dao/RmapDaoImpl.java PRE-CREATION 
  engine/schema/src/com/cloud/user/AccountVO.java 0f5a044 
  engine/schema/src/com/cloud/user/UserAccountVO.java cef9239 
  engine/schema/src/com/cloud/user/UserVO.java 68879f6 
  engine/schema/src/org/apache/cloudstack/region/RegionVO.java 608bd2b 
  framework/db/src/com/cloud/utils/db/Attribute.java 82c2bdb 
  framework/db/src/com/cloud/utils/db/GenericDao.java cb401cd 
  framework/db/src/com/cloud/utils/db/GenericDaoBase.java 2052aad 
  framework/db/src/com/cloud/utils/db/SqlGenerator.java befe34b 
  framework/db/test/com/cloud/utils/db/GenericDaoBaseTest.java aef0c69 
  framework/db/test/com/cloud/utils/db/SqlGeneratorTest.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/exception/InvalidDataException.java PRE-CREATION 
  plugins/event-bus/multiregion/src/org/apache/cloudstack/mom/multiregion/exception/UnsupportedException.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 
  plugins/network-elements/juniper-contrail/test/org/apache/cloudstack/network/contrail/management/MockAccountManager.java 957f708 
  plugins/pom.xml 9b391b8 
  server/resources/META-INF/cloudstack/core/spring-server-core-managers-context.xml fc1c7e2 
  server/src/com/cloud/api/ApiDispatcher.java 95074e2 
  server/src/com/cloud/api/ApiResponseHelper.java 38f2f0b 
  server/src/com/cloud/api/dispatch/ParamProcessWorker.java e9bdd8b 
  server/src/com/cloud/api/query/dao/AccountJoinDaoImpl.java ecd97c7 
  server/src/com/cloud/api/query/dao/UserAccountJoinDaoImpl.java 923a238 
  server/src/com/cloud/api/query/vo/AccountJoinVO.java 8d642ed 
  server/src/com/cloud/api/query/vo/UserAccountJoinVO.java ed29284 
  server/src/com/cloud/event/ActionEventUtils.java 28e5680 
  server/src/com/cloud/projects/ProjectManagerImpl.java d10c059 
  server/src/com/cloud/user/AccountManager.java 03bf842 
  server/src/com/cloud/user/AccountManagerImpl.java 2070ee6 
  server/src/com/cloud/user/DomainManager.java f72b18a 
  server/src/com/cloud/user/DomainManagerImpl.java fbbe0c2 
  server/src/org/apache/cloudstack/region/RegionManager.java 6f25481 
  server/src/org/apache/cloudstack/region/RegionManagerImpl.java 8910714 
  server/src/org/apache/cloudstack/region/RegionServiceImpl.java 98cf500 
  server/test/com/cloud/api/dispatch/ParamProcessWorkerTest.java 12051a6 
  server/test/com/cloud/user/MockAccountManagerImpl.java f373cba 
  server/test/com/cloud/user/MockDomainManagerImpl.java 7dddefb 
  server/test/org/apache/cloudstack/region/RegionManagerTest.java d7bc537 
  setup/db/db/schema-440to450.sql 2bd5386 
  ui/scripts/regions.js 66dae8c 

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