openstack请求的url

正在做一个类似dashboard的二次开发,我们使用openstack4j作为开发API,
首先描述一下环境部属,假如
工程部属服务器192.168.10.1,
openstack服务器192.168.30.1,
因为192.168.10.1不能PING通192.168.30.1,所以中间加了一层代理映射ip是192.168.20.1;

工程代码里openstack认证的url应该写http://192.168.20.1:5000/v2.0,
OSClient os = OSFactory.builderV2()
                .endpoint(url)
                .credentials(userName, password)
                .tenantName(tenantName)
                .authenticate();
List<? extends Server> servers = os.compute().servers().list();

问题出现出现了!!!!
认证通过,但是取虚拟机时报connection time out错误。

原因:
查看openstack日志能看到,取虚拟机时发送请求是http://192.168.30.1:5000/v2.0/xxx,并不是工程服务器能ping通的192.168.20.1,
所以才会报错,解决办法就是把返回的os对象里的endpoint的URL改掉。

能过一张dashboard认证图更能清晰看出调用时使用的url,到底是谁。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值