Module Expr Str Import alias alias Import alias Import alias Import alias Import alias Import alias Import alias Import alias ImportFrom alias alias ImportFrom alias alias ImportFrom alias ImportFrom alias ImportFrom alias identifier ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam defaults NameLoad body Assign AttributeStore NameLoad attr IfExp NameLoad Call NameLoad NameLoad NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr If UnaryOpNot NameLoad body Assign AttributeStore NameLoad attr Dict orelse Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return Call AttributeLoad Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Return BinOpMod Str TupleLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr decorator_list decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam defaults body Assign AttributeStore NameLoad attr Call NameLoad NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Return BinOpMod Str TupleLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr decorator_list decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults NameLoad body Assign AttributeStore NameLoad attr Call NameLoad NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad If UnaryOpNot NameLoad body Assign AttributeStore NameLoad attr Dict orelse Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Return BinOpMod Str TupleLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr decorator_list decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults body Assign AttributeStore NameLoad attr Call NameLoad NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Return BinOpMod Str TupleLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr decorator_list decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam defaults body Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Return Str decorator_list decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam defaults body Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Return Str decorator_list decorator_list ClassDef bases NameLoad body Expr Str Assign NameStore NameLoad Assign NameStore NameLoad Assign NameStore NameLoad Assign NameStore NameLoad Assign NameStore Dict Str ListLoad Expr Str Assign NameStore Dict FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam defaults NameLoad NameLoad NameLoad NameLoad body Expr Str Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign NameStore ListLoad AttributeLoad NameLoad attr If CompareNotEq AttributeLoad NameLoad attr NameLoad body Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr NameLoad If CompareNotEq NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad If CompareNotEq NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr NameLoad Assign AttributeStore AttributeLoad NameLoad attr attr NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr decorator_list FunctionDef arguments args NameParam defaults kwarg body Expr Str Raise NameLoad Str decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Raise NameLoad Str decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Raise NameLoad Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Raise NameLoad Str decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Raise NameLoad Str decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Raise NameLoad Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Raise NameLoad Str decorator_list FunctionDef arguments args NameParam defaults kwarg body Expr Str Assign NameStore Num Assign NameStore NameLoad If CompareNotIn Str SubscriptLoad AttributeLoad NameLoad attr Index Str body If CompareNotIn Str SubscriptLoad AttributeLoad NameLoad attr Index Str body Raise NameLoad Str If UnaryOpNot Call AttributeLoad NameLoad attr Str body Assign SubscriptStore NameLoad Index Str Call NameLoad Call AttributeLoad Call AttributeLoad NameLoad attr Num attr Str Assign NameStore AttributeLoad SubscriptLoad NameLoad Index Str attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad TryExcept body If CompareIn Str SubscriptLoad AttributeLoad NameLoad attr Index Str body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr Str Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore BinOpAdd NameLoad BinOpMult Num Num While CompareLt Call AttributeLoad NameLoad attr NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call NameLoad Lambda arguments args NameParam defaults CompareEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad If CompareEq Call NameLoad NameLoad Num body Raise Call NameLoad NameLoad BinOpMod Str NameLoad If CompareGt Call NameLoad NameLoad Num body Raise Call NameLoad NameLoad BinOpMod Str NameLoad Assign NameStore SubscriptLoad NameLoad Index Num If BoolOpAnd CompareIsNot AttributeLoad NameLoad attr NameLoad CompareNotEq AttributeLoad NameLoad attr Str CompareEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Break Assign NameStore Call AttributeLoad NameLoad attr Str Str Assign NameStore Call AttributeLoad NameLoad attr Str Num Assign NameStore Call NameLoad keyword SubscriptLoad AttributeLoad NameLoad attr Index Num keyword NameLoad keyword NameLoad keyword NameLoad Assign NameStore NameLoad While CompareLt Call AttributeLoad NameLoad attr NameLoad body Assign NameStore NameLoad TryExcept body Expr Call AttributeLoad NameLoad attr Break handlers ExceptHandler type TupleLoad NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr name NameStore body Assign NameStore NameLoad Expr Call AttributeLoad NameLoad attr NameLoad If CompareIsNot NameLoad NameLoad body Raise NameLoad Assign NameStore Num While CompareGtE NameLoad Num body TryExcept body Assign NameStore Call AttributeLoad SubscriptLoad NameLoad Index Str attr NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Break handlers ExceptHandler type NameLoad name NameStore body AugAssignSub NameStore Num If CompareEq NameLoad Num body Raise Expr Call AttributeLoad NameLoad attr handlers ExceptHandler type NameLoad name NameStore body Raise ExceptHandler type NameLoad name NameStore body Raise Call NameLoad NameLoad NameLoad Return NameLoad decorator_list decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore ListLoad Dict Str Str Str Str Dict Str Str Str Str Dict Str Str Str Str Assign NameStore SubscriptLoad Call AttributeLoad NameLoad attr Str Call AttributeLoad NameLoad attr NameLoad Index Num For NameStore NameLoad body Assign NameStore SubscriptLoad Call AttributeLoad NameLoad attr Str Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index Str Index Num Assign NameStore SubscriptLoad Call AttributeLoad NameLoad attr Str Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index Str Index Num If CompareEq BinOpBitAnd NameLoad NameLoad BinOpBitAnd NameLoad NameLoad body Return NameLoad Return NameLoad decorator_list If CompareEq NameLoad Str body Import alias Expr Call AttributeLoad NameLoad attr
N/A N/A 
Provides base classes for working with drivers
 N/A httplib urllib N/A time N/A hashlib N/A StringIO N/A ssl N/A os N/A socket N/A struct libcloud.common.base ConnectionKey ConnectionUserAndKey libcloud.compute.types NodeState DeploymentError libcloud.compute.ssh SSHClient libcloud.httplib_ssl LibcloudHTTPSConnection httplib HTTPConnection LibcloudHTTPConnection Node N/A object N/A N/A 
    Provide a common interface for handling nodes of all types.

    The Node object provides the interface in libcloud through which
    we can manipulate nodes in different cloud providers in the same
    way.  Node objects don't actually do much directly themselves,
    instead the node driver handles the connection to the node.

    You don't normally create a node object yourself; instead you use
    a driver and then have that create the node for you.

    >>> from libcloud.compute.drivers.dummy import DummyNodeDriver
    >>> driver = DummyNodeDriver(0)
    >>> node = driver.create_node()
    >>> node.public_ip[0]
    '127.0.0.3'
    >>> node.name
    'dummy-3'

    You can also get nodes from the driver's list_node function.

    >>> node = driver.list_nodes()[0]
    >>> node.name
    'dummy-1'

    the node keeps a reference to its own driver which means that we
    can work on nodes from different providers without having to know
    which is which.

    >>> driver = DummyNodeDriver(72)
    >>> node2 = driver.create_node()
    >>> node.driver.creds
    0
    >>> node2.driver.creds
    72

    Althrough Node objects can be subclassed, this isn't normally
    done.  Instead, any driver specific information is stored in the
    "extra" proproperty of the node.

    >>> node.extra
    {'foo': 'bar'}

     __init__ N/A N/A self id name state public_ip private_ip driver extra N/A None N/A N/A N/A self id N/A id N/A str id None N/A N/A self name name N/A N/A self state state N/A N/A self public_ip public_ip N/A N/A self private_ip private_ip N/A N/A self driver driver N/A N/A self uuid N/A N/A self get_uuid N/A N/A extra N/A N/A N/A self extra N/A N/A N/A N/A self extra extra N/A get_uuid N/A N/A self N/A N/A N/A Unique hash for this node

        @return: C{string}

        The hash is a function of an SHA1 hash of the node's ID and
        its driver which means that it should be unique between all
        nodes.  In some subclasses (e.g. GoGrid) there is no ID
        available so the public IP address is used.  This means that,
        unlike a properly done system UUID, the same UUID may mean a
        different system install at a different time

        >>> from libcloud.compute.drivers.dummy import DummyNodeDriver
        >>> driver = DummyNodeDriver(0)
        >>> node = driver.create_node()
        >>> node.get_uuid()
        'd3748461511d8b9b0e0bfa0d4d3383a619a2bb9f'

        Note, for example, that this example will always produce the
        same UUID!
         N/A N/A N/A N/A N/A hashlib sha1 N/A %s:%d N/A N/A self id N/A N/A self driver type hexdigest N/A reboot N/A N/A self N/A N/A N/A Reboot this node

        @return: C{bool}

        This calls the node's driver and reboots the node

        >>> from libcloud.compute.drivers.dummy import DummyNodeDriver
        >>> driver = DummyNodeDriver(0)
        >>> node = driver.create_node()
        >>> from libcloud.compute.types import NodeState
        >>> node.state == NodeState.RUNNING
        True
        >>> node.state == NodeState.REBOOTING
        False
        >>> node.reboot()
        True
        >>> node.state == NodeState.REBOOTING
        True
         N/A N/A N/A N/A self driver reboot_node self N/A destroy N/A N/A self N/A N/A N/A Destroy this node

        @return: C{bool}

        This calls the node's driver and destroys the node

        >>> from libcloud.compute.drivers.dummy import DummyNodeDriver
        >>> driver = DummyNodeDriver(0)
        >>> from libcloud.compute.types import NodeState
        >>> node = driver.create_node()
        >>> node.state == NodeState.RUNNING
        True
        >>> node.destroy()
        True
        >>> node.state == NodeState.RUNNING
        False

         N/A N/A N/A N/A self driver destroy_node self N/A __repr__ N/A N/A self N/A N/A N/A N/A <Node: uuid=%s, name=%s, state=%s, public_ip=%s, provider=%s ...> N/A N/A self uuid N/A self name N/A self state N/A self public_ip N/A N/A self driver name N/A N/A NodeSize N/A object N/A N/A 
    A Base NodeSize class to derive from.

    NodeSizes are objects which are typically returned a driver's
    list_sizes function.  They contain a number of different
    parameters which define how big an image is.

    The exact parameters available depends on the provider.

    N.B. Where a parameter is "unlimited" (for example bandwidth in
    Amazon) this will be given as 0.

    >>> from libcloud.compute.drivers.dummy import DummyNodeDriver
    >>> driver = DummyNodeDriver(0)
    >>> size = driver.list_sizes()[0]
    >>> size.ram
    128
    >>> size.bandwidth
    500
    >>> size.price
    4
     __init__ N/A N/A self id name ram disk bandwidth price driver N/A N/A N/A N/A self id N/A str id N/A N/A self name name N/A N/A self ram ram N/A N/A self disk disk N/A N/A self bandwidth bandwidth N/A N/A self price price N/A N/A self driver driver N/A __repr__ N/A N/A self N/A N/A N/A N/A <NodeSize: id=%s, name=%s, ram=%s disk=%s bandwidth=%s price=%s driver=%s ...> N/A N/A self id N/A self name N/A self ram N/A self disk N/A self bandwidth N/A self price N/A N/A self driver name N/A N/A NodeImage N/A object N/A N/A 
    An operating system image.

    NodeImage objects are typically returned by the driver for the
    cloud provider in response to the list_images function

    >>> from libcloud.compute.drivers.dummy import DummyNodeDriver
    >>> driver = DummyNodeDriver(0)
    >>> image = driver.list_images()[0]
    >>> image.name
    'Ubuntu 9.10'

    Apart from name and id, there is no further standard information;
    other parameters are stored in a driver specific "extra" variable

    When creating a node, a node image should be given as an argument
    to the create_node function to decide which OS image to use.

    >>> node = driver.create_node(image=image)

     __init__ N/A N/A self id name driver extra N/A None N/A N/A N/A self id N/A str id N/A N/A self name name N/A N/A self driver driver N/A N/A extra N/A N/A N/A self extra N/A N/A N/A N/A self extra extra N/A __repr__ N/A N/A self N/A N/A N/A N/A <NodeImage: id=%s, name=%s, driver=%s  ...> N/A N/A self id N/A self name N/A N/A self driver name N/A N/A NodeLocation N/A object N/A N/A 
    A physical location where nodes can be.

    >>> from libcloud.compute.drivers.dummy import DummyNodeDriver
    >>> driver = DummyNodeDriver(0)
    >>> location = driver.list_locations()[0]
    >>> location.country
    'US'
     __init__ N/A N/A self id name country driver N/A N/A N/A N/A self id N/A str id N/A N/A self name name N/A N/A self country country N/A N/A self driver driver N/A __repr__ N/A N/A self N/A N/A N/A N/A <NodeLocation: id=%s, name=%s, country=%s, driver=%s> N/A N/A self id N/A self name N/A self country N/A N/A self driver name N/A N/A NodeAuthSSHKey N/A object N/A N/A 
    An SSH key to be installed for authentication to a node.

    This is the actual contents of the users ssh public key which will
    normally be installed as root's public key on the node.

    >>> pubkey = '...' # read from file
    >>> from libcloud.compute.base import NodeAuthSSHKey
    >>> k = NodeAuthSSHKey(pubkey)
    >>> k
    <NodeAuthSSHKey>

     __init__ N/A N/A self pubkey N/A N/A N/A N/A self pubkey pubkey N/A __repr__ N/A N/A self N/A N/A N/A <NodeAuthSSHKey> N/A N/A NodeAuthPassword N/A object N/A N/A 
    A password to be used for authentication to a node.
     __init__ N/A N/A self password N/A N/A N/A N/A self password password N/A __repr__ N/A N/A self N/A N/A N/A <NodeAuthPassword> N/A N/A NodeDriver N/A object N/A N/A 
    A base NodeDriver class to derive from

    This class is always subclassed by a specific driver.  For
    examples of base behavior of most functions (except deploy node)
    see the dummy driver.

     N/A connectionCls ConnectionKey N/A name None N/A type None N/A port None N/A features N/A create_node N/A N/A 
    List of available features for a driver.
        - L{create_node}
            - ssh_key: Supports L{NodeAuthSSHKey} as an authentication method
              for nodes.
            - password: Supports L{NodeAuthPassword} as an authentication
              method for nodes.
            - generates_password: Returns a password attribute on the Node
              object returned from creation.
     N/A NODE_STATE_MAP N/A __init__ N/A N/A self key secret secure host port N/A None True None None N/A N/A 
        @keyword    key:    API key or username to used
        @type       key:    str

        @keyword    secret: Secret password to be used
        @type       secret: str

        @keyword    secure: Weither to use HTTPS or HTTP. Note: Some providers
                            only support HTTPS, and it is on by default.
        @type       secure: bool

        @keyword    host: Override hostname used for connections.
        @type       host: str

        @keyword    port: Override port used for connections.
        @type       port: int
         N/A N/A self key key N/A N/A self secret secret N/A N/A self secure secure N/A args N/A N/A self key N/A N/A N/A self secret None N/A N/A N/A N/A args append N/A self secret N/A N/A N/A args append secure N/A N/A host None N/A N/A N/A N/A args append host N/A N/A port None N/A N/A N/A N/A args append port N/A N/A self connection N/A N/A self connectionCls args N/A N/A N/A self connection driver self N/A N/A N/A N/A self connection connect N/A create_node N/A N/A self N/A kwargs N/A N/A Create a new node instance.

        @keyword    name:   String with a name for this new node (required)
        @type       name:   str

        @keyword    size:   The size of resources allocated to this node.
                            (required)
        @type       size:   L{NodeSize}

        @keyword    image:  OS Image to boot on node. (required)
        @type       image:  L{NodeImage}

        @keyword    location: Which data center to create a node in. If empty,
                              undefined behavoir will be selected. (optional)
        @type       location: L{NodeLocation}

        @keyword    auth:   Initial authentication information for the node
                            (optional)
        @type       auth:   L{NodeAuthSSHKey} or L{NodeAuthPassword}

        @return: The newly created L{Node}.
         N/A NotImplementedError create_node not implemented for this driver N/A destroy_node N/A N/A self node N/A N/A N/A Destroy a node.

        Depending upon the provider, this may destroy all data associated with
        the node, including backups.

        @return: C{bool} True if the destroy was successful, otherwise False
         N/A NotImplementedError destroy_node not implemented for this driver N/A reboot_node N/A N/A self node N/A N/A N/A 
        Reboot a node.
        @return: C{bool} True if the reboot was successful, otherwise False
         N/A NotImplementedError reboot_node not implemented for this driver N/A list_nodes N/A N/A self N/A N/A N/A 
        List all nodes
        @return: C{list} of L{Node} objects
         N/A NotImplementedError list_nodes not implemented for this driver N/A list_images N/A N/A self location N/A None N/A N/A 
        List images on a provider
        @return: C{list} of L{NodeImage} objects
         N/A NotImplementedError list_images not implemented for this driver N/A list_sizes N/A N/A self location N/A None N/A N/A 
        List sizes on a provider
        @return: C{list} of L{NodeSize} objects
         N/A NotImplementedError list_sizes not implemented for this driver N/A list_locations N/A N/A self N/A N/A N/A 
        List data centers for a provider
        @return: C{list} of L{NodeLocation} objects
         N/A NotImplementedError list_locations not implemented for this driver N/A deploy_node N/A N/A self N/A kwargs N/A N/A 
        Create a new node, and start deployment.

        Depends on a Provider Driver supporting either using a specific password
        or returning a generated password.

        This function may raise a L{DeploymentException}, if a create_node
        call was successful, but there is a later error (like SSH failing or
        timing out).  This exception includes a Node object which you may want
        to destroy if incomplete deployments are not desirable.

        @keyword    deploy: Deployment to run once machine is online and availble to SSH.
        @type       deploy: L{Deployment}

        @keyword    ssh_username: Optional name of the account which is used when connecting to
                                  SSH server (default is root)
        @type       ssh_username: C{str}

        @keyword    ssh_port: Optional SSH server port (default is 22)
        @type       ssh_port: C{int}

        See L{NodeDriver.create_node} for more keyword args.

        >>> from libcloud.compute.drivers.dummy import DummyNodeDriver
        >>> from libcloud.deployment import ScriptDeployment, MultiStepDeployment
        >>> from libcloud.compute.base import NodeAuthSSHKey
        >>> driver = DummyNodeDriver(0)
        >>> key = NodeAuthSSHKey('...') # read from file
        >>> script = ScriptDeployment("yum -y install emacs strace tcpdump")
        >>> msd = MultiStepDeployment([key, script])
        >>> def d():
        ...     try:
        ...         node = driver.deploy_node(deploy=msd)
        ...     except NotImplementedError:
        ...         print "not implemented for dummy driver"
        >>> d()
        not implemented for dummy driver

        Deploy node is typically not overridden in subclasses.  The
        existing implementation should be able to handle most such.
         N/A WAIT_PERIOD 3 N/A password None N/A N/A generates_password N/A N/A self features N/A create_node N/A N/A N/A password N/A N/A self features N/A create_node N/A N/A NotImplementedError deploy_node not implemented for this driver N/A N/A N/A N/A kwargs has_key auth N/A N/A N/A kwargs N/A auth N/A NodeAuthPassword N/A N/A N/A N/A os urandom 16 encode hex N/A password N/A N/A kwargs N/A auth password N/A node N/A N/A self create_node kwargs N/A N/A N/A N/A generates_password N/A N/A self features N/A create_node N/A N/A password N/A N/A N/A node extra get password N/A start N/A N/A time time N/A end N/A start N/A 60 15 N/A N/A N/A N/A time time end N/A N/A N/A N/A time sleep WAIT_PERIOD N/A nodes N/A N/A self list_nodes N/A nodes N/A filter N/A N/A N/A n N/A N/A N/A n uuid N/A node uuid nodes N/A N/A N/A len nodes 0 N/A N/A N/A DeploymentError node N/A Booted node[%s] is missing form list_nodes. node N/A N/A N/A len nodes 1 N/A N/A N/A DeploymentError node N/A Booted single node[%s], but multiple nodes have same UUID node N/A node N/A nodes N/A 0 N/A N/A N/A N/A node public_ip None N/A N/A node public_ip N/A N/A node state N/A NodeState RUNNING N/A N/A N/A ssh_username N/A N/A kwargs get ssh_username root N/A ssh_port N/A N/A kwargs get ssh_port 22 N/A client N/A SSHClient hostname N/A N/A node public_ip N/A 0 port ssh_port username ssh_username password password N/A laste None N/A N/A N/A N/A time time end N/A N/A laste None N/A N/A N/A N/A N/A client connect N/A N/A N/A N/A N/A IOError N/A socket gaierror N/A socket error N/A e N/A N/A laste e N/A N/A N/A time sleep WAIT_PERIOD N/A N/A laste None N/A N/A e N/A tries 3 N/A N/A tries 0 N/A N/A N/A N/A n N/A N/A N/A kwargs N/A deploy run node client N/A N/A N/A client close N/A N/A N/A N/A Exception N/A e N/A N/A tries 1 N/A N/A tries 0 N/A N/A N/A N/A N/A client connect N/A N/A N/A DeploymentError N/A e N/A N/A N/A N/A Exception N/A e N/A N/A N/A DeploymentError node e N/A n N/A N/A is_private_subnet N/A N/A ip N/A N/A N/A 
    Utility function to check if an IP address is inside a private subnet.

    @type ip: C{str}
    @keyword ip: IP address to check

    @return: C{bool} if the specified IP address is private.
     N/A priv_subnets N/A N/A subnet mask 10.0.0.0 255.0.0.0 N/A subnet mask 172.16.0.0 255.240.0.0 N/A subnet mask 192.168.0.0 255.255.0.0 N/A ip N/A N/A N/A struct unpack I N/A N/A socket inet_aton ip N/A 0 N/A network priv_subnets N/A N/A subnet N/A N/A N/A struct unpack I N/A N/A socket inet_aton N/A network N/A subnet N/A 0 N/A mask N/A N/A N/A struct unpack I N/A N/A socket inet_aton N/A network N/A mask N/A 0 N/A N/A N/A ip mask N/A subnet mask N/A N/A True N/A False N/A N/A N/A __name__ __main__ N/A N/A doctest N/A N/A N/A doctest testmod