Updated Branches: refs/heads/trunk c5d36f9d5 -> 1c9027ced
Add new c3 instance types with pricing data to EC2 driver. Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/1c9027ce Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/1c9027ce Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/1c9027ce Branch: refs/heads/trunk Commit: 1c9027ced03cdb272e1f69d527f5ef8c2e20849c Parents: c5d36f9 Author: Tomaz Muraus <[email protected]> Authored: Thu Nov 14 19:36:13 2013 +0100 Committer: Tomaz Muraus <[email protected]> Committed: Thu Nov 14 19:52:15 2013 +0100 ---------------------------------------------------------------------- libcloud/compute/drivers/ec2.py | 68 +++++++++++++++++++++++++++++++++- libcloud/data/pricing.json | 30 +++++++++++++++ libcloud/test/compute/test_ec2.py | 8 ++-- 3 files changed, 102 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/libcloud/blob/1c9027ce/libcloud/compute/drivers/ec2.py ---------------------------------------------------------------------- diff --git a/libcloud/compute/drivers/ec2.py b/libcloud/compute/drivers/ec2.py index 502242c..c79d6fe 100644 --- a/libcloud/compute/drivers/ec2.py +++ b/libcloud/compute/drivers/ec2.py @@ -153,6 +153,42 @@ INSTANCE_TYPES = { 'disk': 3370, 'bandwidth': None }, + # c3 instances have 2 SSDs of the specified disk size + 'c3.large': { + 'id': 'c3.large', + 'name': 'Compute Optimized Large Instance', + 'ram': 3750, + 'disk': 16, + 'bandwidth': None + }, + 'c3.xlarge': { + 'id': 'c3.xlarge', + 'name': 'Compute Optimized Extra Large Instance', + 'ram': 7000, + 'disk': 40, + 'bandwidth': None + }, + 'c3.2xlarge': { + 'id': 'c3.2xlarge', + 'name': 'Compute Optimized Double Extra Large Instance', + 'ram': 15000, + 'disk': 80, + 'bandwidth': None + }, + 'c3.4xlarge': { + 'id': 'c3.4xlarge', + 'name': 'Compute Optimized Quadruple Extra Large Instance', + 'ram': 30000, + 'disk': 160, + 'bandwidth': None + }, + 'c3.8xlarge': { + 'id': 'c3.8xlarge', + 'name': 'Compute Optimized Eight Extra Large Instance', + 'ram': 60000, + 'disk': 320, + 'bandwidth': None + }, 'cr1.8xlarge': { 'id': 'cr1.8xlarge', 'name': 'High Memory Cluster Eight Extra Large', @@ -189,6 +225,11 @@ REGION_DETAILS = { 'c1.xlarge', 'cc1.4xlarge', 'cc2.8xlarge', + 'c3.large', + 'c3.xlarge', + 'c3.2xlarge', + 'c3.4xlarge', + 'c3.8xlarge', 'cg1.4xlarge', 'cr1.8xlarge', 'hs1.8xlarge' @@ -228,6 +269,11 @@ REGION_DETAILS = { 'm2.4xlarge', 'c1.medium', 'c1.xlarge', + 'c3.large', + 'c3.xlarge', + 'c3.2xlarge', + 'c3.4xlarge', + 'c3.8xlarge', 'cc2.8xlarge' ] }, @@ -248,6 +294,11 @@ REGION_DETAILS = { 'm3.2xlarge', 'c1.medium', 'c1.xlarge', + 'c3.large', + 'c3.xlarge', + 'c3.2xlarge', + 'c3.4xlarge', + 'c3.8xlarge', 'cc2.8xlarge' ] }, @@ -268,6 +319,11 @@ REGION_DETAILS = { 'm3.2xlarge', 'c1.medium', 'c1.xlarge', + 'c3.large', + 'c3.xlarge', + 'c3.2xlarge', + 'c3.4xlarge', + 'c3.8xlarge', 'hs1.8xlarge' ] }, @@ -287,7 +343,12 @@ REGION_DETAILS = { 'm3.xlarge', 'm3.2xlarge', 'c1.medium', - 'c1.xlarge' + 'c1.xlarge', + 'c3.large', + 'c3.xlarge', + 'c3.2xlarge', + 'c3.4xlarge', + 'c3.8xlarge' ] }, 'sa-east-1': { @@ -327,6 +388,11 @@ REGION_DETAILS = { 'm3.2xlarge', 'c1.medium', 'c1.xlarge', + 'c3.large', + 'c3.xlarge', + 'c3.2xlarge', + 'c3.4xlarge', + 'c3.8xlarge', 'hs1.8xlarge' ] }, http://git-wip-us.apache.org/repos/asf/libcloud/blob/1c9027ce/libcloud/data/pricing.json ---------------------------------------------------------------------- diff --git a/libcloud/data/pricing.json b/libcloud/data/pricing.json index 15295ff..564701c 100644 --- a/libcloud/data/pricing.json +++ b/libcloud/data/pricing.json @@ -73,6 +73,11 @@ "m1.xlarge": 0.52, "c1.medium": 0.17, "c1.xlarge": 0.68, + "c3.large": 0.150, + "c3.xlarge": 0.300, + "c3.2xlarge": 0.600, + "c3.4xlarge": 1.200, + "c3.8xlarge": 2.400, "m2.xlarge": 0.50, "m2.2xlarge": 1.0, "m2.4xlarge": 2.0, @@ -108,6 +113,11 @@ "m1.xlarge": 0.52, "c1.medium": 0.17, "c1.xlarge": 0.68, + "c3.large": 0.150, + "c3.xlarge": 0.300, + "c3.2xlarge": 0.600, + "c3.4xlarge": 1.200, + "c3.8xlarge": 2.400, "m2.xlarge": 0.50, "m2.2xlarge": 1.0, "m2.4xlarge": 2.0, @@ -124,6 +134,11 @@ "m1.xlarge": 0.76, "c1.medium": 0.19, "c1.xlarge": 0.76, + "c3.large": 0.171, + "c3.xlarge": 0.342, + "c3.2xlarge": 0.683, + "c3.4xlarge": 1.366, + "c3.8xlarge": 2.732, "m2.xlarge": 0.57, "m2.2xlarge": 1.14, "m2.4xlarge": 2.28, @@ -140,6 +155,11 @@ "m1.xlarge": 0.76, "c1.medium": 0.19, "c1.xlarge": 0.76, + "c3.large": 0.189, + "c3.xlarge": 0.378, + "c3.2xlarge": 0.756, + "c3.4xlarge": 1.512, + "c3.8xlarge": 3.024, "m2.xlarge": 0.57, "m2.2xlarge": 1.14, "m2.4xlarge": 2.28, @@ -156,6 +176,11 @@ "m1.xlarge": 0.80, "c1.medium": 0.20, "c1.xlarge": 0.80, + "c3.large": 0.192, + "c3.xlarge": 0.383, + "c3.2xlarge": 0.766, + "c3.4xlarge": 1.532, + "c3.8xlarge": 3.064, "m2.xlarge": 0.60, "m2.2xlarge": 1.20, "m2.4xlarge": 2.39, @@ -186,6 +211,11 @@ "m1.xlarge": 0.680, "c1.medium": 0.186, "c1.xlarge": 0.744, + "c3.large": 0.189, + "c3.xlarge": 0.378, + "c3.2xlarge": 0.756, + "c3.4xlarge": 1.512, + "c3.8xlarge": 3.024, "m2.xlarge": 0.506, "m2.2xlarge": 1.012, "m2.4xlarge": 2.024, http://git-wip-us.apache.org/repos/asf/libcloud/blob/1c9027ce/libcloud/test/compute/test_ec2.py ---------------------------------------------------------------------- diff --git a/libcloud/test/compute/test_ec2.py b/libcloud/test/compute/test_ec2.py index 45e59e6..3952c68 100644 --- a/libcloud/test/compute/test_ec2.py +++ b/libcloud/test/compute/test_ec2.py @@ -304,16 +304,18 @@ class EC2Tests(LibcloudTestCase, TestCaseMixin): self.assertTrue('m2.4xlarge' in ids) if region_name == 'us-east-1': - self.assertEqual(len(sizes), 17) + self.assertEqual(len(sizes), 22) self.assertTrue('cg1.4xlarge' in ids) self.assertTrue('cc1.4xlarge' in ids) self.assertTrue('cc2.8xlarge' in ids) self.assertTrue('cr1.8xlarge' in ids) elif region_name in ['eu-west-1', 'ap-southeast-1', 'ap-southeast-2']: - self.assertEqual(len(sizes), 13) - else: + self.assertEqual(len(sizes), 18) + elif region_name == 'us-west-1': self.assertEqual(len(sizes), 12) + else: + self.assertEqual(len(sizes), 17) self.driver.region_name = region_old
