openstack4j向错误的主机发送请求

问题描述 投票:0回答:1

我在Google Cloud Plataform VM上运行OpenStack。即使我很难创建一个带外部IP的openstack4j操作系统,当我调用任何方法时我得到了connect timed out,因为openstack4j正在使用内部IP。在调用像os.compute().flavors().list()这样的方法时,我可以手动设置主机吗?

        OSClient.OSClientV3 os = OSFactory.builderV3()
                .endpoint("http://external_ip:5000/v3")
                .credentials("admin", "pass", domain)
                .scopeToProject(project)
                .authenticate();

        os.compute().flavors().list();

使用OSFactory.enableHttpLoggingFilter(true);,我发现flavors.list正在调用http://internal_ip:8774/v2.1/.../flavors/detail

其他奇怪的事情是,如果我删除qazxsw poi并调用相同的flavors.list方法,调用外部ip,但不返回任何味道(可能因为它应该坚持项目)。

为什么flavors.list会调用我的GCP VM内部IP?我可以设置为外部吗?

google-cloud-platform openstack openstack4j
1个回答
0
投票

正如@larsks建议的那样,我不得不告诉使用外部IP所需的openstak4j。为了解决这个问题,我在公共IP上添加了一条指令:.scopeToProject(project)。新的身份验证码:

.withConfig(Config.newConfig().withEndpointNATResolution("x.x.x.x"))
© www.soinside.com 2019 - 2024. All rights reserved.