8000 [4.18 system test] Test bucket replication with object versioning by mashetty330 · Pull Request #11111 · red-hat-storage/ocs-ci · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

[4.18 system test] Test bucket replication with object versioning #11111

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

Open
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

mashetty330
Copy link
Contributor
@mashetty330 mashetty330 commented Jan 6, 2025

This PR covers the system test automation for 4.18 feature "MCG Bucket Replication - Support versioning"

@mashetty330 mashetty330 added team/e2e E2E team related issues/PRs do-not-merge/work-in-progress labels Jan 6, 2025
@mashetty330 mashetty330 self-assigned this Jan 6, 2025
@mashetty330 mashetty330 requested review from a team as code owners January 6, 2025 14:04
@pull-request-size pull-request-size bot added the size/L PR that changes 100-499 lines label Jan 6, 2025
@mashetty330 mashetty330 force-pushed the replication-versioning branch 2 times, most recently from 15b08bd to 8a2e43f Compare January 9, 2025 15:57
@pull-request-size pull-request-size bot added size/XL and removed size/L PR that changes 100-499 lines labels Jan 9, 2025
@mashetty330 mashetty330 force-pushed the replication-versioning branch from a82967a to 48f3551 Compare January 27, 2025 12:38
Copy link
@ocs-ci ocs-ci left a comment

Choose a reason for hiding this comment

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

PR validation on existing cluster

Cluster Name: mashetty-vmf03
Cluster Configuration: conf/deployment/vsphere/ipi_1az_rhcos_vsan_3m_3w.yaml conf/ocsci/enable_huge_pages.yaml conf/ocsci/encryption_in_transit.yaml
PR Test Suite:
PR Test Path: tests/cross_functional/system_test/test_mcg_replication_with_disruptions.py::TestMCGReplicationWithVersioningSystemTest::test_bucket_replication_with_versioning_system_test
Additional Test Params:
OCP VERSION: 4.18
OCS VERSION: 4.18
tested against branch: master

Job UNSTABLE (some or all tests failed).

@mashetty330 mashetty330 force-pushed the replication-versioning branch 2 times, most recently from 927ca32 to b4c0c15 Compare February 3, 2025 12:40
Copy link
@ocs-ci ocs-ci left a comment

Choose a reason for hiding this comment

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

PR validation on existing cluster

Cluster Name: mashetty-vmf03
Cluster Configuration: conf/deployment/vsphere/ipi_1az_rhcos_vsan_3m_3w.yaml conf/ocsci/enable_huge_pages.yaml conf/ocsci/encryption_in_transit.yaml
PR Test Suite:
PR Test Path: tests/cross_functional/system_test/test_mcg_replication_with_disruptions.py::TestMCGReplicationWithVersioningSystemTest::test_bucket_replication_with_versioning_system_test
Additional Test Params:
OCP VERSION: 4.18
OCS VERSION: 4.18
tested against branch: master

Job UNSTABLE (some or all tests failed).

Copy link
@ocs-ci ocs-ci left a comment

Choose a reason for hiding this comment

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

PR validation on existing cluster

Cluster Name: mashetty-vmf03
Cluster Configuration: conf/deployment/vsphere/ipi_1az_rhcos_vsan_3m_3w.yaml conf/ocsci/enable_huge_pages.yaml conf/ocsci/encryption_in_transit.yaml
PR Test Suite:
PR Test Path: tests/cross_functional/system_test/test_mcg_replication_with_disruptions.py::TestMCGReplicationWithVersioningSystemTest::test_bucket_replication_with_versioning_system_test
Additional Test Params:
OCP VERSION: 4.18
OCS VERSION: 4.18
tested against branch: master

Job UNSTABLE (some or all tests failed).

Copy link
@ocs-ci ocs-ci left a comment

Choose a reason for hiding this comment

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

PR validation on existing cluster

Cluster Name: mashetty-vmf26
Cluster Configuration: conf/deployment/vsphere/ipi_1az_rhcos_vsan_3m_3w.yaml conf/ocsci/enable_huge_pages.yaml conf/ocsci/encryption_in_transit.yaml
PR Test Suite:
PR Test Path: tests/cross_functional/system_test/test_mcg_replication_with_disruptions.py::TestMCGReplicationWithVersioningSystemTest::test_bucket_replication_with_versioning_system_test
Additional Test Params:
OCP VERSION: 4.18
OCS VERSION: 4.18
tested against branch: master

Job UNSTABLE (some or all tests failed).

Copy link
@ocs-ci ocs-ci left a comment

Choose a reason for hiding this comment

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

PR validation on existing cluster

Cluster Name: mashetty-vmf26
Cluster Configuration: conf/deployment/vsphere/ipi_1az_rhcos_vsan_3m_3w.yaml conf/ocsci/enable_huge_pages.yaml conf/ocsci/encryption_in_transit.yaml
PR Test Suite:
PR Test Path: tests/cross_functional/system_test/test_mcg_replication_with_disruptions.py::TestMCGReplicationWithVersioningSystemTest::test_bucket_replication_with_versioning_system_test
Additional Test Params:
OCP VERSION: 4.18
OCS VERSION: 4.18
tested against branch: master

Job UNSTABLE (some or all tests failed).

Copy link
@ocs-ci ocs-ci left a comment

Choose a reason for hiding this comment

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

PR validation on existing cluster

Cluster Name: mashetty-vmf26
Cluster Configuration: conf/deployment/vsphere/ipi_1az_rhcos_vsan_3m_3w.yaml conf/ocsci/enable_huge_pages.yaml conf/ocsci/encryption_in_transit.yaml
PR Test Suite:
PR Test Path: tests/cross_functional/system_test/test_mcg_replication_with_disruptions.py::TestMCGReplicationWithVersioningSystemTest::test_bucket_replication_with_versioning_system_test
Additional Test Params:
OCP VERSION: 4.18
OCS VERSION: 4.18
tested against branch: master

Job UNSTABLE (some or all tests failed).

Copy link
@ocs-ci ocs-ci left a comment

Choose a reason for hiding this comment

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

PR validation on existing cluster

Cluster Name: mashetty-vmf28
Cluster Configuration: conf/deployment/vsphere/ipi_1az_rhcos_vsan_3m_3w.yaml conf/ocsci/enable_huge_pages.yaml conf/ocsci/encryption_in_transit.yaml
PR Test Suite:
PR Test Path: tests/cross_functional/system_test/test_mcg_replication_with_disruptions.py::TestMCGReplicationWithVersioningSystemTest::test_bucket_replication_with_versioning_system_test
Additional Test Params:
OCP VERSION: 4.18
OCS VERSION: 4.18
tested against branch: master

Job UNSTABLE (some or all tests failed).

Copy link
@ocs-ci ocs-ci left a comment

Choose a reason for hiding this comment

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

PR validation on existing cluster

Cluster Name: mashetty-vmf28
Cluster Configuration: conf/deployment/vsphere/ipi_1az_rhcos_vsan_3m_3w.yaml conf/ocsci/enable_huge_pages.yaml conf/ocsci/encryption_in_transit.yaml
PR Test Suite:
PR Test Path: tests/cross_functional/system_test/test_mcg_replication_with_disruptions.py::TestMCGReplicationWithVersioningSystemTest::test_bucket_replication_with_versioning_system_test
Additional Test Params:
OCP VERSION: 4.18
OCS VERSION: 4.18
tested against branch: master

Job UNSTABLE (some or all tests failed).

@mashetty330 mashetty330 force-pushed the replication-versioning branch from 12f0134 to e4fe273 Compare March 20, 2025 05:42
Comment on lines 3263 to 3265
def verify_deletion_marker(mcg_obj, awscli_pod, bucket_name, object_key):
"""
Verify if deletion marker exists for the given object key
Copy link
Contributor

Choose a reason for hiding this comment

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

It's possible to have a delete marker with IsLatest=false:

$ my_s3 api put-bucket-versioning --bucket first.bucket --versioning-configuration Status=Enabled
$ echo 'a0' | my_s3 cp - s3://first.bucket/a
$ echo 'a1' | my_s3 cp - s3://first.bucket/a
$ my_s3 rm s3://first.bucket/a
delete: s3://first.bucket/a
$ echo 'a2' | my_s3 cp - s3://first.bucket/a
$ my_s3 api list-object-versions --bucket first.bucket | jq .DeleteMarkers
[
  {
    "Owner": {
      "DisplayName": "admin@noobaa.io",
      "ID": "67ebd24eaac453001d17838d"
    },
    "Key": "a",
    "VersionId": "nbver-3",
    "IsLatest": false,
    "LastModified": "2025-04-02T14:00:57+00:00"
  }
]

So please refine the method's name and docstring accordingly:

Suggested change
def verify_deletion_marker(mcg_obj, awscli_pod, bucket_name, object_key):
"""
Verify if deletion marker exists for the given object key
def verify_soft_deletion(mcg_obj, awscli_pod, bucket_name, object_key):
"""
Verify if deletion marker exists and IsLatest for the given object key

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@sagihirshfeld sure. why do you call it soft deletion?

Copy link
Contributor

Choose a reason for hiding this comment

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

Soft deletion means it's an impermanent and reversible operation.
On a versioned bucket if an object has a delete marker with IsLatest=True, it means we can undelete it by deleting the delete marker, thus the operation that would cause it is considered soft-deletion. Hard-deletion would be if we deleted the version itself via aws s3api delete-object --bucket my-bucket --key my-object --version-id abc123.

This is all just terminology though - use whatever name you like as long as it's not misleading like the previous one.

@mcg
@magenta_squad
@system_test
class TestMCGReplicationWithVersioningSystemTest:
Copy link
Contributor

Choose a reason for hiding this comment

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

Log-based replication assumes connectivity to AWS:

Suggested change
class TestMCGReplicationWithVersioningSystemTest:
@skipif_aws_creds_are_missing
@skipif_disconnected_cluster
class TestMCGReplicationWithVersioningSystemTest:

Copy link
openshift-ci bot commented Apr 4, 2025

New changes are detected. LGTM label has been removed.

Copy link
openshift-ci bot commented Apr 4, 2025

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: mashetty330

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

1 similar comment
Copy link
openshift-ci bot commented Apr 4, 2025

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: mashetty330

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@mashetty330
Copy link
Contributor Author

This PR raised against master (release-4.19 as of today) is closed because of the change in noobaa db HA implementation. This would break many of the MCG system test regression runs as the step to perform Noobaa db backup and recovery will be completely revamped.

New PR against release-4.18 branch is raised: #11871

Copy link
@ocs-ci ocs-ci left a comment

Choose a reason for hiding this comment

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

PR validation on existing cluster

Cluster Name: mashetty-vm24
Cluster Configuration:
PR Test Suite:
PR Test Path: tests/cross_functional/system_test/test_mcg_replication_with_disruptions.py::TestMCGReplicationWithVersioningSystemTest
Additional Test Params:
OCP VERSION: 4.19
OCS VERSION: 4.19
tested against branch: master

Job UNSTABLE (some or all tests failed).

Copy link
@ocs-ci ocs-ci left a comment

Choose a reason for hiding this comment

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

PR validation on existing cluster

Cluster Name: mashetty-vm27
Cluster Configuration:
PR Test Suite:
PR Test Path: tests/cross_functional/system_test/test_mcg_replication_with_disruptions.py::TestMCGReplicationWithVersioningSystemTest
Additional Test Params:
OCP VERSION: 4.19
OCS VERSION: 4.19
tested against branch: master

Job UNSTABLE (some or all tests failed).

Mahesh Shetty added 7 commits May 27, 2025 13:54
Signed-off-by: Mahesh Shetty <mashetty@Maheshs-MacBook-Pro.local>
Signed-off-by: Mahesh Shetty <mashetty@Maheshs-MacBook-Pro.local>
Signed-off-by: Mahesh Shetty <mashetty@Maheshs-MacBook-Pro.local>
Signed-off-by: Mahesh Shetty <mashetty@Maheshs-MacBook-Pro.local>
Signed-off-by: Mahesh Shetty <mashetty@Maheshs-MacBook-Pro.local>
Signed-off-by: Mahesh Shetty <mashetty@Maheshs-MacBook-Pro.local>
Signed-off-by: Mahesh Shetty <mashetty@Maheshs-MacBook-Pro.local>
@mashetty330 mashetty330 force-pushed the replication-versioning branch from 538982e to 08c019a Compare May 27, 2025 08:25
Copy link
@ocs-ci ocs-ci left a comment

Choose a reason for hiding this comment

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

PR validation on existing cluster

Cluster Name: mashetty-vm27
Cluster Configuration:
PR Test Suite:
PR Test Path: tests/cross_functional/system_test/test_mcg_replication_with_disruptions.py::TestMCGReplicationWithVersioningSystemTest
Additional Test Params:
OCP VERSION: 4.19
OCS VERSION: 4.19
tested against branch: master

Job UNSTABLE (some or all tests failed).

Signed-off-by: Mahesh Shetty <mashetty@Maheshs-MacBook-Pro.local>
Copy link
@ocs-ci ocs-ci left a comment

Choose a reason for hiding this comment

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

PR validation on existing cluster

Cluster Name: mashetty-vm27
Cluster Configuration:
PR Test Suite:
PR Test Path: tests/cross_functional/system_test/test_mcg_replication_with_disruptions.py::TestMCGReplicationWithVersioningSystemTest
Additional Test Params:
OCP VERSION: 4.19
OCS VERSION: 4.19
tested against branch: master

Job PASSED.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
MCG Multi Cloud Gateway / NooBaa related issues size/XL team/e2e E2E team related issues/PRs Verified Mark when PR was verified and log provided
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants
0