Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Templates, Snapshots, EIP and ELP work is not part of this spec. There are being tracked separately as per JIRA tickets mentioned above.

Any failure to sync API calls will be logged in region_sync table. It is the responsibility if the cloud operator to propagate these changes offline.

Usage

Usage records will be generated by each Region separately. Portal layer above CS should combine usage across Regions into a consolidated invoice.

...

1. Since all update/delete operations are forwarded to the source region (i.e the region where the resource was initially created), if the source region is down, these operations will fail

2. Any failure to sync API calls will be logged in region_sync table. It will be the responsibility of the cloud operator to propagate these changes offline.

Upgrade

During upgrade, flexibility will be provided to move existing zones into any Region.

...

  • Each zone becomes part of a separate Region: Copy existing DB to all Regions and disable all zones except one in each Region.
  • All zones remain in the same Region: Nothing to do here. 
  • Zones are divided among Regions:  Copy existing DB to all regions and disabling the zones in all Regions other than the selected Region
  • First Region Id will become the source Region Id for all Account/User/Domain resources 

Scripts

Offline scripts will be provided to move data across regions to ease upgrade and adding new Regions.

UI flow

  • User/Admin should be able to view all Regions by logging into a MS of any of the Regions. User then should be able to select a specific Region to view details of that Region.
  • Users should be able to switch between various regions for UI using Single Sign-On.

Sample Workflow

Single Region

If an environment has only 1 region, functionality will be same as the current CS installation.  Id of this region will be 1. All accounts/users/domains will have region_is as 1

Adding 2nd Region

1. Install a 2nd CS instance.

2. Before staring the mgmt server for the 1st time, set region id in db.properties(for all mgmt servers in region 2) by adding below line

       region.id=2

3. Start mgmt server

4. Using addRegion API, add region 1 to region 2 and also region 2 to region 1.

5. copy account/user/domain tables from Region1 DB to Region2 DB

Adding 3rd and subsequent Regions

1. Install CS in all new regions

2. Before staring the mgmt server for the 1st time, set region id in db.properties(for all mgmt servers in region N) by adding below line

       region.id=<n> 

3. Start mgmt server

4. Using addRegion API, add existing regions to region n and also region n to all existing regions

5. copy account/user/domain tables from any existing Region DB to RegionN DB

Remove Region

1. Ownership of all the resource created in the region being removed(say Region 3) should change to another region. Set region_id =1 (or one of the other regions) for account/user/doman tables where region_id = 3

2. Remove region from all other regions using removeRegion API

Appendix

Appendix A:

Appendix B: