def main(self): cmd = BundleImage(image=self.args['image'], arch=self.args['arch'], cert=self.args['cert'], privatekey=self.args['privatekey'], user=self.args['user'], destination=self.args.get('directory'), ec2cert=self.args['ec2cert'], image_type='machine', config=self.config) parts, manifest = cmd.main() cmd = UploadBundle(bucket=self.args['bucket'], manifest=manifest, acl='ec2-bundle-read', config=self.config, service=self.__walrus) manifest_loc = cmd.main() return manifest_loc
def bundle_and_upload_image(self, image, image_type, workdir, kernel_id=None, ramdisk_id=None): unique_bucket = self.args['bucket'] if image_type == 'machine': image_type_args = {'kernel': kernel_id, 'ramdisk': ramdisk_id} progressbar_label = 'Bundling image ' elif image_type == 'kernel': image_type_args = {'kernel': 'true'} progressbar_label = 'Bundling kernel ' if self.args.get('separate_buckets'): unique_bucket = ''.join([self.args['bucket'], '-kernel']) elif image_type == 'ramdisk': image_type_args = {'ramdisk': 'true'} progressbar_label = 'Bundling ramdisk ' if self.args.get('separate_buckets'): unique_bucket = ''.join([self.args['bucket'], '-ramdisk']) else: raise ValueError( "unrecognized image type: '{0}'".format(image_type)) cmd = BundleImage(config=self.config, image=image, arch=self.args['architecture'], cert=self.args['cert'], privatekey=self.args['privatekey'], ec2cert=self.args['ec2cert'], user=self.args['user'], destination=workdir, image_type=image_type, show_progress=self.args.get('show_progress', False), progressbar_label=progressbar_label, **image_type_args) __, manifest_path = cmd.main() if self.args.get('show_progress', False): print '-- Uploading {0} image --'.format(image_type) cmd = UploadBundle(config=self.config, service=self.__walrus, bucket=unique_bucket, manifest=manifest_path, acl='aws-exec-read', show_progress=self.args.get('show_progress', False)) manifest_loc = cmd.main() return manifest_loc
def bundle_and_upload_image(self, image, image_type, workdir, kernel_id=None, ramdisk_id=None): unique_bucket = self.args['bucket'] if image_type == 'machine': image_type_args = {'kernel': kernel_id, 'ramdisk': ramdisk_id} progressbar_label = 'Bundling image ' elif image_type == 'kernel': image_type_args = {'kernel': 'true'} progressbar_label = 'Bundling kernel ' if self.args.get('separate_buckets'): unique_bucket = ''.join([self.args['bucket'], '-kernel']) elif image_type == 'ramdisk': image_type_args = {'ramdisk': 'true'} progressbar_label = 'Bundling ramdisk ' if self.args.get('separate_buckets'): unique_bucket = ''.join([self.args['bucket'], '-ramdisk']) else: raise ValueError("unrecognized image type: '{0}'" .format(image_type)) cmd = BundleImage(config=self.config, image=image, arch=self.args['architecture'], cert=self.args['cert'], privatekey=self.args['privatekey'], ec2cert=self.args['ec2cert'], user=self.args['user'], destination=workdir, image_type=image_type, show_progress=self.args.get('show_progress', False), progressbar_label=progressbar_label, **image_type_args) __, manifest_path = cmd.main() if self.args.get('show_progress', False): print '-- Uploading {0} image --'.format(image_type) cmd = UploadBundle(config=self.config, service=self.__walrus, bucket=unique_bucket, manifest=manifest_path, acl='aws-exec-read', show_progress=self.args.get('show_progress', False)) manifest_loc = cmd.main() return manifest_loc