You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by je...@apache.org on 2010/08/05 21:41:04 UTC

svn commit: r982749 - /incubator/libcloud/trunk/libcloud/drivers/linode.py

Author: jed
Date: Thu Aug  5 19:41:03 2010
New Revision: 982749

URL: http://svn.apache.org/viewvc?rev=982749&view=rev
Log:
Enable adding a private IP at node creation

Modified:
    incubator/libcloud/trunk/libcloud/drivers/linode.py

Modified: incubator/libcloud/trunk/libcloud/drivers/linode.py
URL: http://svn.apache.org/viewvc/incubator/libcloud/trunk/libcloud/drivers/linode.py?rev=982749&r1=982748&r2=982749&view=diff
==============================================================================
--- incubator/libcloud/trunk/libcloud/drivers/linode.py (original)
+++ incubator/libcloud/trunk/libcloud/drivers/linode.py Thu Aug  5 19:41:03 2010
@@ -301,6 +301,9 @@ class LinodeNodeDriver(NodeDriver):
         @keyword ex_comment: a small comment for the configuration (libcloud)
         @type ex_comment: C{str}
 
+        @keyword ex_private: whether or not to request a private IP (False)
+        @type ex_private: C{bool}
+
         @keyword lconfig: what to call the configuration (generated)
         @type lconfig: C{str}
 
@@ -413,6 +416,14 @@ class LinodeNodeDriver(NodeDriver):
         }
         data = self.connection.request(LINODE_ROOT, params=params).object
 
+        # Step 1c. linode.ip.addprivate if it was requested
+        if "ex_private" in kwargs and kwargs["ex_private"]:
+            params = {
+                "api_action":   "linode.ip.addprivate",
+                "LinodeID":     linode["id"]
+            }
+            data = self.connection.request(LINODE_ROOT, params=params).object
+
         # Step 2: linode.disk.createfromdistribution
         if not root:
             root = os.urandom(8).encode('hex')