Skip to content

rgw: more multisite dynamic resharding pieces.#34352

Merged
cbodley merged 5 commits intoceph:masterfrom
smanjara:wip-dynamic-resharding
Apr 30, 2020
Merged

rgw: more multisite dynamic resharding pieces.#34352
cbodley merged 5 commits intoceph:masterfrom
smanjara:wip-dynamic-resharding

Conversation

@smanjara
Copy link
Contributor

@smanjara smanjara commented Apr 1, 2020

rados object names of bi shard to take a unique id called
generation number.

Signed-off-by: Shilpa Jagannath smanjara@redhat.com

Checklist

  • References tracker ticket
  • Updates documentation if necessary
  • Includes tests for new functionality or reproducer for bug

Show available Jenkins commands
  • jenkins retest this please
  • jenkins test crimson perf
  • jenkins test signed
  • jenkins test make check
  • jenkins test make check arm64
  • jenkins test submodules
  • jenkins test dashboard
  • jenkins test dashboard backend
  • jenkins test docs
  • jenkins render docs
  • jenkins test ceph-volume all
  • jenkins test ceph-volume tox

@smanjara smanjara requested a review from cbodley April 1, 2020 19:14
@smanjara
Copy link
Contributor Author

smanjara commented Apr 1, 2020

there might be a better place from where generation number can be passed into RGWSI_BucketIndex_RADOS::get_bucket_index_object().

@cbodley
Copy link
Contributor

cbodley commented Apr 6, 2020

looks good! i think it's probably time to think about how to test these reshard changes. our teuthology suite mostly tests functionality using really small buckets, so we aren't covering resharding much at all

some work was started here in #22939. its gone very stale by now, but i think the approach was good - we need something that can issue s3 requests with boto to create buckets/objects, run radosgw-admin reshard commands, then verify the results. are you willing to resurrect that pr and get it working so we can build on it?

for this pr, can you at least do some smoke testing around reshards to make sure we didn't break anything obvious?

@smanjara
Copy link
Contributor Author

smanjara commented Apr 6, 2020

looks good! i think it's probably time to think about how to test these reshard changes. our teuthology suite mostly tests functionality using really small buckets, so we aren't covering resharding much at all

some work was started here in #22939. its gone very stale by now, but i think the approach was good - we need something that can issue s3 requests with boto to create buckets/objects, run radosgw-admin reshard commands, then verify the results. are you willing to resurrect that pr and get it working so we can build on it?

for this pr, can you at least do some smoke testing around reshards to make sure we didn't break anything obvious?

@cbodley sure. Will take a look at the pr. Thanks.

@smanjara
Copy link
Contributor Author

Managed to run some workunit tests.
http://qa-proxy.ceph.com/teuthology/smanjara-2020-04-15_13:05:12-rgw:verify-wip-shilpa-testing-distro-basic-smithi/4956997/teuthology.log

@cbodley Deleting objects are still failing. Looking into that.
The logs are a bit too verbose. Will tone it down.

@smanjara
Copy link
Contributor Author

@smanjara smanjara force-pushed the wip-dynamic-resharding branch 2 times, most recently from 7636e2e to f584d47 Compare April 24, 2020 06:28
@smanjara
Copy link
Contributor Author

@smanjara
Copy link
Contributor Author

@cbodley I have rebased on top of your fixes before running the full suite. Can we merge this one?

Shilpa Jagannath added 4 commits April 27, 2020 13:16
rados object names of bi shard to take a unique id called
generation number.

Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
for better flexibility.

Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
Comment on lines +51 to +62
def install_reqs():
out = exec_cmd('cat /etc/*release')
result = {}
for row in out.decode('utf8').split('\n'):
if '=' in row:
k, v = row.split('=')
result[k.strip()] = v.strip('""')
if result['NAME'] == 'Ubuntu':
exec_cmd('sudo apt install -y python3-pip')
else:
exec_cmd('sudo yum install -y python3-pip')
exec_cmd('sudo pip3 install boto3')
Copy link
Contributor

Choose a reason for hiding this comment

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

this shouldn't be installing stuff with sudo. if we need to set up some dependencies on the teuthology worker, i think we're better off creating a wrapper shell script that sets up a virtualenv and runs this script in it

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
@smanjara smanjara force-pushed the wip-dynamic-resharding branch from f584d47 to 71b657b Compare April 30, 2020 10:27
@cbodley cbodley merged commit 6c1f3cb into ceph:master Apr 30, 2020
@tchaikov
Copy link
Contributor

tchaikov commented May 1, 2020

@smanjara in future, could you prefix the title of your commit message with the subcomponent your are changing ? see https://github.com/ceph/ceph/blob/master/SubmittingPatches.rst#3-describe-your-changes

BUCKET_NAME1 = 'myfoo'
BUCKET_NAME2 = 'mybar'
VER_BUCKET_NAME = 'myver'
ENDPOINT = 'http://localhost:80'
Copy link
Contributor

Choose a reason for hiding this comment

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

this is failing when the rgw/verify suite runs with proto/https.yaml, because radosgw is running on port 443

@smanjara
Copy link
Contributor Author

smanjara commented May 5, 2020

@smanjara in future, could you prefix the title of your commit message with the subcomponent your are changing ? see https://github.com/ceph/ceph/blob/master/SubmittingPatches.rst#3-describe-your-changes

sure

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants