Updated Branches:
  refs/heads/trunk 91c6281db -> 711d8e36a

Add new G2 instance types and pricing information to the EC2 driver.


Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/711d8e36
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/711d8e36
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/711d8e36

Branch: refs/heads/trunk
Commit: 711d8e36a2263728432129e1914552b592ac1578
Parents: 91c6281
Author: Tomaz Muraus <[email protected]>
Authored: Wed Feb 12 09:41:28 2014 +0100
Committer: Tomaz Muraus <[email protected]>
Committed: Wed Feb 12 09:41:28 2014 +0100

----------------------------------------------------------------------
 CHANGES.rst                       |  3 +++
 libcloud/compute/drivers/ec2.py   | 20 ++++++++++++++++++++
 libcloud/data/pricing.json        |  5 +++++
 libcloud/test/compute/test_ec2.py | 17 ++++++++++-------
 4 files changed, 38 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/711d8e36/CHANGES.rst
----------------------------------------------------------------------
diff --git a/CHANGES.rst b/CHANGES.rst
index 8430287..83da3c7 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -18,6 +18,9 @@ Compute
   (LIBCLOUD-514, GITHUB-248)
   [Chris DeRamus]
 
+- Add new G2 instances to the EC2 driver.
+  [Tomaz Muraus]
+
 Changes with Apache Libcloud 0.14.1
 -----------------------------------
 

http://git-wip-us.apache.org/repos/asf/libcloud/blob/711d8e36/libcloud/compute/drivers/ec2.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/ec2.py b/libcloud/compute/drivers/ec2.py
index 98d4663..cade2ec 100644
--- a/libcloud/compute/drivers/ec2.py
+++ b/libcloud/compute/drivers/ec2.py
@@ -174,6 +174,13 @@ INSTANCE_TYPES = {
         'disk': 1690,
         'bandwidth': None
     },
+    'g2.2xlarge': {
+        'id': 'g2.2xlarge',
+        'name': 'Cluster GPU G2 Double Extra Large Instance',
+        'ram': 15000,
+        'disk': 60,
+        'bandwidth': None,
+    },
     'cc1.4xlarge': {
         'id': 'cc1.4xlarge',
         'name': 'Cluster Compute Quadruple Extra Large Instance',
@@ -270,6 +277,7 @@ INSTANCE_TYPES = {
 }
 
 REGION_DETAILS = {
+    # US East (Northern Virginia) Region
     'us-east-1': {
         'endpoint': 'ec2.us-east-1.amazonaws.com',
         'api_name': 'ec2_us_east',
@@ -297,6 +305,7 @@ REGION_DETAILS = {
             'c3.4xlarge',
             'c3.8xlarge',
             'cg1.4xlarge',
+            'g2.2xlarge',
             'cr1.8xlarge',
             'hs1.8xlarge',
             'i2.xlarge',
@@ -305,6 +314,7 @@ REGION_DETAILS = {
             'i2.8xlarge',
         ]
     },
+    # US West (Northern California) Region
     'us-west-1': {
         'endpoint': 'ec2.us-west-1.amazonaws.com',
         'api_name': 'ec2_us_west',
@@ -324,6 +334,7 @@ REGION_DETAILS = {
             'm3.2xlarge',
             'c1.medium',
             'c1.xlarge',
+            'g2.2xlarge',
             'c3.large',
             'c3.xlarge',
             'c3.2xlarge',
@@ -335,6 +346,7 @@ REGION_DETAILS = {
             'i2.8xlarge',
         ]
     },
+    # US West (Oregon) Region
     'us-west-2': {
         'endpoint': 'ec2.us-west-2.amazonaws.com',
         'api_name': 'ec2_us_west_oregon',
@@ -350,6 +362,7 @@ REGION_DETAILS = {
             'm2.4xlarge',
             'c1.medium',
             'c1.xlarge',
+            'g2.2xlarge',
             'c3.large',
             'c3.xlarge',
             'c3.2xlarge',
@@ -362,6 +375,7 @@ REGION_DETAILS = {
             'i2.8xlarge',
         ]
     },
+    # EU (Ireland) Region
     'eu-west-1': {
         'endpoint': 'ec2.eu-west-1.amazonaws.com',
         'api_name': 'ec2_eu_west',
@@ -381,6 +395,7 @@ REGION_DETAILS = {
             'm3.2xlarge',
             'c1.medium',
             'c1.xlarge',
+            'g2.2xlarge',
             'c3.large',
             'c3.xlarge',
             'c3.2xlarge',
@@ -393,6 +408,7 @@ REGION_DETAILS = {
             'i2.8xlarge',
         ]
     },
+    # Asia Pacific (Singapore) Region
     'ap-southeast-1': {
         'endpoint': 'ec2.ap-southeast-1.amazonaws.com',
         'api_name': 'ec2_ap_southeast',
@@ -424,6 +440,7 @@ REGION_DETAILS = {
             'i2.8xlarge',
         ]
     },
+    # Asia Pacific (Tokyo) Region
     'ap-northeast-1': {
         'endpoint': 'ec2.ap-northeast-1.amazonaws.com',
         'api_name': 'ec2_ap_northeast',
@@ -442,6 +459,7 @@ REGION_DETAILS = {
             'm3.xlarge',
             'm3.2xlarge',
             'c1.medium',
+            'g2.2xlarge',
             'c1.xlarge',
             'c3.large',
             'c3.xlarge',
@@ -454,6 +472,7 @@ REGION_DETAILS = {
             'i2.8xlarge',
         ]
     },
+    # South America (Sao Paulo) Region
     'sa-east-1': {
         'endpoint': 'ec2.sa-east-1.amazonaws.com',
         'api_name': 'ec2_sa_east',
@@ -475,6 +494,7 @@ REGION_DETAILS = {
             'c1.xlarge'
         ]
     },
+    # Asia Pacific (Sydney) Region
     'ap-southeast-2': {
         'endpoint': 'ec2.ap-southeast-2.amazonaws.com',
         'api_name': 'ec2_ap_southeast_2',

http://git-wip-us.apache.org/repos/asf/libcloud/blob/711d8e36/libcloud/data/pricing.json
----------------------------------------------------------------------
diff --git a/libcloud/data/pricing.json b/libcloud/data/pricing.json
index 6ff0061..1d862d4 100644
--- a/libcloud/data/pricing.json
+++ b/libcloud/data/pricing.json
@@ -86,6 +86,7 @@
             "m3.xlarge": 0.45,
             "m3.2xlarge": 0.90,
             "cg1.4xlarge": 2.1,
+            "g2.2xlarge": 0.650,
             "cc1.4xlarge": 1.3,
             "cc2.8xlarge": 2.4,
             "cr1.8xlarge": 3.50,
@@ -104,6 +105,7 @@
             "m1.xlarge": 0.76,
             "c1.medium": 0.19,
             "c1.xlarge": 0.76,
+            "g2.2xlarge": 0.702,
             "c3.large": 0.171,
             "c3.xlarge": 0.342,
             "c3.2xlarge": 0.633,
@@ -130,6 +132,7 @@
             "m1.xlarge": 0.52,
             "c1.medium": 0.17,
             "c1.xlarge": 0.68,
+            "g2.2xlarge": 0.650,
             "c3.large": 0.150,
             "c3.xlarge": 0.300,
             "c3.2xlarge": 0.600,
@@ -157,6 +160,7 @@
             "m1.xlarge": 0.76,
             "c1.medium": 0.19,
             "c1.xlarge": 0.76,
+            "g2.2xlarge": 0.702,
             "c3.large": 0.171,
             "c3.xlarge": 0.342,
             "c3.2xlarge": 0.683,
@@ -211,6 +215,7 @@
             "m1.xlarge": 0.80,
             "c1.medium": 0.20,
             "c1.xlarge": 0.80,
+            "g2.2xlarge": 0.943,
             "c3.large": 0.192,
             "c3.xlarge": 0.383,
             "c3.2xlarge": 0.766,

http://git-wip-us.apache.org/repos/asf/libcloud/blob/711d8e36/libcloud/test/compute/test_ec2.py
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/test_ec2.py 
b/libcloud/test/compute/test_ec2.py
index 4a0d038..ceacdbd 100644
--- a/libcloud/test/compute/test_ec2.py
+++ b/libcloud/test/compute/test_ec2.py
@@ -372,18 +372,21 @@ class EC2Tests(LibcloudTestCase, TestCaseMixin):
             self.assertTrue('m2.4xlarge' in ids)
 
             if region_name == 'us-east-1':
-                self.assertEqual(len(sizes), 28)
+                self.assertEqual(len(sizes), 29)
                 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), 24)
             elif region_name == 'us-west-1':
-                self.assertEqual(len(sizes), 23)
-            else:
-                self.assertEqual(len(sizes), 23)
+                self.assertEqual(len(sizes), 24)
+            if region_name == 'us-west-2':
+                self.assertEqual(len(sizes), 24)
+            elif region_name == 'ap-southeast-1':
+                self.assertEqual(len(sizes), 24)
+            elif region_name == 'ap-southeast-2':
+                self.assertEqual(len(sizes), 24)
+            elif region_name == 'eu-west-1':
+                self.assertEqual(len(sizes), 25)
 
         self.driver.region_name = region_old
 

Reply via email to