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()
# >>>

Reply via email to