Dear list! I have recently tried to use libcloud (latest version, 0.13) to connect to and manage our OpenStack Grizzly based cloud.
Using the examples provided on the website I ran into an error message: LibcloudError in None 'Could not find specified endpoint' Actually, if you just run the example and nothing else, you will not see the problem. The driver object gets instantiated without any visible issues. Just as soon as you actually try and execute whatever operation through it (for example, list available images), you will see the 'Could not find specified endpoint' error. This thread here http://mail-archives.apache.org/mod_mbox/libcloud-users/201204.mbox/%3ccacg3mat9dguyjvnfcwvgcic9ejgmp5mjnecbcn6yp7uyeft...@mail.gmail.com%3E is the closest I was able to find. Just it ends without a real conclusion and with one "works for me" where I cannot see how that would work, or it may have worked in a older version. So the first tip in that thread, use the Eucalyptus driver, indeed solves some problems. But you're in trouble as soon as you need any features of the OpenStack API which are not available in the EC2 api. (Side node: Is there any difference between Ecalyptus and EC2, I mean when it comes to API). So here's the solution. Where it says driver = OpenStack('admin', 'password', host='10.99.0.1', port=8773, secure=False, ex_force_service_name='Compute Service', ex_force_auth_url='http://10.99.0.1:5000/v2.0/', ex_force_auth_version='2.0_password', ex_tenant_name ='mytenant') what you want is: driver = OpenStack('admin', 'password', host='10.99.0.1', port=8773, secure=False, ex_force_service_name='nova', ex_force_auth_url='http://10.99.0.1:5000/v2.0/', ex_force_auth_version='2.0_password', ex_tenant_name ='mytenant') Without the service name (as in the example on the website) you will run into the 'Could not find specified endpoint' error. At least when running against OpenStack Grizzly. Same when trying to use the service name ex_force_service_name='Compute Service'; through some debugging I found that ex_force_service_name='nova' seems to do the trick. Q: What other service names my I be looking for? Wouldn't it make sense to make 'nova' a default for the ex_force_service_name parameter? Regards, Torsten
