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