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 2013/02/06 16:35:33 UTC
svn commit: r1443019 - in /libcloud/trunk: CHANGES
libcloud/compute/drivers/ibm_sce.py
libcloud/test/compute/fixtures/ibm_sce/destroy_image.xml
libcloud/test/compute/test_ibm_sce.py
Author: tomaz
Date: Wed Feb 6 15:35:33 2013
New Revision: 1443019
URL: http://svn.apache.org/viewvc?rev=1443019&view=rev
Log:
Add ex_destroy_image method to IBM SCE driver.
Contributed by Perry Zou part of LIBCLOUD-291.
Added:
libcloud/trunk/libcloud/test/compute/fixtures/ibm_sce/destroy_image.xml
Modified:
libcloud/trunk/CHANGES
libcloud/trunk/libcloud/compute/drivers/ibm_sce.py
libcloud/trunk/libcloud/test/compute/test_ibm_sce.py
Modified: libcloud/trunk/CHANGES
URL: http://svn.apache.org/viewvc/libcloud/trunk/CHANGES?rev=1443019&r1=1443018&r2=1443019&view=diff
==============================================================================
--- libcloud/trunk/CHANGES (original)
+++ libcloud/trunk/CHANGES Wed Feb 6 15:35:33 2013
@@ -148,6 +148,9 @@ Changes with Apache Libcloud in developm
ex_build_node extension method. (LIBCLOUD-249)
[Dinesh Bhoopathy]
+ - Add ex_destroy_image method to IBM SCE driver. (LIBCLOUD-291)
+ [Perry Zou]
+
*) Storage
- Add a new local storage driver.
Modified: libcloud/trunk/libcloud/compute/drivers/ibm_sce.py
URL: http://svn.apache.org/viewvc/libcloud/trunk/libcloud/compute/drivers/ibm_sce.py?rev=1443019&r1=1443018&r2=1443019&view=diff
==============================================================================
--- libcloud/trunk/libcloud/compute/drivers/ibm_sce.py (original)
+++ libcloud/trunk/libcloud/compute/drivers/ibm_sce.py Wed Feb 6 15:35:33 2013
@@ -26,6 +26,7 @@ import base64
import time
from libcloud.utils.py3 import urlencode
+from libcloud.utils.py3 import httplib
from libcloud.utils.py3 import b
from libcloud.common.base import XmlResponse, ConnectionUserAndKey
@@ -329,7 +330,7 @@ class IBMNodeDriver(NodeDriver):
url = REST_BASE + '/instances/%s' % (node.id)
status = int(self.connection.request(action=url,
method='DELETE').status)
- return status == 200
+ return status == httplib.OK
def destroy_volume(self, volume):
"""
@@ -343,6 +344,21 @@ class IBMNodeDriver(NodeDriver):
url = REST_BASE + '/storage/%s' % (volume.id)
status = int(self.connection.request(action=url,
method='DELETE').status)
+ return status == httplib.OK
+
+ def ex_destroy_image(self,image):
+ """
+ Destroys an image.
+
+ @param image: Image to be destroyed
+ @type image: L{NodeImage}
+
+ @return: C{bool}
+ """
+
+ url = REST_BASE + '/offerings/image/%s' % (image.id)
+ status = int(self.connection.request(action=url,
+ method='DELETE').status)
return status == 200
def attach_volume(self, node, volume):
Added: libcloud/trunk/libcloud/test/compute/fixtures/ibm_sce/destroy_image.xml
URL: http://svn.apache.org/viewvc/libcloud/trunk/libcloud/test/compute/fixtures/ibm_sce/destroy_image.xml?rev=1443019&view=auto
==============================================================================
--- libcloud/trunk/libcloud/test/compute/fixtures/ibm_sce/destroy_image.xml (added)
+++ libcloud/trunk/libcloud/test/compute/fixtures/ibm_sce/destroy_image.xml Wed Feb 6 15:35:33 2013
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?><ns2:DeleteImageResponse xmlns:ns2="http://www.ibm.com/xmlns/b2b/cloud/api/2010-03-31"/>
\ No newline at end of file
Modified: libcloud/trunk/libcloud/test/compute/test_ibm_sce.py
URL: http://svn.apache.org/viewvc/libcloud/trunk/libcloud/test/compute/test_ibm_sce.py?rev=1443019&r1=1443018&r2=1443019&view=diff
==============================================================================
--- libcloud/trunk/libcloud/test/compute/test_ibm_sce.py (original)
+++ libcloud/trunk/libcloud/test/compute/test_ibm_sce.py Wed Feb 6 15:35:33 2013
@@ -187,6 +187,12 @@ class IBMTests(unittest.TestCase, TestCa
IBMMockHttp.type = 'DESTROY'
ret = self.driver.destroy_volume(vols[0])
self.assertTrue(ret)
+
+ def test_ex_destroy_image(self):
+ image = self.driver.list_images()
+ IBMMockHttp.type = 'DESTROY'
+ ret = self.driver.ex_destroy_image(image[0])
+ self.assertTrue(ret)
def test_detach_volume(self):
nodes = self.driver.list_nodes()
@@ -278,7 +284,11 @@ class IBMMockHttp(MockHttp):
def _computecloud_enterprise_api_rest_20100331_storage_39281_DESTROY(self, method, url, body, headers):
body = self.fixtures.load('destroy_volume.xml')
return (httplib.OK, body, {}, httplib.responses[httplib.OK])
-
+
+ def _computecloud_enterprise_api_rest_20100331_offerings_image_2_DESTROY(self, method, url, body, headers):
+ body = self.fixtures.load('destroy_image.xml')
+ return (httplib.OK, body, {}, httplib.responses[httplib.OK])
+
def _computecloud_enterprise_api_rest_20100331_instances_26557_DETACH(self, method, url, body, headers):
body = self.fixtures.load('detach_volume.xml')
return (httplib.OK, body, {}, httplib.responses[httplib.OK])