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

(Updated Feb. 10, 2014, 7:06 p.m.)


Review request for cloudstack.


Changes
-------

Updates for Daan's request.


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/com/cloud/domain/Domain.java befed07 
  api/src/com/cloud/event/EventTypes.java 77d2fab 
  api/src/com/cloud/user/Account.java 940a0eb 
  api/src/com/cloud/user/AccountService.java 8153a3f 
  api/src/com/cloud/user/User.java dcf27a0 
  api/src/com/cloud/user/UserAccount.java 0cb0f69 
  api/src/org/apache/cloudstack/api/ApiConstants.java 68abf8d 
  api/src/org/apache/cloudstack/api/BaseCmd.java acc1568 
  api/src/org/apache/cloudstack/api/response/AccountResponse.java 957936b 
  api/src/org/apache/cloudstack/api/response/DomainResponse.java 736a96c 
  api/src/org/apache/cloudstack/api/response/UserResponse.java e70a310 
  api/src/org/apache/cloudstack/region/Region.java c696fb2 
  
engine/schema/resources/META-INF/cloudstack/core/spring-engine-schema-core-daos-context.xml
 ea0bad9 
  engine/schema/src/com/cloud/domain/DomainVO.java a87bedc 
  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 4a7e73b 
  engine/schema/src/com/cloud/user/UserAccountVO.java cfad617 
  engine/schema/src/com/cloud/user/UserVO.java 2a85758 
  engine/schema/src/org/apache/cloudstack/region/RegionVO.java 36db8dd 
  framework/db/src/com/cloud/utils/db/Attribute.java 22fd969 
  framework/db/src/com/cloud/utils/db/GenericDao.java ef25d7f 
  framework/db/src/com/cloud/utils/db/GenericDaoBase.java 177cd5b 
  framework/db/src/com/cloud/utils/db/SqlGenerator.java 473e839 
  
plugins/event-bus/rabbitmq/src/org/apache/cloudstack/mom/rabbitmq/AccountSubscriber.java
 PRE-CREATION 
  
plugins/event-bus/rabbitmq/src/org/apache/cloudstack/mom/rabbitmq/DomainSubscriber.java
 PRE-CREATION 
  
plugins/event-bus/rabbitmq/src/org/apache/cloudstack/mom/rabbitmq/MultiRegionEventBus.java
 PRE-CREATION 
  
plugins/event-bus/rabbitmq/src/org/apache/cloudstack/mom/rabbitmq/MultiRegionSubscriber.java
 PRE-CREATION 
  
plugins/event-bus/rabbitmq/src/org/apache/cloudstack/mom/rabbitmq/UserSubscriber.java
 PRE-CREATION 
  
plugins/network-elements/juniper-contrail/test/org/apache/cloudstack/network/contrail/management/MockAccountManager.java
 195e932 
  server/resources/META-INF/cloudstack/core/spring-event-bus-context.xml 
PRE-CREATION 
  server/src/com/cloud/api/ApiDispatcher.java 9624c61 
  server/src/com/cloud/api/ApiResponseHelper.java 5bd8241 
  server/src/com/cloud/api/query/dao/AccountJoinDaoImpl.java edbd3ae 
  server/src/com/cloud/api/query/dao/UserAccountJoinDaoImpl.java 4ad8a8f 
  server/src/com/cloud/api/query/vo/AccountJoinVO.java 2ec45d3 
  server/src/com/cloud/api/query/vo/UserAccountJoinVO.java c020c01 
  server/src/com/cloud/event/ActionEventUtils.java 00122de 
  server/src/com/cloud/projects/ProjectManagerImpl.java 22e2020 
  server/src/com/cloud/region/api_interface/AccountInterface.java PRE-CREATION 
  server/src/com/cloud/region/api_interface/BaseInterface.java PRE-CREATION 
  server/src/com/cloud/region/api_interface/DomainInterface.java PRE-CREATION 
  server/src/com/cloud/region/api_interface/UserInterface.java PRE-CREATION 
  server/src/com/cloud/region/service/AccountFullSyncProcessor.java 
PRE-CREATION 
  server/src/com/cloud/region/service/AccountService.java PRE-CREATION 
  server/src/com/cloud/region/service/BaseService.java PRE-CREATION 
  server/src/com/cloud/region/service/DomainFullSyncProcessor.java PRE-CREATION 
  server/src/com/cloud/region/service/DomainService.java PRE-CREATION 
  server/src/com/cloud/region/service/FullScanner.java PRE-CREATION 
  server/src/com/cloud/region/service/FullSyncProcessor.java PRE-CREATION 
  server/src/com/cloud/region/service/LocalAccountManager.java PRE-CREATION 
  server/src/com/cloud/region/service/LocalDomainManager.java PRE-CREATION 
  server/src/com/cloud/region/service/LocalUserManager.java PRE-CREATION 
  server/src/com/cloud/region/service/RemoteAccountEventProcessor.java 
PRE-CREATION 
  server/src/com/cloud/region/service/RemoteDomainEventProcessor.java 
PRE-CREATION 
  server/src/com/cloud/region/service/RemoteEventProcessor.java PRE-CREATION 
  server/src/com/cloud/region/service/RemoteUserEventProcessor.java 
PRE-CREATION 
  server/src/com/cloud/region/service/UserFullSyncProcessor.java PRE-CREATION 
  server/src/com/cloud/region/service/UserService.java PRE-CREATION 
  server/src/com/cloud/region/simulator/AccountLocalGenerator.java PRE-CREATION 
  server/src/com/cloud/region/simulator/AccountLocalGeneratorEvent.java 
PRE-CREATION 
  server/src/com/cloud/region/simulator/AutoGenerator.java PRE-CREATION 
  server/src/com/cloud/region/simulator/DomainLocalGenerator.java PRE-CREATION 
  server/src/com/cloud/region/simulator/DomainLocalGeneratorEvent.java 
PRE-CREATION 
  server/src/com/cloud/region/simulator/LocalGenerator.java PRE-CREATION 
  server/src/com/cloud/region/simulator/UserLocalGenerator.java PRE-CREATION 
  server/src/com/cloud/region/simulator/UserLocalGeneratorEvent.java 
PRE-CREATION 
  server/src/com/cloud/server/StatsCollector.java 45fc43e 
  server/src/com/cloud/user/AccountManager.java 2e909c8 
  server/src/com/cloud/user/AccountManagerImpl.java d367653 
  server/src/com/cloud/user/DomainManager.java 7bc2abb 
  server/src/com/cloud/user/DomainManagerImpl.java 036110b 
  server/test/com/cloud/user/MockAccountManagerImpl.java 38cc1a84 
  server/test/com/cloud/user/MockDomainManagerImpl.java aab8001 
  setup/db/db/schema-421to430.sql 316cbe9 
  tools/devcloud/devcloud-advanced.cfg fb25d03 

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

Reply via email to