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