You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by pq...@apache.org on 2010/02/05 08:44:14 UTC
svn commit: r906833 - in /incubator/libcloud/trunk/libcloud:
drivers/dummy.py providers.py
Author: pquerna
Date: Fri Feb 5 07:44:14 2010
New Revision: 906833
URL: http://svn.apache.org/viewvc?rev=906833&view=rev
Log:
Update the Dummy driver for all of our API changes.
Modified:
incubator/libcloud/trunk/libcloud/drivers/dummy.py
incubator/libcloud/trunk/libcloud/providers.py
Modified: incubator/libcloud/trunk/libcloud/drivers/dummy.py
URL: http://svn.apache.org/viewvc/incubator/libcloud/trunk/libcloud/drivers/dummy.py?rev=906833&r1=906832&r2=906833&view=diff
==============================================================================
--- incubator/libcloud/trunk/libcloud/drivers/dummy.py (original)
+++ incubator/libcloud/trunk/libcloud/drivers/dummy.py Fri Feb 5 07:44:14 2010
@@ -17,44 +17,90 @@
@note: This driver is out of date
"""
-from libcloud.types import Node, NodeState
from libcloud.interface import INodeDriver
+from libcloud.base import ConnectionKey, NodeDriver, NodeSize, NodeLocation
+from libcloud.base import NodeImage, Node
+from libcloud.types import Provider,NodeState
from zope.interface import implements
import uuid
-class DummyNodeDriver(object):
+class DummyConnection(ConnectionKey):
+
+ def connect(self, host=None, port=None):
+ pass
+
+class DummyNodeDriver(NodeDriver):
+
+ name = "Dummy Node Provider"
+ type = Provider.DUMMY
implements(INodeDriver)
def __init__(self, creds):
self.creds = creds
-
- def get_uuid(self, unique_field=None):
- return str(uuid.uuid4())
-
- def list_nodes(self):
- return [
- Node(uuid=self.get_uuid(),
+ self.nl = [
+ Node(id=1,
name='dummy-1',
state=NodeState.RUNNING,
- ipaddress=['127.0.0.1'],
- creds=self.creds,
- attrs={'foo': 'bar'}),
- Node(uuid=self.get_uuid(),
+ public_ip=['127.0.0.1'],
+ private_ip=[],
+ driver=self,
+ extra={'foo': 'bar'}),
+ Node(id=2,
name='dummy-2',
- state=NodeState.REBOOTING,
- ipaddress=['127.0.0.2'],
- creds=self.creds,
- attrs={'foo': 'bar'})
+ state=NodeState.RUNNING,
+ public_ip=['127.0.0.1'],
+ private_ip=[],
+ driver=self,
+ extra={'foo': 'bar'}),
]
+ def get_uuid(self, unique_field=None):
+ return str(uuid.uuid4())
+
+ def list_nodes(self):
+ return self.nl
+
def reboot_node(self, node):
node.state = NodeState.REBOOTING
- return node
+ return True
def destroy_node(self, node):
- pass
+ node.state = NodeState.TERMINATED
+ self.nl.remove(node)
+ return True
+
+ def list_images(self):
+ return [
+ NodeImage(id=1, name="Ubuntu 9.10", driver=self),
+ NodeImage(id=2, name="Ubuntu 9.04", driver=self),
+ NodeImage(id=3, name="Slackware 4", driver=self),
+ ]
+
+ def list_sizes(self):
+ return [
+ NodeSize(id=1, name="Small", ram=128, disk=4, bandwidth=500, price=4, driver=self),
+ NodeSize(id=2, name="Medium", ram=512, disk=16, bandwidth=1500, price=8, driver=self),
+ NodeSize(id=3, name="Big", ram=4096, disk=32, bandwidth=2500, price=32, driver=self),
+ NodeSize(id=4, name="XXL Big", ram=4096*2, disk=32*4, bandwidth=2500*3, price=32*2, driver=self),
+ ]
+
+ def list_locations(self):
+ return [
+ NodeLocation(id=1, name="Paul's Room", country='US', driver=self),
+ NodeLocation(id=1, name="London Loft", country='GB', driver=self),
+ NodeLocation(id=1, name="Island Datacenter", country='FJ', driver=self),
+ ]
- def create_node(self, node):
- pass
+ def create_node(self, **kwargs):
+ l = len(self.nl) + 1
+ n = Node(id=l,
+ name='dummy-%d' % l,
+ state=NodeState.RUNNING,
+ public_ip=['127.0.0.%d' % l],
+ private_ip=[],
+ driver=self,
+ extra={'foo': 'bar'})
+ self.nl.append(n)
+ return n
Modified: incubator/libcloud/trunk/libcloud/providers.py
URL: http://svn.apache.org/viewvc/incubator/libcloud/trunk/libcloud/providers.py?rev=906833&r1=906832&r2=906833&view=diff
==============================================================================
--- incubator/libcloud/trunk/libcloud/providers.py (original)
+++ incubator/libcloud/trunk/libcloud/providers.py Fri Feb 5 07:44:14 2010
@@ -23,8 +23,8 @@
DRIVERS = {
-# Provider.DUMMY:
-# ('libcloud.drivers.dummy', 'DummyNodeDriver'),
+ Provider.DUMMY:
+ ('libcloud.drivers.dummy', 'DummyNodeDriver'),
Provider.EC2_US_EAST:
('libcloud.drivers.ec2', 'EC2NodeDriver'),
Provider.EC2_EU_WEST: