openstack nova客户端给我适合。我无法弄清楚如何让它使用本地ssh隧道URL我指定,而不是它检索到的一个。所以:如何获取nova客户端(v1.1)在检索服务器列表时使用ssh隧道
from novaclient.v1_1 import client as nova_client
from pprint import pprint
self.__nova_client = nova_client.Client(
'myusername',
'mypassword',
'mytenantname',
'https://localhost:5443/v2.0',
service_type='compute',
insecure=True
)
for server in self.__nova_client.servers.list():
pprint(server)
产量...
requests.exceptions.ConnectionError: HTTPConnectionPool(host='os-compute.vip.mysubdomain.mydomain.com', port=8774): Max retries exceeded with url: /v2/aa0dffecaef543aca072a26fdff5c92b/servers/detail (Caused by <class 'socket.error'>: [Errno 111] Connection refused)
因为 “os-compute.vip.mysubdomain.mydomain.com:8774” 地址是从脚本运行的位置不可达。
自我.__ nova_client = nova_client.Client()位连接正常,因为它使用'https://localhost:5443/v2.0' - 我提供的已建立的隧道。我只需要一种方法来覆盖它试图连接到我设置的“localhost:8774”隧道的“os-compute.vip.mysubdomain.mydomain.com:8774”。但我无法弄清楚这是否可能。
任何指导将不胜感激。