Some openstack API commands time out


#1

1. Describe the problem. Are there any error messages you can paste? Can you provide a screenshot of the problem (with sensitive information removed)?

Some (but not all) commands timeout.

e.g.

(openstack) subnet list
Failed to contact the endpoint at https://swansea.climb.ac.uk:9696 for discovery. Fallback to using that endpoint as the base url.

or with cloudbridge:

>>> provider.networking.subnets.list()

(long traceback omitted)
ConnectFailure: Unable to establish connection to https://swansea.climb.ac.uk:9696/v2.0/subnets.json: HTTPSConnectionPool(host='swansea.climb.ac.uk', port=9696): Max retries exceeded with url: /v2.0/subnets.json (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f7dada68e10>: Failed to establish a new connection: [Errno 110] Connection timed out',))

3. Where is the VM or volume hosted; Birmingham, Cardiff, Swansea or Warwick?

Swansea


#2

Swansea doesn’t have that service exposed to the wider internet.

If you want to poke at the Swansea Openstack API then consider spinning up a small-ish VM on Swansea itself and running commands from there.


#3

Thank you for your help

When I run it on on a VM, I can get subnets from there now.

However I’m still unable to get the regions

>>> provider.compute.regions.list()
(...)
ConnectFailure: Unable to establish connection to http://10.42.7.100:35357/v3/regions?: HTTPConnectionPool(host='10.42.7.100', port=35357): Max retries exceeded with url: /v3/regions (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f387a31d438>: Failed to establish a new connection: [Errno 110] Connection timed out',))


#4

You’ll need to use https://swansea.climb.ac.uk:35357 as the address for keystone.


#5

I’m not sure how to do that / why it’s necessary. I don’t specify it anywhere, so it may be that your API is returning the wrong endpoint for it?

I access it like this:

from cloudbridge.cloud.factory import CloudProviderFactory, ProviderList

config = {'os_username': 'removed',
          'os_password': 'removed',
          'os_auth_url': 'https://swansea.climb.ac.uk:5000/v3',
          'os_project_name': 'removed',
          'os_project_domain_name': 'Default',
          'os_user_domain_name': 'Default' }

provider = CloudProviderFactory().create_provider(ProviderList.OPENSTACK, config)

#6

Sorry about this.

FYI, Birmingham also firewalls traffic to their OpenStack API endpoints.

I have some (admittedly pretty terrible) proof-of-concept code for working CloudBridge at Cardiff though, if its useful.


#7

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.