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

jewel: rgw: aws4: add STREAMING-AWS4-HMAC-SHA256-PAYLOAD support #10167

Merged
merged 4 commits into from Aug 22, 2016

Conversation

jmunhoz
Copy link
Contributor

@jmunhoz jmunhoz commented Jul 6, 2016

When authenticating requests using the Authorization header in AWS4, you have
the option of uploading the payload in chunks. You can send data in fixed size
or variable size chunks.

This patch enables streaming mode and signed headers support with chunked
uploads.

Fixes: http://tracker.ceph.com/issues/16311

Signed-off-by: Javier M. Mellid jmunhoz@igalia.com
(cherry picked from commit 5de5876)

@smithfarm smithfarm added this to the jewel milestone Jul 7, 2016
@smithfarm
Copy link
Contributor

@jmunhoz Thanks for the backport. If @yehudasa agrees for this feature to be backported (ordinarily, only bugfixes are eligible for backport), then you could cherry-pick the commit from #9689 into this PR and we could include it in the next round of jewel integration testing.

@smithfarm
Copy link
Contributor

smithfarm commented Jul 7, 2016

@jmunhoz Could you cherry-pick this again and:

  1. use "git cherry-pick -x"
  2. leave the original commit message unchanged
  3. after the "(cherry picked from ...)" line, in the "Conflicts" section, describe how you resolved the conflict(s)

This is very helpful in case something unexpected happens and a forensic investigation becomes necessary.

@jmunhoz
Copy link
Contributor Author

jmunhoz commented Jul 8, 2016

@smithfarm sure! I would like to run some more manual testing on the backport so I will work on it for the next days.

@smithfarm smithfarm changed the title rgw: aws4: add STREAMING-AWS4-HMAC-SHA256-PAYLOAD support [DNM] rgw: aws4: add STREAMING-AWS4-HMAC-SHA256-PAYLOAD support Jul 8, 2016
@smithfarm
Copy link
Contributor

@jmunhoz Thanks! Marking DNM in the meantime.

rzarzynski and others added 3 commits July 29, 2016 13:15
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
(cherry picked from commit ddbb0ab)
This is purely for code maintainability.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
(cherry picked from commit 6f273eb)
When authenticating requests using the Authorization header in AWS4, you have
the option of uploading the payload in chunks. You can send data in fixed size
or variable size chunks.

This patch enables streaming mode and signed headers support with chunked
uploads.

Fixes: http://tracker.ceph.com/issues/16146

Signed-off-by: Javier M. Mellid <jmunhoz@igalia.com>
(cherry picked from commit 5de5876)

Conflicts:
	src/rgw/rgw_rest_s3.cc

No change required to resolve the conflict. Manual merge was enough.
@jmunhoz jmunhoz force-pushed the aws4-streaming-backport-jewel branch from ae1bde5 to 8cd7f44 Compare July 29, 2016 14:21
@jmunhoz
Copy link
Contributor Author

jmunhoz commented Jul 29, 2016

@smithfarm I would suggest backporting two commits related to memory management in AWS4. With those commits in place and simple manual fixing all things are working ok on my side.

@smithfarm
Copy link
Contributor

@jmunhoz If you think this needs #9689 I would suggest to cherry-pick that into this PR. Also the memory-management commits. As long as @oritwas and @yehudasa agree for this whole feature to be backported into jewel (the "default policy" is to backport only bugfixes, but exceptions can be made), then we might as well include everything, right?

Signed-off-by: Javier M. Mellid <jmunhoz@igalia.com>
(cherry picked from commit dd9f531)
@jmunhoz
Copy link
Contributor Author

jmunhoz commented Jul 30, 2016

@smithfarm I was considering adding #9689 as a new PR but now it is part of this batch as suggested. The memory-management commits are in place too. Thanks!

@smithfarm smithfarm changed the title [DNM] rgw: aws4: add STREAMING-AWS4-HMAC-SHA256-PAYLOAD support rgw: aws4: add STREAMING-AWS4-HMAC-SHA256-PAYLOAD support Jul 30, 2016
@smithfarm
Copy link
Contributor

@jmunhoz Good. I think including all relevant patches in a single PR makes it easier to test and review.

ghost pushed a commit that referenced this pull request Aug 8, 2016
…PAYLOAD support

Reviewed-by: Loic Dachary <ldachary@redhat.com>
@ghost
Copy link

ghost commented Aug 8, 2016

Hey jenkins, test this please ! (bluefs crash)

ghost pushed a commit that referenced this pull request Aug 9, 2016
…PAYLOAD support

Reviewed-by: Loic Dachary <ldachary@redhat.com>
@ghost ghost changed the title rgw: aws4: add STREAMING-AWS4-HMAC-SHA256-PAYLOAD support jewel: rgw: aws4: add STREAMING-AWS4-HMAC-SHA256-PAYLOAD support Aug 10, 2016
@ghost ghost self-assigned this Aug 10, 2016
ghost pushed a commit that referenced this pull request Aug 12, 2016
…SHA256-PAYLOAD support

Reviewed-by: Loic Dachary <ldachary@redhat.com>
@ghost
Copy link

ghost commented Aug 15, 2016

@mattbenjamin does this backport look good to merge ? It passed the rgw suite http://tracker.ceph.com/issues/16344#note-19 (the failure was due to another pull request).

@ghost ghost assigned mattbenjamin Aug 15, 2016
ghost pushed a commit that referenced this pull request Aug 16, 2016
…SHA256-PAYLOAD support

Reviewed-by: Loic Dachary <ldachary@redhat.com>
ghost pushed a commit that referenced this pull request Aug 17, 2016
…SHA256-PAYLOAD support

Reviewed-by: Loic Dachary <ldachary@redhat.com>
ghost pushed a commit that referenced this pull request Aug 22, 2016
…SHA256-PAYLOAD support

Reviewed-by: Loic Dachary <ldachary@redhat.com>
ghost pushed a commit that referenced this pull request Aug 22, 2016
…SHA256-PAYLOAD support

Reviewed-by: Loic Dachary <ldachary@redhat.com>
@oritwas oritwas merged commit e1bc847 into ceph:jewel Aug 22, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
5 participants