Rohit, please refer to the thread with "Review Request 20099” subject and concerns raised by John Burwell.
-Alena. From: Rohit Yadav <bhais...@apache.org<mailto:bhais...@apache.org>> Reply-To: "dev@cloudstack.apache.org<mailto:dev@cloudstack.apache.org>" <dev@cloudstack.apache.org<mailto:dev@cloudstack.apache.org>>, Rohit Yadav <bhais...@apache.org<mailto:bhais...@apache.org>> Date: Friday, December 5, 2014 at 10:41 AM To: cloudstack <dev@cloudstack.apache.org<mailto:dev@cloudstack.apache.org>>, Alex Ough <alex.o...@sungard.com<mailto:alex.o...@sungard.com>>, Rohit Yadav <bhais...@apache.org<mailto:bhais...@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