You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by to...@apache.org on 2011/03/08 00:44:12 UTC

svn commit: r1079029 [7/13] - in /incubator/libcloud/trunk: ./ demos/ dist/ libcloud/ libcloud/common/ libcloud/compute/ libcloud/compute/drivers/ libcloud/drivers/ libcloud/storage/ libcloud/storage/drivers/ test/ test/compute/ test/compute/fixtures/ ...

Added: incubator/libcloud/trunk/test/__init__.py
URL: http://svn.apache.org/viewvc/incubator/libcloud/trunk/test/__init__.py?rev=1079029&view=auto
==============================================================================
--- incubator/libcloud/trunk/test/__init__.py (added)
+++ incubator/libcloud/trunk/test/__init__.py Mon Mar  7 23:44:06 2011
@@ -0,0 +1,201 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+import httplib
+
+from cStringIO import StringIO
+from urllib2 import urlparse
+from cgi import parse_qs
+
+from libcloud.common.base import RawResponse
+
+class multipleresponse(object):
+    """
+    A decorator that allows MockHttp objects to return multi responses
+    """
+    count = 0
+    func = None
+
+    def __init__(self, f):
+        self.func = f
+
+    def __call__(self, *args, **kwargs):
+        ret = self.func(self.func.__class__, *args, **kwargs)
+        response = ret[self.count]
+        self.count = self.count + 1
+        return response
+
+
+class MockResponse(object):
+    """
+    A mock HTTPResponse
+    """
+    headers = {}
+    body = StringIO()
+    status = 0
+    reason = ''
+    version = 11
+
+    def __init__(self, status, body, headers=None, reason=None):
+        self.status = status
+        self.body = StringIO(body)
+        self.headers = headers or self.headers
+        self.reason = reason or self.reason
+
+    def read(self, *args, **kwargs):
+        return self.body.read(*args, **kwargs)
+
+    def getheader(self, name, *args, **kwargs):
+        return self.headers.get(name, *args, **kwargs)
+
+    def getheaders(self):
+        return self.headers.items()
+
+    def msg(self):
+        raise NotImplemented
+
+class BaseMockHttpObject(object):
+    def _get_method_name(self, type, use_param, qs, path):
+        meth_name = path.replace('/','_').replace('.', '_').replace('-','_')
+        if type:
+            meth_name = '%s_%s' % (meth_name, self.type)
+        if use_param:
+            param = qs[self.use_param][0].replace('.', '_').replace('-','_')
+            meth_name = '%s_%s' % (meth_name, param)
+        return meth_name
+
+class MockHttp(BaseMockHttpObject):
+    """
+    A mock HTTP client/server suitable for testing purposes. This replaces
+    `HTTPConnection` by implementing its API and returning a mock response.
+
+    Define methods by request path, replacing slashes (/) with underscores (_).
+    Each of these mock methods should return a tuple of:
+
+        (int status, str body, dict headers, str reason)
+
+    >>> mock = MockHttp('localhost', 8080)
+    >>> mock.request('GET', '/example/')
+    >>> response = mock.getresponse()
+    >>> response.body.read()
+    'Hello World!'
+    >>> response.status
+    200
+    >>> response.getheaders()
+    [('X-Foo', 'libcloud')]
+    >>> MockHttp.type = 'fail'
+    >>> mock.request('GET', '/example/')
+    >>> response = mock.getresponse()
+    >>> response.body.read()
+    'Oh Noes!'
+    >>> response.status
+    403
+    >>> response.getheaders()
+    [('X-Foo', 'fail')]
+
+    """
+    responseCls = MockResponse
+    host = None
+    port = None
+    response = None
+
+    type = None
+    use_param = None # will use this param to namespace the request function
+
+    def __init__(self, host, port, *args, **kwargs):
+        self.host = host
+        self.port = port
+
+    def request(self, method, url, body=None, headers=None, raw=False):
+        # Find a method we can use for this request
+        parsed = urlparse.urlparse(url)
+        scheme, netloc, path, params, query, fragment = parsed
+        qs = parse_qs(query)
+        if path.endswith('/'):
+            path = path[:-1]
+        meth_name = self._get_method_name(type=self.type,
+                                          use_param=self.use_param,
+                                          qs=qs, path=path)
+        meth = getattr(self, meth_name)
+        status, body, headers, reason = meth(method, url, body, headers)
+        self.response = self.responseCls(status, body, headers, reason)
+
+    def getresponse(self):
+        return self.response
+
+    def connect(self):
+        """
+        Can't think of anything to mock here.
+        """
+        pass
+
+    def close(self):
+        pass
+
+    # Mock request/response example
+    def _example(self, method, url, body, headers):
+        """
+        Return a simple message and header, regardless of input.
+        """
+        return (httplib.OK, 'Hello World!', {'X-Foo': 'libcloud'},
+                httplib.responses[httplib.OK])
+
+    def _example_fail(self, method, url, body, headers):
+        return (httplib.FORBIDDEN, 'Oh Noes!', {'X-Foo': 'fail'},
+                httplib.responses[httplib.FORBIDDEN])
+
+class MockRawResponse(BaseMockHttpObject):
+    """
+    Mock RawResponse object suitable for testing.
+    """
+
+    type = None
+    responseCls = MockResponse
+
+    def __init__(self):
+        super(MockRawResponse, self).__init__()
+        self._status = None
+        self._response = None
+        self._headers = None
+        self._reason = None
+
+    @property
+    def response(self):
+        if not self._response:
+            meth_name = self._get_method_name(type=self.type,
+                                              use_param=False, qs=None,
+                                              path=self.connection.action)
+            meth = getattr(self, meth_name)
+            result = meth(self.connection.method, None, None, None)
+            self._status, self._body, self._headers, self._reason = result
+            self._response = self.responseCls(self._status, self._body,
+                                              self._headers, self._reason)
+            return self
+        return self._response
+
+    @property
+    def status(self):
+        return self._status
+
+    @property
+    def headers(self):
+        return self._headers
+
+    @property
+    def reason(self):
+        return self._reason
+
+if __name__ == "__main__":
+    import doctest
+    doctest.testmod()

Added: incubator/libcloud/trunk/test/compute/__init__.py
URL: http://svn.apache.org/viewvc/incubator/libcloud/trunk/test/compute/__init__.py?rev=1079029&view=auto
==============================================================================
--- incubator/libcloud/trunk/test/compute/__init__.py (added)
+++ incubator/libcloud/trunk/test/compute/__init__.py Mon Mar  7 23:44:06 2011
@@ -0,0 +1,77 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import httplib
+from cStringIO import StringIO
+from urllib2 import urlparse
+from cgi import parse_qs
+
+from libcloud.compute.base import Node, NodeImage, NodeLocation
+
+class TestCaseMixin(object):
+
+    def test_list_nodes_response(self):
+        nodes = self.driver.list_nodes()
+        self.assertTrue(isinstance(nodes, list))
+        for node in nodes:
+            self.assertTrue(isinstance(node, Node))
+
+    def test_list_sizes_response(self):
+        sizes = self.driver.list_sizes()
+        size = sizes[0]
+        self.assertTrue(isinstance(sizes, list))
+        # Check that size values are ints or None
+        self.assertTrue(size.ram is None or isinstance(size.ram, int))
+        self.assertTrue(size.disk is None or isinstance(size.disk, int))
+        self.assertTrue(size.bandwidth is None or
+                            isinstance(size.bandwidth, int))
+
+    def test_list_images_response(self):
+        images = self.driver.list_images()
+        self.assertTrue(isinstance(images, list))
+        for image in images:
+            self.assertTrue(isinstance(image, NodeImage))
+
+
+    def test_list_locations_response(self):
+        locations = self.driver.list_locations()
+        self.assertTrue(isinstance(locations, list))
+        for dc in locations:
+            self.assertTrue(isinstance(dc, NodeLocation))
+
+    def test_create_node_response(self):
+        # should return a node object
+        size = self.driver.list_sizes()[0]
+        image = self.driver.list_images()[0]
+        node = self.driver.create_node(name='node-name',
+                                     image=image,
+                                     size=size)
+        self.assertTrue(isinstance(node, Node))
+
+    def test_destroy_node_response(self):
+        # should return a node object
+        node = self.driver.list_nodes()[0]
+        ret = self.driver.destroy_node(node)
+        self.assertTrue(isinstance(ret, bool))
+
+    def test_reboot_node_response(self):
+        # should return a node object
+        node = self.driver.list_nodes()[0]
+        ret = self.driver.reboot_node(node)
+        self.assertTrue(isinstance(ret, bool))
+
+if __name__ == "__main__":
+    import doctest
+    doctest.testmod()

Added: incubator/libcloud/trunk/test/compute/fixtures/brightbox/create_server.json
URL: http://svn.apache.org/viewvc/incubator/libcloud/trunk/test/compute/fixtures/brightbox/create_server.json?rev=1079029&view=auto
==============================================================================
--- incubator/libcloud/trunk/test/compute/fixtures/brightbox/create_server.json (added)
+++ incubator/libcloud/trunk/test/compute/fixtures/brightbox/create_server.json Mon Mar  7 23:44:06 2011
@@ -0,0 +1,62 @@
+{"id": "srv-3a97e",
+ "url": "servers/(server_id)",
+ "name": "My web server",
+ "status": "active",
+ "hostname": "srv-3a97e.gb1.brightbox.com",
+ "created_at": "",
+ "deleted_at": "",
+ "started_at": "",
+ "account":
+  {"id": "acc-3jd8s",
+   "url": "accounts/(account_id)",
+   "name": "Brightbox Systems Ltd.",
+   "status": "verified",
+   "ram_limit": 20480,
+   "ram_used": 2048,
+   "limits_cloudips": 5},
+ "image":
+  {"id": "img-9vxqi",
+   "url": "images/(image_id)",
+   "name": "Brightbox Lucid 32",
+   "status": "available",
+   "description": "Jeremy's debian ec2 image",
+   "source": "jeremy_debian-32_ec2",
+   "source_type": "upload",
+   "arch": "32-bit",
+   "created_at": "",
+   "owner": "acc-bright"},
+ "server_type":
+  {"id": "typ-a97e6",
+   "url": "server_types/(server_type_id)",
+   "handle": "nano",
+   "name": "Brightbox Nano",
+   "status": "",
+   "cores": 2,
+   "ram": 2048,
+   "disk_size": ""},
+ "zone":
+  {"id": "zon-8ja0a",
+   "url": "zones/(zone_id)",
+   "handle": "gb1-a"},
+ "snapshots":
+  [{"id": "img-9vxqi",
+    "url": "images/(image_id)",
+    "name": "Brightbox Lucid 32",
+    "status": "available",
+    "description": "Jeremy's debian ec2 image",
+    "source": "jeremy_debian-32_ec2",
+    "source_type": "upload",
+    "arch": "32-bit",
+    "created_at": "",
+    "owner": "acc-bright"}],
+ "cloud_ips":
+  [{"id": "cip-ja8ub",
+    "url": "cloud_ips/(cloud_ip_id)",
+    "public_ip": "109.107.42.129",
+    "status": "mapped",
+    "reverse_dns": "cip-109-107-42-129.gb1.brightbox.com"}],
+ "interfaces":
+  [{"id": "int-mc3a9",
+    "url": "interfaces/(interface_id)",
+    "mac_address": "02:24:19:6e:18:36",
+    "ipv4_address": "10.110.24.54"}]}
\ No newline at end of file

Added: incubator/libcloud/trunk/test/compute/fixtures/brightbox/list_images.json
URL: http://svn.apache.org/viewvc/incubator/libcloud/trunk/test/compute/fixtures/brightbox/list_images.json?rev=1079029&view=auto
==============================================================================
--- incubator/libcloud/trunk/test/compute/fixtures/brightbox/list_images.json (added)
+++ incubator/libcloud/trunk/test/compute/fixtures/brightbox/list_images.json Mon Mar  7 23:44:06 2011
@@ -0,0 +1,21 @@
+[{"id": "img-9vxqi",
+  "url": "images/(image_id)",
+  "name": "Brightbox Lucid 32",
+  "status": "available",
+  "description": "Jeremy's debian ec2 image",
+  "source": "jeremy_debian-32_ec2",
+  "source_type": "upload",
+  "arch": "32-bit",
+  "created_at": "",
+  "owner": "acc-bright",
+  "ancestor":
+   {"id": "img-9vxqi",
+    "url": "images/(image_id)",
+    "name": "Brightbox Lucid 32",
+    "status": "available",
+    "description": "Jeremy's debian ec2 image",
+    "source": "jeremy_debian-32_ec2",
+    "source_type": "upload",
+    "arch": "32-bit",
+    "created_at": "",
+    "owner": "acc-bright"}}]

Added: incubator/libcloud/trunk/test/compute/fixtures/brightbox/list_server_types.json
URL: http://svn.apache.org/viewvc/incubator/libcloud/trunk/test/compute/fixtures/brightbox/list_server_types.json?rev=1079029&view=auto
==============================================================================
--- incubator/libcloud/trunk/test/compute/fixtures/brightbox/list_server_types.json (added)
+++ incubator/libcloud/trunk/test/compute/fixtures/brightbox/list_server_types.json Mon Mar  7 23:44:06 2011
@@ -0,0 +1,8 @@
+[{"id": "typ-4nssg",
+  "url": "server_types/typ-4nssg",
+  "handle": "nano",
+  "name": "Brightbox Nano Instance",
+  "status": "",
+  "cores": 1,
+  "ram": 512,
+  "disk_size": 10240}]

Added: incubator/libcloud/trunk/test/compute/fixtures/brightbox/list_servers.json
URL: http://svn.apache.org/viewvc/incubator/libcloud/trunk/test/compute/fixtures/brightbox/list_servers.json?rev=1079029&view=auto
==============================================================================
--- incubator/libcloud/trunk/test/compute/fixtures/brightbox/list_servers.json (added)
+++ incubator/libcloud/trunk/test/compute/fixtures/brightbox/list_servers.json Mon Mar  7 23:44:06 2011
@@ -0,0 +1,62 @@
+[{"id": "srv-3a97e",
+  "url": "servers/(server_id)",
+  "name": "My web server",
+  "status": "active",
+  "hostname": "srv-3a97e.gb1.brightbox.com",
+  "created_at": "",
+  "deleted_at": "",
+  "started_at": "",
+  "account":
+   {"id": "acc-3jd8s",
+    "url": "accounts/(account_id)",
+    "name": "Brightbox Systems Ltd.",
+    "status": "verified",
+    "ram_limit": 20480,
+    "ram_used": 2048,
+    "limits_cloudips": 5},
+  "image":
+   {"id": "img-9vxqi",
+    "url": "images/(image_id)",
+    "name": "Brightbox Lucid 32",
+    "status": "available",
+    "description": "Jeremy's debian ec2 image",
+    "source": "jeremy_debian-32_ec2",
+    "source_type": "upload",
+    "arch": "32-bit",
+    "created_at": "",
+    "owner": "acc-bright"},
+  "server_type":
+   {"id": "typ-a97e6",
+    "url": "server_types/(server_type_id)",
+    "handle": "nano",
+    "name": "Brightbox Nano",
+    "status": "",
+    "cores": 2,
+    "ram": 2048,
+    "disk_size": ""},
+  "zone":
+   {"id": "zon-8ja0a",
+    "url": "zones/(zone_id)",
+    "handle": "gb1-a"},
+  "snapshots":
+   [{"id": "img-9vxqi",
+     "url": "images/(image_id)",
+     "name": "Brightbox Lucid 32",
+     "status": "available",
+     "description": "Jeremy's debian ec2 image",
+     "source": "jeremy_debian-32_ec2",
+     "source_type": "upload",
+     "arch": "32-bit",
+     "created_at": "",
+     "owner": "acc-bright"}],
+  "cloud_ips":
+   [{"id": "cip-ja8ub",
+     "url": "cloud_ips/(cloud_ip_id)",
+     "public_ip": "109.107.42.129",
+     "status": "mapped",
+     "reverse_dns": "cip-109-107-42-129.gb1.brightbox.com"}],
+  "interfaces":
+   [{"id": "int-mc3a9",
+     "url": "interfaces/(interface_id)",
+     "mac_address": "02:24:19:6e:18:36",
+     "ipv4_address": "10.110.24.54"}]}]

Added: incubator/libcloud/trunk/test/compute/fixtures/brightbox/list_zones.json
URL: http://svn.apache.org/viewvc/incubator/libcloud/trunk/test/compute/fixtures/brightbox/list_zones.json?rev=1079029&view=auto
==============================================================================
--- incubator/libcloud/trunk/test/compute/fixtures/brightbox/list_zones.json (added)
+++ incubator/libcloud/trunk/test/compute/fixtures/brightbox/list_zones.json Mon Mar  7 23:44:06 2011
@@ -0,0 +1,3 @@
+[{"id": "zon-8ja0a",
+  "url": "zones/(zone_id)",
+  "handle": "gb1-a"}]

Added: incubator/libcloud/trunk/test/compute/fixtures/brightbox/token.json
URL: http://svn.apache.org/viewvc/incubator/libcloud/trunk/test/compute/fixtures/brightbox/token.json?rev=1079029&view=auto
==============================================================================
--- incubator/libcloud/trunk/test/compute/fixtures/brightbox/token.json (added)
+++ incubator/libcloud/trunk/test/compute/fixtures/brightbox/token.json Mon Mar  7 23:44:06 2011
@@ -0,0 +1 @@
+{"access_token":"k1bjflpsaj8wnrbrwzad0eqo36nxiha", "expires_in": 3600}

Added: incubator/libcloud/trunk/test/compute/fixtures/cloudsigma/drives_clone.txt
URL: http://svn.apache.org/viewvc/incubator/libcloud/trunk/test/compute/fixtures/cloudsigma/drives_clone.txt?rev=1079029&view=auto
==============================================================================
--- incubator/libcloud/trunk/test/compute/fixtures/cloudsigma/drives_clone.txt (added)
+++ incubator/libcloud/trunk/test/compute/fixtures/cloudsigma/drives_clone.txt Mon Mar  7 23:44:06 2011
@@ -0,0 +1,19 @@
+status active
+use dbserver,general
+name SQL Server Standard 2008 R2 - Windows Server Standard 2008 R2 - 64bit English pub clone
+bits 64
+url http://www.microsoft.com/sqlserver/2008/en/us/
+read:bytes 4096
+description Please refer to the install notes for a full guide to initial configuration.
+write:bytes 21474840576
+drive a814def5-1789-49a0-bf88-7abe7bb1682a
+install_notes ***You must update the default Administrator password for Windows Server Standard 2008 and the Super Administrator password (sa) for SQL Server Standard 2008***\n\nPre-installed Windows Server 2008 Standard R2 64bit English on 15/07/2010\n=========================================================================\n\n1. Minimum Hardware Requirements\n--------------------------------\n\nThe recommended minimum hardware requirements for the use of SQL Server Standard 2008 R2 with Windows Server Standard 2008 R2 as publishes by Microsoft can be found through the following link:\n\nhttp://msdn.microsoft.com/en-us/library/ms143506.aspx\n\n\n2. Update your administrator password\n-------------------------------------\n\nThe default administrator password is set to: CloudSigma1\n\nPlease CHANGE this IMMEDIATELY after first logging on.\n\na) Open the "Control Panel" and select "User Accounts"\n\nb) Select "Change your Windows Password"\n\nc) 
 The Administrator user icon will be shown on the right, select again "Change your Password", and on this screen update your details accordingly\n\n\n3. Expanding your drive\n-----------------------\n\nThe system is fully installed, but you will need to extend the\ndisk partition to cover the whole of your drive. To do this:\n\na) Open the "Computer Management" tool from "Administrative Tools" on the "Start" menu.\n\nb) Select "Storage" then "Disk Management" in the left hand pane\n\nc) Right-click on the 12.90 GB NTFS primary partition, and select "Extend Volume"\n\nd) Enter the amount of disk space that you want to increase the Volume size by (the default will be the maximum available)\n\nYou will need to repeat this procedure if you ever resize this drive in the future.\n\n\n4. Enabling Remote Access\n-------------------------\n\nAfter logging in to VNC for the first time to configure your new Windows se
 rver, we recommend that if you are logging in from a Windows Desktop that you enable Remote Desktop for better access performance. To do this, follow these instructions:\n\na) Select "Start" | "Applications" | "Control Panel"\n\nb) Select "System and Security"\n\nc) Under "System" select "Allow Remote Access"\n\nd) Select the corresponding connection according to your Security Configuration\n\n\n5. Pinging Service\n------------------\n\nThe Pinging service has been turned on by default, if you wish to disable it please follow these instructions:\n\na) Select the "Windows Firewall with Advanced Security" tool from  "Administrative Tools" on the "Start" menu.\n\nb) On the left hand pane, select "Inbound Rules"\n\nc) On the middle pane, select the rules "File and Printer Sharing (Echo Request - ICMPv4-In)" and "File and Printer Sharing (Echo Request - ICMPv6-In)&qu
 ot;\n\nd) From the right-hand pane, select "Disable Rules"\n\n\nSQL Server 2008 R2 on 15/07/2010\n================================\n\n1. Change the Super Administrator Password (sa). \n--------------------------------------------------------------------\n\nThe default password has been set to "CloudSigma1"\n\na) Open "Microsoft SQL Server Management Studio"\n\nb) Connect to the Server Using "Windows Indentificaiton"\n\nc) From the Object Explorer select "Security" then "Longins"\n\nd) Right-click on sa and select "Properties"\n\ne) Enter the new password into "Password" and "Confirm Password" and press "OK"\n\n\n2. The following features were installed:\n-----------------------------------------------------\n\na) Main features\n\n-Database Engine Services\n-SQL Server Replication\n-Full-Text Search\n-Analysis Services\n-Reporting Services\n\nb) Shared Features\n\n-Business Int
 elligengce Development Studio\n-Client Tools Connectivity\n-Integration Services\n-Clinet Tools Backwards Compatibility\n-Clinet Tools SDK\n-SQL Server Books Online\n-Mangement Tools - Basic\n-Management Tools - Complete\n-SQL Client Connectivity SDK\n-Microsoft Sync Framework\n\n3 The following services were configured:\n--------------------------------------------------------\n\n\nService: SQL Server Agent\nUser: NT AUTHORITY\NETWORK SERVICE\nStartup Type: Manual\n\nService: SQL Server Database Engine\nUser: NT AUTHORITY\NETWORK SERVICE\nStartup Type: Automatic\n\nService: SQL Server Analysis Services\nUser: NT AUTHORITY\NETWORK SERVICE\nStartup Type: Disabled\n\nService: SQL Server Reporting Services\nUser: NT AUTHORITY\NETWORK SERVICE\nStartup Type: Disabled\n\nService: SQL Server Integration Services 10.1\nUser: NT AUTHORITY\NETWORK SERVICE\nStartup Type: Disabled\n \nService: SQL Full-text filter Daemon Lanuch\nUser: NT AUTHORITY\LOCALSERVICE\nStartup Type: Disabled\n\
 nService: SQL Server Browser\nUser: NT AUTHORITY\LOCALSERVICE\nStartup Type: Disabled\n\nFor detailed server installation configuration refer to the following installation log files on the system:\nC:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\20100716_162426\Summary_WIN-K0F21FV1C1V_20100716_162426.txt\n
+volume 000431a5-46d9-4a67-9c03-3c3402a41992
+host 00043e69-ac57-45b1-8692-75db24064fb9
+os windows
+user 93b34fd9-7986-4b25-8bfd-98a50383605d
+read:requests 1
+licenses msft_p73_04837 msft_tfa_00009
+type disk
+write:requests 5242881
+size 21474836480

Added: incubator/libcloud/trunk/test/compute/fixtures/cloudsigma/drives_info.txt
URL: http://svn.apache.org/viewvc/incubator/libcloud/trunk/test/compute/fixtures/cloudsigma/drives_info.txt?rev=1079029&view=auto
==============================================================================
--- incubator/libcloud/trunk/test/compute/fixtures/cloudsigma/drives_info.txt (added)
+++ incubator/libcloud/trunk/test/compute/fixtures/cloudsigma/drives_info.txt Mon Mar  7 23:44:06 2011
@@ -0,0 +1,39 @@
+status active
+use general
+name test node
+bits 64
+url http://www.centos.org/
+read:bytes 4096
+description This is a pre-installed ready CentOS system that can be deployed to your account instantly. Please refer to the install notes for a full guide to initial configuration. CentOS is an Enterprise-class Linux Distribution derived from sources freely provided to the public by a prominent North American Enterprise Linux vendor. CentOS conforms fully with the upstream vendors redistribution policy and aims to be 100% binary compatible.
+write:bytes 21474840576
+os linux
+drive 3d18db4b-f9bd-4313-b034-12ae181efa88
+install_notes ***You must update the default root/superuser password for CentOS 5.5 on first login.***\n\nPre-installed CentOS 5.5 64bit Linux on 24/07/2010\n============================================================\n\n1. Minimum Hardware Requirements\n--------------------------------------------------\n\nThe recommended minimum hardware requirements based on user feedback are:\n\nCPU: 1GHz\nRAM: 1GHz\n\nWe recommend specifying a larger size for a better user experience.\n\n\n2. Access your server for the first time using VNC\n----------------------------------------------------\nInitially you will need to access your server via VNC to complete the setup. \n\na) Start up your new server.\n\nb) Please use one of the recommended VNC clients, you will find a full list by following the 'Connect to your server via VNC now' link on general tab of the server detail window.\n\nb) Use the IP address and VNC password as provided on the general tab of the server detail windo
 w.\n\nc) After a few seconds you should see your server appear.\n\n\n3. Update your root/superuser password\n----------------------------------------------------\n\nThe default account is: root\nThe default root/superuser password is set to: CloudSigma .\n\nPlease CHANGE this IMMEDIATELY after first connecting with VNC.\n\na) Open a terminal or use the command line.\n\nb) Type the command:\n\npasswd\n\nc) When prompted enter the password 'CloudSigma' (no quotes should be typed) again and press return. You will then be prompted to enter a new password. We recommend a password of at least 8 characters including upper case and lower case letters as well as numbers.\n\nd) CloudSigma does not have access to your server account passwords. It is imperative that you securely store and manage your own passwords for your servers.\n\ne) Please note your root/superuser password is different from your VNC password. You can change your VNC password from the web console at any time
 .\n\n\n4. Expanding your drive\n--------------------------------\n\nThe system is fully installed, but you will need to extend the disk partition to cover the whole of your drive if you chose a disk size greater than 20GB. There are a number of tools which you can use to achieve this included GParted, the CD of which is also available in the drives library.\n\n\n4. Enabling Remote Access\n--------------------------------------\n\nVNC access is always enabled in our cloud allowing emergency recovery. We recommend using SSH to access your server for command line actions. By default this is turned off initially for security reasons. You will need to enable and install SSH if you wish to use it for access moving forward.\n\n\n5. Networking\n-------------------------\na) IP networking can be left as DHCP. Even if you are using a static IP address with this server our management layer will apply the same IP address via DHCP. Using DHCP ensures you will have no issues receiving the
  correct networking settings. We recommend using DHCP initially if only to receive all the correct networking settings.\n\nb) CloudSigma employs an open networking infrastructure. All ports are open for inbound and outbound traffic with the exception of port 25 (SMTP) which is blocked for trial users.\n\nIt is important that you secure access to your server according to your needs.
+encryption:cipher aes-xts-plain
+user 00000000-0000-0000-0000-000000000001
+autoexpanding false
+read:requests 1
+free true
+type disk
+write:requests 5242881
+size 53687091200
+
+status active
+use general
+name test node
+bits 64
+url http://www.centos.org/
+read:bytes 4096
+description This is a pre-installed ready CentOS system that can be deployed to your account instantly. Please refer to the install notes for a full guide to initial configuration. CentOS is an Enterprise-class Linux Distribution derived from sources freely provided to the public by a prominent North American Enterprise Linux vendor. CentOS conforms fully with the upstream vendors redistribution policy and aims to be 100% binary compatible.
+write:bytes 21474840576
+os linux
+drive 3d18db4b-f9bd-4313-b034-12ae181efa99
+install_notes ***You must update the default root/superuser password for CentOS 5.5 on first login.***\n\nPre-installed CentOS 5.5 64bit Linux on 24/07/2010\n============================================================\n\n1. Minimum Hardware Requirements\n--------------------------------------------------\n\nThe recommended minimum hardware requirements based on user feedback are:\n\nCPU: 1GHz\nRAM: 1GHz\n\nWe recommend specifying a larger size for a better user experience.\n\n\n2. Access your server for the first time using VNC\n----------------------------------------------------\nInitially you will need to access your server via VNC to complete the setup. \n\na) Start up your new server.\n\nb) Please use one of the recommended VNC clients, you will find a full list by following the 'Connect to your server via VNC now' link on general tab of the server detail window.\n\nb) Use the IP address and VNC password as provided on the general tab of the server detail windo
 w.\n\nc) After a few seconds you should see your server appear.\n\n\n3. Update your root/superuser password\n----------------------------------------------------\n\nThe default account is: root\nThe default root/superuser password is set to: CloudSigma .\n\nPlease CHANGE this IMMEDIATELY after first connecting with VNC.\n\na) Open a terminal or use the command line.\n\nb) Type the command:\n\npasswd\n\nc) When prompted enter the password 'CloudSigma' (no quotes should be typed) again and press return. You will then be prompted to enter a new password. We recommend a password of at least 8 characters including upper case and lower case letters as well as numbers.\n\nd) CloudSigma does not have access to your server account passwords. It is imperative that you securely store and manage your own passwords for your servers.\n\ne) Please note your root/superuser password is different from your VNC password. You can change your VNC password from the web console at any time
 .\n\n\n4. Expanding your drive\n--------------------------------\n\nThe system is fully installed, but you will need to extend the disk partition to cover the whole of your drive if you chose a disk size greater than 20GB. There are a number of tools which you can use to achieve this included GParted, the CD of which is also available in the drives library.\n\n\n4. Enabling Remote Access\n--------------------------------------\n\nVNC access is always enabled in our cloud allowing emergency recovery. We recommend using SSH to access your server for command line actions. By default this is turned off initially for security reasons. You will need to enable and install SSH if you wish to use it for access moving forward.\n\n\n5. Networking\n-------------------------\na) IP networking can be left as DHCP. Even if you are using a static IP address with this server our management layer will apply the same IP address via DHCP. Using DHCP ensures you will have no issues receiving the
  correct networking settings. We recommend using DHCP initially if only to receive all the correct networking settings.\n\nb) CloudSigma employs an open networking infrastructure. All ports are open for inbound and outbound traffic with the exception of port 25 (SMTP) which is blocked for trial users.\n\nIt is important that you secure access to your server according to your needs.
+encryption:cipher aes-xts-plain
+user 00000000-0000-0000-0000-000000000001
+autoexpanding false
+read:requests 1
+free true
+type disk
+write:requests 5242881
+size 103687091200

Added: incubator/libcloud/trunk/test/compute/fixtures/cloudsigma/drives_single_info.txt
URL: http://svn.apache.org/viewvc/incubator/libcloud/trunk/test/compute/fixtures/cloudsigma/drives_single_info.txt?rev=1079029&view=auto
==============================================================================
--- incubator/libcloud/trunk/test/compute/fixtures/cloudsigma/drives_single_info.txt (added)
+++ incubator/libcloud/trunk/test/compute/fixtures/cloudsigma/drives_single_info.txt Mon Mar  7 23:44:06 2011
@@ -0,0 +1,19 @@
+status active
+use general
+name test node
+bits 64
+url http://www.centos.org/
+read:bytes 4096
+description This is a pre-installed ready CentOS system that can be deployed to your account instantly. Please refer to the install notes for a full guide to initial configuration. CentOS is an Enterprise-class Linux Distribution derived from sources freely provided to the public by a prominent North American Enterprise Linux vendor. CentOS conforms fully with the upstream vendors redistribution policy and aims to be 100% binary compatible.
+write:bytes 21474840576
+os linux
+drive d18119ce_7afa_474a_9242_e0384b160220
+install_notes ***You must update the default root/superuser password for CentOS 5.5 on first login.***\n\nPre-installed CentOS 5.5 64bit Linux on 24/07/2010\n============================================================\n\n1. Minimum Hardware Requirements\n--------------------------------------------------\n\nThe recommended minimum hardware requirements based on user feedback are:\n\nCPU: 1GHz\nRAM: 1GHz\n\nWe recommend specifying a larger size for a better user experience.\n\n\n2. Access your server for the first time using VNC\n----------------------------------------------------\nInitially you will need to access your server via VNC to complete the setup. \n\na) Start up your new server.\n\nb) Please use one of the recommended VNC clients, you will find a full list by following the 'Connect to your server via VNC now' link on general tab of the server detail window.\n\nb) Use the IP address and VNC password as provided on the general tab of the server detail windo
 w.\n\nc) After a few seconds you should see your server appear.\n\n\n3. Update your root/superuser password\n----------------------------------------------------\n\nThe default account is: root\nThe default root/superuser password is set to: CloudSigma .\n\nPlease CHANGE this IMMEDIATELY after first connecting with VNC.\n\na) Open a terminal or use the command line.\n\nb) Type the command:\n\npasswd\n\nc) When prompted enter the password 'CloudSigma' (no quotes should be typed) again and press return. You will then be prompted to enter a new password. We recommend a password of at least 8 characters including upper case and lower case letters as well as numbers.\n\nd) CloudSigma does not have access to your server account passwords. It is imperative that you securely store and manage your own passwords for your servers.\n\ne) Please note your root/superuser password is different from your VNC password. You can change your VNC password from the web console at any time
 .\n\n\n4. Expanding your drive\n--------------------------------\n\nThe system is fully installed, but you will need to extend the disk partition to cover the whole of your drive if you chose a disk size greater than 20GB. There are a number of tools which you can use to achieve this included GParted, the CD of which is also available in the drives library.\n\n\n4. Enabling Remote Access\n--------------------------------------\n\nVNC access is always enabled in our cloud allowing emergency recovery. We recommend using SSH to access your server for command line actions. By default this is turned off initially for security reasons. You will need to enable and install SSH if you wish to use it for access moving forward.\n\n\n5. Networking\n-------------------------\na) IP networking can be left as DHCP. Even if you are using a static IP address with this server our management layer will apply the same IP address via DHCP. Using DHCP ensures you will have no issues receiving the
  correct networking settings. We recommend using DHCP initially if only to receive all the correct networking settings.\n\nb) CloudSigma employs an open networking infrastructure. All ports are open for inbound and outbound traffic with the exception of port 25 (SMTP) which is blocked for trial users.\n\nIt is important that you secure access to your server according to your needs.
+encryption:cipher aes-xts-plain
+user 00000000-0000-0000-0000-000000000001
+autoexpanding false
+read:requests 1
+free true
+type disk
+write:requests 5242881
+size 53687091200