GitHub user borisroman opened a pull request: https://github.com/apache/cloudstack/pull/1083
CLOUDSTACK-9062: Improve S3 implementation. The S3 implementation is far from finished, this commit focuses on the bases. - Upgrade AWS SDK to latest version. - Rewrite S3 Template downloader. - Rewrite S3Utils utility class. - Improve addImageStoreS3 API command. - Split various classes for convenience. - Various minor improvements and code optimizations. A side effect of the new AWS SDK is that it, by default, uses the V4 signature. Therefore I added an option to specify the Signer, so it stays compatible with previous versions. Please review thoroughly, both code inspection and (automated) integration tests. Currently no integration tests are available specifically for S3. Therefore the implementation is needed to be tested manually, for now... What I tested: - Greenfield install -> will download latest systemvm template automatically to S3. - Upload a template/iso - Download a template/iso - Restart of management server -> list available templates -> doesn't download them again if available. You can merge this pull request into a Git repository by running: $ git pull https://github.com/borisroman/cloudstack CLOUDSTACK-9062 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/cloudstack/pull/1083.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1083 ---- commit 8ca0d0730a5739a209dbf7f138ed5e5c482783d8 Author: Boris Schrijver <bo...@pcextreme.nl> Date: 2015-11-13T01:19:24Z CLOUDSTACK-9062: Improve S3 implementation. The S3 implementation is far from finished, this commit focusses on the bases. - Upgrade AWS SDK to latest version. - Rewrite S3 Template downloader. - Rewrite S3Utils utility class. - Improve addImageStoreS3 API command. - Split various classes for convenience. - Various minor improvements and code optimalisations. A side effect of the new AWS SDK is that it, by default, uses the V4 signature. Therefore I added an option to specify the Signer, so it stays compatible with previous versions. ---- --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---