Can't wait to try it. Kevin F.
Sent from my phone On May 30, 2012, at 3:59 PM, Chiradeep Vittal <[email protected]> wrote: > The S3 API formerly in the "Cloud Bridge" source has been moved to > CloudStack. > Several bugs have been fixed and more features have been supported. > The complete list of supported APIs can be found here: > S3 API Page: http://wiki.cloudstack.org/display/RelOps/S3+API+in+CloudStack > > There has not been any formal QA applied to this feature, but I hope we > can move it to a more polished state. > For that, I hope the community can contribute some testing and bug fixing > resources. Instructions on using this at the end of this post. > > The code has been tested using boto (https://github.com/boto/boto), but I > suspect that there are other clients (AWS SDK, s3cmd,etc) that are also > popular. The error responses for S3 are not well documented, so some of > these clients might barf unexpectedly. > > > *****Usage********** > 1. Get CloudStack running on the latest 3.0.x series > > 2. Enable the S3 API by setting the flag enable.s3.api to 'true' in the > configuration table. You can do this through the UI or directly in MySQL: > update configuration set value='true' where name='enable.s3.api'; > > 3. Choose a local filesystem path where the objects will be stored. You > can mount an NFS store or use the local filesystem. E.g,: > mkdir -p /mnt/s3 > Ensure that the 'cloud' user can write to this directory > > 4. Edit the file $TOMCAT_HOME/conf/cloud-bridge.properties: > > host=http://localhost:8080/awsapi > storage.multipartDir=__multipart__uploads__ > bucket.dns=false > storage.root=<mount point or filesystem path> > serviceEndpoint=localhost:8080 > > > 5. Restart CloudStack > > 6. Obtain API and secret keys for a user (available in the Admin ui under > Accounts -> Users) > CloudStack Api key = this is the same as the AWS access key id > CloudStack Secret key = this is the same as the AWS secret access key > Generate a private key and a self-signed X.509 certificate. Substitute > your own desired storage location for /path/to/Š below. > $ openssl req -x509 -nodes -days 365 -newkey rsa:2048 <http://rsa:2048/> > -keyout /path/to/private_key.pem -out /path/to/cert.pem > > Register the mapping from the X.509 certificate to your accounts API keys > with CloudStack. > $ cloudstack-aws-api-register --apikey=<User¹s Cloudstack API key> > --secretkey=<User¹s CloudStack Secret key> --cert=</path/to/cert.pem> > --url=http://<cloud-stack-server>:8080/awsapi/rest/AmazonS3 > > > The cloudstack-aws-api-register command is available in /usr/bin in the > machine where CloudStack is installed > > 7. Configure the boto S3Connection object as follows: > calling_format= OrdinaryCallingFormat() > connection = S3Connection(aws_access_key_id=<your api key>, > aws_secret_access_key=<your secret key> > is_secure=False, > host='<cloudstack-server>', > port=8080, > calling_format=calling_format, > path="/awsapi/rest/AmazonS3") > > >
