Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Remote Store] Add support to restrict creation & deletion if system repository and mutation of immutable settings of system repository #9839

Merged

Conversation

psychbot
Copy link
Member

@psychbot psychbot commented Sep 6, 2023

Description

Today with system repository being introduced as part of remote store we allow user to update all the settings of a repository. This can be catastrophic for remote store if a user midway updates the critical settings like location for FS repository all the indices will start failing as the new location will not have any of the historical information.

If a remote store repository is registered and being used against an index it will have to remain entact/unmodified(atleast some of the attributes of a repository) till the index lifecycle.

Related Issues

#8623
#9105

Check List

  • New functionality includes testing.
    • All tests pass
  • New functionality has been documented.
    • New functionality has javadoc added
  • Commits are signed per the DCO using --signoff
  • Commit changes are listed out in CHANGELOG.md file (See: Changelog)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@github-actions
Copy link
Contributor

github-actions bot commented Sep 6, 2023

Compatibility status:

Checks if related components are compatible with change 402da4c

Incompatible components

Skipped components

Compatible components

Compatible components: [https://github.com/opensearch-project/security-analytics.git, https://github.com/opensearch-project/security.git, https://github.com/opensearch-project/custom-codecs.git, https://github.com/opensearch-project/opensearch-oci-object-storage.git, https://github.com/opensearch-project/index-management.git, https://github.com/opensearch-project/geospatial.git, https://github.com/opensearch-project/sql.git, https://github.com/opensearch-project/notifications.git, https://github.com/opensearch-project/job-scheduler.git, https://github.com/opensearch-project/observability.git, https://github.com/opensearch-project/neural-search.git, https://github.com/opensearch-project/k-nn.git, https://github.com/opensearch-project/cross-cluster-replication.git, https://github.com/opensearch-project/alerting.git, https://github.com/opensearch-project/anomaly-detection.git, https://github.com/opensearch-project/performance-analyzer.git, https://github.com/opensearch-project/asynchronous-search.git, https://github.com/opensearch-project/ml-commons.git, https://github.com/opensearch-project/performance-analyzer-rca.git, https://github.com/opensearch-project/common-utils.git, https://github.com/opensearch-project/reporting.git]

@github-actions
Copy link
Contributor

github-actions bot commented Sep 6, 2023

Gradle Check (Jenkins) Run Completed with:

@github-actions
Copy link
Contributor

github-actions bot commented Sep 6, 2023

Compatibility status:

Checks if related components are compatible with change f82142d

Incompatible components

Incompatible components: [https://github.com/opensearch-project/sql.git, https://github.com/opensearch-project/cross-cluster-replication.git, https://github.com/opensearch-project/neural-search.git]

Skipped components

Compatible components

Compatible components: [https://github.com/opensearch-project/security.git, https://github.com/opensearch-project/alerting.git, https://github.com/opensearch-project/index-management.git, https://github.com/opensearch-project/anomaly-detection.git, https://github.com/opensearch-project/job-scheduler.git, https://github.com/opensearch-project/asynchronous-search.git, https://github.com/opensearch-project/observability.git, https://github.com/opensearch-project/common-utils.git, https://github.com/opensearch-project/k-nn.git, https://github.com/opensearch-project/reporting.git, https://github.com/opensearch-project/geospatial.git, https://github.com/opensearch-project/ml-commons.git, https://github.com/opensearch-project/notifications.git, https://github.com/opensearch-project/performance-analyzer.git, https://github.com/opensearch-project/performance-analyzer-rca.git, https://github.com/opensearch-project/security-analytics.git, https://github.com/opensearch-project/opensearch-oci-object-storage.git]

@github-actions
Copy link
Contributor

github-actions bot commented Sep 6, 2023

Gradle Check (Jenkins) Run Completed with:

@github-actions
Copy link
Contributor

github-actions bot commented Sep 7, 2023

Gradle Check (Jenkins) Run Completed with:

@github-actions
Copy link
Contributor

github-actions bot commented Sep 7, 2023

Compatibility status:

Checks if related components are compatible with change 2c7b244

Incompatible components

Incompatible components: [https://github.com/opensearch-project/neural-search.git, https://github.com/opensearch-project/sql.git]

Skipped components

Compatible components

Compatible components: [https://github.com/opensearch-project/geospatial.git, https://github.com/opensearch-project/security.git, https://github.com/opensearch-project/notifications.git, https://github.com/opensearch-project/index-management.git, https://github.com/opensearch-project/security-analytics.git, https://github.com/opensearch-project/job-scheduler.git, https://github.com/opensearch-project/observability.git, https://github.com/opensearch-project/opensearch-oci-object-storage.git, https://github.com/opensearch-project/k-nn.git, https://github.com/opensearch-project/cross-cluster-replication.git, https://github.com/opensearch-project/alerting.git, https://github.com/opensearch-project/anomaly-detection.git, https://github.com/opensearch-project/ml-commons.git, https://github.com/opensearch-project/asynchronous-search.git, https://github.com/opensearch-project/performance-analyzer.git, https://github.com/opensearch-project/performance-analyzer-rca.git, https://github.com/opensearch-project/common-utils.git, https://github.com/opensearch-project/reporting.git]

@psychbot psychbot force-pushed the system-repo-restricted-settings branch from 2c7b244 to 14f8f3a Compare September 11, 2023 08:12
@github-actions
Copy link
Contributor

Gradle Check (Jenkins) Run Completed with:

@github-actions
Copy link
Contributor

Gradle Check (Jenkins) Run Completed with:

@psychbot psychbot changed the title [Remote Store] Introducing concept of RestrictedSystemRepositorySettings for system repository [Remote Store] Adding support to restrict creation & deletion if system repository and mutation of immutable settings of system repository Sep 12, 2023
@psychbot psychbot force-pushed the system-repo-restricted-settings branch from 92dcccc to d88a3ef Compare September 14, 2023 19:38
@github-actions
Copy link
Contributor

Gradle Check (Jenkins) Run Completed with:

@github-actions
Copy link
Contributor

Gradle Check (Jenkins) Run Completed with:

@github-actions
Copy link
Contributor

Gradle Check (Jenkins) Run Completed with:

@psychbot psychbot force-pushed the system-repo-restricted-settings branch from 265b0c4 to dbf5fe6 Compare September 18, 2023 07:04
@github-actions
Copy link
Contributor

Gradle Check (Jenkins) Run Completed with:

Copy link
Collaborator

@Bukhtawar Bukhtawar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have we evaluated https://github.com/opensearch-project/OpenSearch/blob/main/server/src/main/java/org/opensearch/rest/action/admin/cluster/RestReloadSecureSettingsAction.java#L89
dynamic reload of repository. All repository already implement ReloadablePlugin interface

@psychbot psychbot force-pushed the system-repo-restricted-settings branch from dbf5fe6 to 0f16a6b Compare September 19, 2023 21:47
@psychbot psychbot marked this pull request as ready for review September 19, 2023 21:47
Signed-off-by: Dharmesh 💤 <[email protected]>
Signed-off-by: Dharmesh 💤 <[email protected]>
Signed-off-by: Dharmesh 💤 <[email protected]>
Signed-off-by: Dharmesh 💤 <[email protected]>
@psychbot psychbot force-pushed the system-repo-restricted-settings branch from 5a15c06 to 772ddd2 Compare October 4, 2023 05:57
@github-actions
Copy link
Contributor

github-actions bot commented Oct 4, 2023

Gradle Check (Jenkins) Run Completed with:

@github-actions
Copy link
Contributor

github-actions bot commented Oct 4, 2023

Gradle Check (Jenkins) Run Completed with:

@sachinpkale sachinpkale changed the title [Remote Store] Adding support to restrict creation & deletion if system repository and mutation of immutable settings of system repository [Remote Store] Add support to restrict creation & deletion if system repository and mutation of immutable settings of system repository Oct 4, 2023
@github-actions
Copy link
Contributor

github-actions bot commented Oct 4, 2023

Gradle Check (Jenkins) Run Completed with:

@github-actions
Copy link
Contributor

github-actions bot commented Oct 4, 2023

Gradle Check (Jenkins) Run Completed with:

  • RESULT: UNSTABLE ❕
  • TEST FAILURES:
      1 org.opensearch.snapshots.CloneSnapshotIT.testCloneShallowSnapshotIndex

Signed-off-by: Dharmesh 💤 <[email protected]>
@psychbot psychbot force-pushed the system-repo-restricted-settings branch from 4d6d1b9 to 402da4c Compare October 4, 2023 11:49
@github-actions
Copy link
Contributor

github-actions bot commented Oct 4, 2023

Gradle Check (Jenkins) Run Completed with:

  • RESULT: UNSTABLE ❕
  • TEST FAILURES:
      1 org.opensearch.repositories.azure.AzureBlobContainerRetriesTests.testWriteLargeBlob

@sachinpkale sachinpkale merged commit 699d235 into opensearch-project:main Oct 4, 2023
12 of 13 checks passed
@sachinpkale sachinpkale added the backport 2.x Backport to 2.x branch label Oct 4, 2023
@opensearch-trigger-bot
Copy link
Contributor

The backport to 2.x failed:

The process '/usr/bin/git' failed with exit code 128

To backport manually, run these commands in your terminal:

# Navigate to the root of your repository
cd $(git rev-parse --show-toplevel)
# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add ../.worktrees/OpenSearch/backport-2.x 2.x
# Navigate to the new working tree
pushd ../.worktrees/OpenSearch/backport-2.x
# Create a new branch
git switch --create backport/backport-9839-to-2.x
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 699d235a7edad81be19dabbb57e2933ad4f1b6d6
# Push it to GitHub
git push --set-upstream origin backport/backport-9839-to-2.x
# Go back to the original working tree
popd
# Delete the working tree
git worktree remove ../.worktrees/OpenSearch/backport-2.x

Then, create a pull request where the base branch is 2.x and the compare/head branch is backport/backport-9839-to-2.x.

@rramachand21 rramachand21 added the v2.11.0 Issues and PRs related to version 2.11.0 label Oct 4, 2023
@psychbot psychbot deleted the system-repo-restricted-settings branch October 4, 2023 16:28
psychbot added a commit to psychbot/OpenSearch that referenced this pull request Oct 4, 2023
…ion if system repository and mutation of immutable settings of system repository (opensearch-project#9839)

---------

Signed-off-by: Dharmesh 💤 <[email protected]>
(cherry picked from commit 699d235)
Signed-off-by: Dharmesh 💤 <[email protected]>
sachinpkale pushed a commit that referenced this pull request Oct 5, 2023
…ion if system repository and mutation of immutable settings of system repository (#9839) (#10364)

---------


(cherry picked from commit 699d235)

Signed-off-by: Dharmesh 💤 <[email protected]>
deshsidd pushed a commit to deshsidd/OpenSearch that referenced this pull request Oct 9, 2023
…repository and mutation of immutable settings of system repository (opensearch-project#9839)

---------

Signed-off-by: Dharmesh 💤 <[email protected]>
vikasvb90 pushed a commit to vikasvb90/OpenSearch that referenced this pull request Oct 10, 2023
…repository and mutation of immutable settings of system repository (opensearch-project#9839)

---------

Signed-off-by: Dharmesh 💤 <[email protected]>
shiv0408 pushed a commit to Gaurav614/OpenSearch that referenced this pull request Apr 25, 2024
…repository and mutation of immutable settings of system repository (opensearch-project#9839)

---------

Signed-off-by: Dharmesh 💤 <[email protected]>
Signed-off-by: Shivansh Arora <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport 2.x Backport to 2.x branch backport-failed v2.11.0 Issues and PRs related to version 2.11.0
Projects
Status: 2.11.0 - (Launched)
Development

Successfully merging this pull request may close these issues.

5 participants