I was told on twitter to email here about my problem.
I've attached the script I'm using and the output from it. The two problems I'm
having: list_nodes() is not reliable. Sometimes it lists my nodes, but often
not. destroy_node() raises an exception every time.
Any insight would be appreciated.
Thanks,
-Steven
[]
<Node: uuid=8ac9bcd413f4d517c4e587f8252a79e87cc08d75, name=foobar, state=BUILD,
public_ip=['204.232.210.238'], provider=Rackspace ...>
[]
Traceback (most recent call last):
File "test.py", line 36, in <module>
print driver.destroy_node(node)
File
"/Users/srbaker/Development/goldstar-tools/vendor/libcloud/libcloud/drivers/rackspace.py",
line 195, in destroy_node
resp = self.connection.request(uri, method='DELETE')
File
"/Users/srbaker/Development/goldstar-tools/vendor/libcloud/libcloud/drivers/rackspace.py",
line 109, in request
method=method, headers=headers)
File
"/Users/srbaker/Development/goldstar-tools/vendor/libcloud/libcloud/base.py",
line 233, in request
response = self.responseCls(self.connection.getresponse())
File
"/Users/srbaker/Development/goldstar-tools/vendor/libcloud/libcloud/base.py",
line 112, in __init__
raise Exception(self.parse_error())
Exception
import sys
import os
import os.path
sys.path.append(os.path.join(os.getcwd(), 'vendor', 'libcloud'))
from libcloud.types import Provider
from libcloud.providers import get_driver
def create(driver, name):
for image in driver.list_images():
if image.id == '187811':
the_image = image
for size in driver.list_sizes():
if size.id == '3':
the_size = size
node = driver.create_node(name, the_image, the_size)
return node
Rackspace = get_driver(Provider.RACKSPACE)
driver = Rackspace('goldstarevents', 'e7aee0882db8ecd4e552d1bec07a0505')
print driver.list_nodes()
# >>>
node = create(driver, 'foobar')
print node
# >>>
print driver.list_nodes()
# >>>
print driver.destroy_node(node)
# >>>
print driver.list_nodes()
# >>>