You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by or...@apache.org on 2010/04/22 20:26:30 UTC

svn commit: r936995 - in /incubator/libcloud/trunk: libcloud/drivers/softlayer.py test/fixtures/softlayer/v3_SoftLayer_Account_getVirtualGuests.xml test/test_softlayer.py

Author: oremj
Date: Thu Apr 22 18:26:29 2010
New Revision: 936995

URL: http://svn.apache.org/viewvc?rev=936995&view=rev
Log:
List node:
    - add password to extra.
Create node:
    - block until we have all node information.

Modified:
    incubator/libcloud/trunk/libcloud/drivers/softlayer.py
    incubator/libcloud/trunk/test/fixtures/softlayer/v3_SoftLayer_Account_getVirtualGuests.xml
    incubator/libcloud/trunk/test/test_softlayer.py

Modified: incubator/libcloud/trunk/libcloud/drivers/softlayer.py
URL: http://svn.apache.org/viewvc/incubator/libcloud/trunk/libcloud/drivers/softlayer.py?rev=936995&r1=936994&r2=936995&view=diff
==============================================================================
--- incubator/libcloud/trunk/libcloud/drivers/softlayer.py (original)
+++ incubator/libcloud/trunk/libcloud/drivers/softlayer.py Thu Apr 22 18:26:29 2010
@@ -16,6 +16,7 @@
 Softlayer driver
 """
 
+import time
 import xmlrpclib
 
 import libcloud
@@ -202,10 +203,18 @@ class SoftLayerConnection(object):
             return {}
 
 class SoftLayerNodeDriver(NodeDriver):
+    """
+    SoftLayer node driver
+
+    Extra node attributes:
+        - password: root password
+    """
     connectionCls = SoftLayerConnection
     name = 'SoftLayer'
     type = Provider.SOFTLAYER
 
+    features = {"create_node": ["generates_password"]}
+
     def __init__(self, key, secret=None, secure=False):
         self.key = key
         self.secret = secret
@@ -213,6 +222,11 @@ class SoftLayerNodeDriver(NodeDriver):
         self.connection.driver = self
 
     def _to_node(self, host):
+        try:
+            password = host['softwareComponents'][0]['passwords'][0]['password']
+        except IndexError, KeyError:
+            password = None
+
         return Node(
             id=host['id'],
             name=host['hostname'],
@@ -222,7 +236,10 @@ class SoftLayerNodeDriver(NodeDriver):
             ),
             public_ip=host['primaryIpAddress'],
             private_ip=host['primaryBackendIpAddress'],
-            driver=self
+            driver=self,
+            extra={
+                'password': password
+            }
         )
     
     def _to_nodes(self, hosts):
@@ -245,6 +262,39 @@ class SoftLayerNodeDriver(NodeDriver):
         else:
             return False
 
+    def _get_order_information(self, order_id, timeout=1200, check_interval=5):
+        mask = {
+            'orderTopLevelItems': {
+                'billingItem':  {
+                    'resource': {
+                        'softwareComponents': {
+                            'passwords': ''
+                        },
+                        'powerState': '',
+                    }
+                },
+            }
+         }
+
+        for i in range(0, timeout, check_interval):
+            try:
+                res = self.connection.request(
+                    "SoftLayer_Billing_Order",
+                    "getObject",
+                    id=order_id,
+                    object_mask=mask
+                )
+                item = res['orderTopLevelItems'][0]['billingItem']['resource']
+                if item['softwareComponents'][0]['passwords']:
+                    return item
+
+            except KeyError, IndexError:
+                pass
+
+            time.sleep(check_interval)
+
+        return None
+
     def create_node(self, **kwargs):
         """
         @keyword    domain:   e.g. libcloud.org
@@ -276,16 +326,10 @@ class SoftLayerNodeDriver(NodeDriver):
             res
         )
 
-        # Softlayer's create node doesn't really tell us anything.
-        return Node(
-            id=None,
-            name=res['orderDetails']['virtualGuests'][0]['hostname'],
-            state=NodeState.PENDING,
-            public_ip=None,
-            private_ip=None,
-            driver=self.connection.driver
-        )
+        order_id = res['orderId']
+        raw_node = self._get_order_information(order_id)
 
+        return self._to_node(raw_node)
 
     def _to_image(self, img):
         return NodeImage(
@@ -330,7 +374,12 @@ class SoftLayerNodeDriver(NodeDriver):
 
     def list_nodes(self):
         mask = {
-            'virtualGuests': {'powerState': ''}
+            'virtualGuests': {
+                'powerState': '',
+                'softwareComponents': {
+                    'passwords': ''
+                }
+            }
         }
         res = self.connection.request(
             "SoftLayer_Account",

Modified: incubator/libcloud/trunk/test/fixtures/softlayer/v3_SoftLayer_Account_getVirtualGuests.xml
URL: http://svn.apache.org/viewvc/incubator/libcloud/trunk/test/fixtures/softlayer/v3_SoftLayer_Account_getVirtualGuests.xml?rev=936995&r1=936994&r2=936995&view=diff
==============================================================================
--- incubator/libcloud/trunk/test/fixtures/softlayer/v3_SoftLayer_Account_getVirtualGuests.xml (original)
+++ incubator/libcloud/trunk/test/fixtures/softlayer/v3_SoftLayer_Account_getVirtualGuests.xml Thu Apr 22 18:26:29 2010
@@ -15,7 +15,7 @@
       <member>
        <name>id</name>
        <value>
-        <int>1111</int>
+        <int>1832</int>
        </value>
       </member>
       <member>
@@ -33,13 +33,13 @@
       <member>
        <name>uuid</name>
        <value>
-        <string>11111111-8121-d110-c111-6fh1e165hh9c</string>
+        <string>eaa9aaa2-8e2e-d6e0-ce11-6f01e765779c</string>
        </value>
       </member>
       <member>
        <name>hostname</name>
        <value>
-        <string>test01</string>
+        <string>test1</string>
        </value>
       </member>
       <member>
@@ -81,13 +81,13 @@
       <member>
        <name>modifyDate</name>
        <value>
-        <string>2010-03-24T18:54:01-05:00</string>
+        <string>2010-04-22T13:08:47-05:00</string>
        </value>
       </member>
       <member>
        <name>metricPollDate</name>
        <value>
-        <string>2010-03-24T18:53:00-05:00</string>
+        <string>2010-04-22T13:08:00-05:00</string>
        </value>
       </member>
       <member>
@@ -116,15 +116,101 @@
        </value>
       </member>
       <member>
+       <name>softwareComponents</name>
+       <value>
+        <array>
+         <data>
+          <value>
+           <struct>
+            <member>
+             <name>id</name>
+             <value>
+              <int>191115</int>
+             </value>
+            </member>
+            <member>
+             <name>hardwareId</name>
+             <value>
+              <string />
+             </value>
+            </member>
+            <member>
+             <name>manufacturerLicenseInstance</name>
+             <value>
+              <string />
+             </value>
+            </member>
+            <member>
+             <name>passwords</name>
+             <value>
+              <array>
+               <data>
+                <value>
+                 <struct>
+                  <member>
+                   <name>id</name>
+                   <value>
+                    <int>166980</int>
+                   </value>
+                  </member>
+                  <member>
+                   <name>softwareId</name>
+                   <value>
+                    <int>191115</int>
+                   </value>
+                  </member>
+                  <member>
+                   <name>username</name>
+                   <value>
+                    <string>root</string>
+                   </value>
+                  </member>
+                  <member>
+                   <name>password</name>
+                   <value>
+                    <string>TEST</string>
+                   </value>
+                  </member>
+                  <member>
+                   <name>createDate</name>
+                   <value>
+                    <string>2009-09-04T14:49:51-05:00</string>
+                   </value>
+                  </member>
+                  <member>
+                   <name>modifyDate</name>
+                   <value>
+                    <string>2009-09-04T14:49:51-05:00</string>
+                   </value>
+                  </member>
+                  <member>
+                   <name>port</name>
+                   <value>
+                    <string />
+                   </value>
+                  </member>
+                 </struct>
+                </value>
+               </data>
+              </array>
+             </value>
+            </member>
+           </struct>
+          </value>
+         </data>
+        </array>
+       </value>
+      </member>
+      <member>
        <name>primaryIpAddress</name>
        <value>
-        <string>67.255.155.255</string>
+        <string>67.254.254.254</string>
        </value>
       </member>
       <member>
        <name>primaryBackendIpAddress</name>
        <value>
-        <string>10.20.255.255</string>
+        <string>10.254.254.254</string>
        </value>
       </member>
      </struct>
@@ -140,7 +226,7 @@
       <member>
        <name>id</name>
        <value>
-        <int>11111</int>
+        <int>13402</int>
        </value>
       </member>
       <member>
@@ -158,13 +244,13 @@
       <member>
        <name>uuid</name>
        <value>
-        <string>21a11114-4111-4141-19f3-51111610dd86</string>
+        <string>9e9e9e99-4ed9-4645-19f3-55ee4e404d56</string>
        </value>
       </member>
       <member>
        <name>hostname</name>
        <value>
-        <string>test02</string>
+        <string>test2</string>
        </value>
       </member>
       <member>
@@ -206,13 +292,13 @@
       <member>
        <name>modifyDate</name>
        <value>
-        <string>2010-03-24T18:58:48-05:00</string>
+        <string>2010-04-22T13:08:43-05:00</string>
        </value>
       </member>
       <member>
        <name>metricPollDate</name>
        <value>
-        <string>2010-03-24T18:58:00-05:00</string>
+        <string>2010-04-22T13:08:00-05:00</string>
        </value>
       </member>
       <member>
@@ -241,15 +327,734 @@
        </value>
       </member>
       <member>
+       <name>softwareComponents</name>
+       <value>
+        <array>
+         <data>
+          <value>
+           <struct>
+            <member>
+             <name>id</name>
+             <value>
+              <int>257314</int>
+             </value>
+            </member>
+            <member>
+             <name>hardwareId</name>
+             <value>
+              <string />
+             </value>
+            </member>
+            <member>
+             <name>manufacturerLicenseInstance</name>
+             <value>
+              <string />
+             </value>
+            </member>
+            <member>
+             <name>passwords</name>
+             <value>
+              <array>
+               <data>
+                <value>
+                 <struct>
+                  <member>
+                   <name>id</name>
+                   <value>
+                    <int>235268</int>
+                   </value>
+                  </member>
+                  <member>
+                   <name>softwareId</name>
+                   <value>
+                    <int>257314</int>
+                   </value>
+                  </member>
+                  <member>
+                   <name>username</name>
+                   <value>
+                    <string>root</string>
+                   </value>
+                  </member>
+                  <member>
+                   <name>password</name>
+                   <value>
+                    <string>TEST</string>
+                   </value>
+                  </member>
+                  <member>
+                   <name>createDate</name>
+                   <value>
+                    <string>2010-03-23T17:06:17-05:00</string>
+                   </value>
+                  </member>
+                  <member>
+                   <name>modifyDate</name>
+                   <value>
+                    <string>2010-03-23T17:06:17-05:00</string>
+                   </value>
+                  </member>
+                  <member>
+                   <name>port</name>
+                   <value>
+                    <string />
+                   </value>
+                  </member>
+                 </struct>
+                </value>
+               </data>
+              </array>
+             </value>
+            </member>
+           </struct>
+          </value>
+         </data>
+        </array>
+       </value>
+      </member>
+      <member>
+       <name>primaryIpAddress</name>
+       <value>
+        <string>174.254.254.254</string>
+       </value>
+      </member>
+      <member>
+       <name>primaryBackendIpAddress</name>
+       <value>
+        <string>10.254.254.254</string>
+       </value>
+      </member>
+     </struct>
+    </value>
+    <value>
+     <struct>
+      <member>
+       <name>privateNetworkOnlyFlag</name>
+       <value>
+        <boolean>0</boolean>
+       </value>
+      </member>
+      <member>
+       <name>id</name>
+       <value>
+        <int>19293</int>
+       </value>
+      </member>
+      <member>
+       <name>accountId</name>
+       <value>
+        <int>11111</int>
+       </value>
+      </member>
+      <member>
+       <name>statusId</name>
+       <value>
+        <int>1001</int>
+       </value>
+      </member>
+      <member>
+       <name>uuid</name>
+       <value>
+        <string>9f99e19b-2c61-9cd5-2081-67b57fd7977b</string>
+       </value>
+      </member>
+      <member>
+       <name>hostname</name>
+       <value>
+        <string>test3</string>
+       </value>
+      </member>
+      <member>
+       <name>domain</name>
+       <value>
+        <string>libcloud.org</string>
+       </value>
+      </member>
+      <member>
+       <name>maxCpu</name>
+       <value>
+        <int>2</int>
+       </value>
+      </member>
+      <member>
+       <name>maxCpuUnits</name>
+       <value>
+        <string>CORE</string>
+       </value>
+      </member>
+      <member>
+       <name>maxMemory</name>
+       <value>
+        <int>1024</int>
+       </value>
+      </member>
+      <member>
+       <name>startCpus</name>
+       <value>
+        <int>2</int>
+       </value>
+      </member>
+      <member>
+       <name>createDate</name>
+       <value>
+        <string>2010-04-22T12:38:53-05:00</string>
+       </value>
+      </member>
+      <member>
+       <name>modifyDate</name>
+       <value>
+        <string>2010-04-22T13:08:01-05:00</string>
+       </value>
+      </member>
+      <member>
+       <name>metricPollDate</name>
+       <value>
+        <string>2010-04-22T13:08:00-05:00</string>
+       </value>
+      </member>
+      <member>
+       <name>dedicatedAccountHostOnlyFlag</name>
+       <value>
+        <boolean>1</boolean>
+       </value>
+      </member>
+      <member>
+       <name>powerState</name>
+       <value>
+        <struct>
+         <member>
+          <name>name</name>
+          <value>
+           <string>Running</string>
+          </value>
+         </member>
+         <member>
+          <name>keyName</name>
+          <value>
+           <string>RUNNING</string>
+          </value>
+         </member>
+        </struct>
+       </value>
+      </member>
+      <member>
+       <name>softwareComponents</name>
+       <value>
+        <array>
+         <data>
+          <value>
+           <struct>
+            <member>
+             <name>id</name>
+             <value>
+              <int>277185</int>
+             </value>
+            </member>
+            <member>
+             <name>hardwareId</name>
+             <value>
+              <string />
+             </value>
+            </member>
+            <member>
+             <name>manufacturerLicenseInstance</name>
+             <value>
+              <string />
+             </value>
+            </member>
+            <member>
+             <name>passwords</name>
+             <value>
+              <array>
+               <data>
+                <value>
+                 <struct>
+                  <member>
+                   <name>id</name>
+                   <value>
+                    <int>250826</int>
+                   </value>
+                  </member>
+                  <member>
+                   <name>softwareId</name>
+                   <value>
+                    <int>277185</int>
+                   </value>
+                  </member>
+                  <member>
+                   <name>username</name>
+                   <value>
+                    <string>root</string>
+                   </value>
+                  </member>
+                  <member>
+                   <name>password</name>
+                   <value>
+                    <string>TEST</string>
+                   </value>
+                  </member>
+                  <member>
+                   <name>createDate</name>
+                   <value>
+                    <string>2010-04-22T12:38:57-05:00</string>
+                   </value>
+                  </member>
+                  <member>
+                   <name>modifyDate</name>
+                   <value>
+                    <string>2010-04-22T12:38:57-05:00</string>
+                   </value>
+                  </member>
+                  <member>
+                   <name>port</name>
+                   <value>
+                    <string />
+                   </value>
+                  </member>
+                 </struct>
+                </value>
+               </data>
+              </array>
+             </value>
+            </member>
+           </struct>
+          </value>
+         </data>
+        </array>
+       </value>
+      </member>
+      <member>
+       <name>primaryIpAddress</name>
+       <value>
+        <string>174.254.254.254</string>
+       </value>
+      </member>
+      <member>
+       <name>primaryBackendIpAddress</name>
+       <value>
+        <string>10.254.254.254</string>
+       </value>
+      </member>
+     </struct>
+    </value>
+    <value>
+     <struct>
+      <member>
+       <name>privateNetworkOnlyFlag</name>
+       <value>
+        <boolean>0</boolean>
+       </value>
+      </member>
+      <member>
+       <name>id</name>
+       <value>
+        <int>19288</int>
+       </value>
+      </member>
+      <member>
+       <name>accountId</name>
+       <value>
+        <int>11111</int>
+       </value>
+      </member>
+      <member>
+       <name>statusId</name>
+       <value>
+        <int>1001</int>
+       </value>
+      </member>
+      <member>
+       <name>uuid</name>
+       <value>
+        <string>999f77d9-679b-c47d-136d-04cd302384ec</string>
+       </value>
+      </member>
+      <member>
+       <name>hostname</name>
+       <value>
+        <string>test4</string>
+       </value>
+      </member>
+      <member>
+       <name>domain</name>
+       <value>
+        <string>libcloud.org</string>
+       </value>
+      </member>
+      <member>
+       <name>maxCpu</name>
+       <value>
+        <int>2</int>
+       </value>
+      </member>
+      <member>
+       <name>maxCpuUnits</name>
+       <value>
+        <string>CORE</string>
+       </value>
+      </member>
+      <member>
+       <name>maxMemory</name>
+       <value>
+        <int>1024</int>
+       </value>
+      </member>
+      <member>
+       <name>startCpus</name>
+       <value>
+        <int>2</int>
+       </value>
+      </member>
+      <member>
+       <name>createDate</name>
+       <value>
+        <string>2010-04-22T12:15:24-05:00</string>
+       </value>
+      </member>
+      <member>
+       <name>modifyDate</name>
+       <value>
+        <string>2010-04-22T13:08:31-05:00</string>
+       </value>
+      </member>
+      <member>
+       <name>metricPollDate</name>
+       <value>
+        <string>2010-04-22T13:08:00-05:00</string>
+       </value>
+      </member>
+      <member>
+       <name>dedicatedAccountHostOnlyFlag</name>
+       <value>
+        <boolean>1</boolean>
+       </value>
+      </member>
+      <member>
+       <name>powerState</name>
+       <value>
+        <struct>
+         <member>
+          <name>name</name>
+          <value>
+           <string>Running</string>
+          </value>
+         </member>
+         <member>
+          <name>keyName</name>
+          <value>
+           <string>RUNNING</string>
+          </value>
+         </member>
+        </struct>
+       </value>
+      </member>
+      <member>
+       <name>softwareComponents</name>
+       <value>
+        <array>
+         <data>
+          <value>
+           <struct>
+            <member>
+             <name>id</name>
+             <value>
+              <int>277171</int>
+             </value>
+            </member>
+            <member>
+             <name>hardwareId</name>
+             <value>
+              <string />
+             </value>
+            </member>
+            <member>
+             <name>manufacturerLicenseInstance</name>
+             <value>
+              <string />
+             </value>
+            </member>
+            <member>
+             <name>passwords</name>
+             <value>
+              <array>
+               <data>
+                <value>
+                 <struct>
+                  <member>
+                   <name>id</name>
+                   <value>
+                    <int>250815</int>
+                   </value>
+                  </member>
+                  <member>
+                   <name>softwareId</name>
+                   <value>
+                    <int>277171</int>
+                   </value>
+                  </member>
+                  <member>
+                   <name>username</name>
+                   <value>
+                    <string>root</string>
+                   </value>
+                  </member>
+                  <member>
+                   <name>password</name>
+                   <value>
+                    <string>TEST</string>
+                   </value>
+                  </member>
+                  <member>
+                   <name>createDate</name>
+                   <value>
+                    <string>2010-04-22T12:15:26-05:00</string>
+                   </value>
+                  </member>
+                  <member>
+                   <name>modifyDate</name>
+                   <value>
+                    <string>2010-04-22T12:15:26-05:00</string>
+                   </value>
+                  </member>
+                  <member>
+                   <name>port</name>
+                   <value>
+                    <string />
+                   </value>
+                  </member>
+                 </struct>
+                </value>
+               </data>
+              </array>
+             </value>
+            </member>
+           </struct>
+          </value>
+         </data>
+        </array>
+       </value>
+      </member>
+      <member>
+       <name>primaryIpAddress</name>
+       <value>
+        <string>174.254.254.254</string>
+       </value>
+      </member>
+      <member>
+       <name>primaryBackendIpAddress</name>
+       <value>
+        <string>10.254.254.254</string>
+       </value>
+      </member>
+     </struct>
+    </value>
+    <value>
+     <struct>
+      <member>
+       <name>privateNetworkOnlyFlag</name>
+       <value>
+        <boolean>0</boolean>
+       </value>
+      </member>
+      <member>
+       <name>id</name>
+       <value>
+        <int>19284</int>
+       </value>
+      </member>
+      <member>
+       <name>accountId</name>
+       <value>
+        <int>11111</int>
+       </value>
+      </member>
+      <member>
+       <name>statusId</name>
+       <value>
+        <int>1001</int>
+       </value>
+      </member>
+      <member>
+       <name>uuid</name>
+       <value>
+        <string>f3c73738-7731-1372-f3c3-e6808082f824</string>
+       </value>
+      </member>
+      <member>
+       <name>hostname</name>
+       <value>
+        <string>test5</string>
+       </value>
+      </member>
+      <member>
+       <name>domain</name>
+       <value>
+        <string>libcloud.org</string>
+       </value>
+      </member>
+      <member>
+       <name>maxCpu</name>
+       <value>
+        <int>2</int>
+       </value>
+      </member>
+      <member>
+       <name>maxCpuUnits</name>
+       <value>
+        <string>CORE</string>
+       </value>
+      </member>
+      <member>
+       <name>maxMemory</name>
+       <value>
+        <int>1024</int>
+       </value>
+      </member>
+      <member>
+       <name>startCpus</name>
+       <value>
+        <int>2</int>
+       </value>
+      </member>
+      <member>
+       <name>createDate</name>
+       <value>
+        <string>2010-04-22T12:11:23-05:00</string>
+       </value>
+      </member>
+      <member>
+       <name>modifyDate</name>
+       <value>
+        <string>2010-04-22T13:08:31-05:00</string>
+       </value>
+      </member>
+      <member>
+       <name>metricPollDate</name>
+       <value>
+        <string>2010-04-22T13:08:00-05:00</string>
+       </value>
+      </member>
+      <member>
+       <name>dedicatedAccountHostOnlyFlag</name>
+       <value>
+        <boolean>1</boolean>
+       </value>
+      </member>
+      <member>
+       <name>powerState</name>
+       <value>
+        <struct>
+         <member>
+          <name>name</name>
+          <value>
+           <string>Running</string>
+          </value>
+         </member>
+         <member>
+          <name>keyName</name>
+          <value>
+           <string>RUNNING</string>
+          </value>
+         </member>
+        </struct>
+       </value>
+      </member>
+      <member>
+       <name>softwareComponents</name>
+       <value>
+        <array>
+         <data>
+          <value>
+           <struct>
+            <member>
+             <name>id</name>
+             <value>
+              <int>277167</int>
+             </value>
+            </member>
+            <member>
+             <name>hardwareId</name>
+             <value>
+              <string />
+             </value>
+            </member>
+            <member>
+             <name>manufacturerLicenseInstance</name>
+             <value>
+              <string />
+             </value>
+            </member>
+            <member>
+             <name>passwords</name>
+             <value>
+              <array>
+               <data>
+                <value>
+                 <struct>
+                  <member>
+                   <name>id</name>
+                   <value>
+                    <int>250811</int>
+                   </value>
+                  </member>
+                  <member>
+                   <name>softwareId</name>
+                   <value>
+                    <int>277167</int>
+                   </value>
+                  </member>
+                  <member>
+                   <name>username</name>
+                   <value>
+                    <string>root</string>
+                   </value>
+                  </member>
+                  <member>
+                   <name>password</name>
+                   <value>
+                    <string>TEST</string>
+                   </value>
+                  </member>
+                  <member>
+                   <name>createDate</name>
+                   <value>
+                    <string>2010-04-22T12:11:27-05:00</string>
+                   </value>
+                  </member>
+                  <member>
+                   <name>modifyDate</name>
+                   <value>
+                    <string>2010-04-22T12:11:27-05:00</string>
+                   </value>
+                  </member>
+                  <member>
+                   <name>port</name>
+                   <value>
+                    <string />
+                   </value>
+                  </member>
+                 </struct>
+                </value>
+               </data>
+              </array>
+             </value>
+            </member>
+           </struct>
+          </value>
+         </data>
+        </array>
+       </value>
+      </member>
+      <member>
        <name>primaryIpAddress</name>
        <value>
-        <string>174.255.255.244</string>
+        <string>174.254.254.254</string>
        </value>
       </member>
       <member>
        <name>primaryBackendIpAddress</name>
        <value>
-        <string>10.255.255.255</string>
+        <string>10.254.254.254</string>
        </value>
       </member>
      </struct>

Modified: incubator/libcloud/trunk/test/test_softlayer.py
URL: http://svn.apache.org/viewvc/incubator/libcloud/trunk/test/test_softlayer.py?rev=936995&r1=936994&r2=936995&view=diff
==============================================================================
--- incubator/libcloud/trunk/test/test_softlayer.py (original)
+++ incubator/libcloud/trunk/test/test_softlayer.py Thu Apr 22 18:26:29 2010
@@ -47,8 +47,9 @@ class SoftLayerTests(unittest.TestCase):
 
     def test_list_nodes(self):
         node = self.driver.list_nodes()[0]
-        self.assertEqual(node.name, 'test01')
+        self.assertEqual(node.name, 'test1')
         self.assertEqual(node.state, NodeState.RUNNING)
+        self.assertEqual(node.extra['password'], 'TEST')
 
     def test_list_locations(self):
         locations = self.driver.list_locations()