Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
  • S Schema
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 30
    • Issues 30
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 6
    • Merge requests 6
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Open Subsurface Data Universe Software
  • Platform
  • System
  • Schema
  • Merge requests
  • !153

Implementing the new methods introduced in provider/interfaces

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Aman Verma requested to merge users/amaverma/updateOtherCSPs into master Aug 26, 2021
  • Overview 11
  • Commits 53
  • Pipelines 21
  • Changes 31

This is the third MR for implementing ADR #51

Details:

Implementing the new methods introduced in MR !145 (merged) for IBM, GCP and AWS.

Summary of changes:

The central theme for changes is this:

  • There are two types of method signatures dealing with tenant specific operations. One is where dataPartitionId is included in method arguments and other where dataPartitionId is being read from the headers. Examples:
tenantSpecificOperation1(Val val, String datapartitionId) {
// some logic
}

tenantSpecificOperation2(Val val) {
dataPartitionId = headers.getDataPartitionId();
// some logic
}
  • For each tenant specific operation, there's an equivalent operation for system schemas, hence there's a system schema related operation for the same. In these methods, we are setting data-partition-id equal to the shared tenant id and calling the corresponding tenant specific method. Examples:

private void updateDataPartitionId() {
    headers.put(SchemaConstants.DATA_PARTITION_ID, sharedTenant);
}

SystemSchemaOperation1(Val val) {
tenantSpecificOperation1(val, sharedTenant);
}

SystemSchemaOperation1(Val val) {
updateDataPartitionId();
tenantSpecificOperation2(val);
}
  • This is needed because other CSPs are still using the sharedTenant (usually common) to handle the system schemas. Note that for azure there's no common tenant now and system schemas are being put in a dedicated resource group.

  • The same pattern is repeated for all the CSPs/ all the classes/ all the methods.

Similar MR for azure CSP: !146 (merged) Previous MR in schema-core for updating interface: !145 (merged)

Edited Sep 14, 2021 by Aman Verma
Assignee
Assign to
Reviewer
Request review from
Time tracking
Source branch: users/amaverma/updateOtherCSPs