【问题标题】:How to set Floating IP for VM using Apache Brooklyn ?- Floating IPs are required by options, but the extension is not available Error如何使用 Apache Brooklyn 为 VM 设置浮动 IP?- 选项需​​要浮动 IP,但扩展不可用 错误
【发布时间】:2016-06-06 08:04:28
【问题描述】:

我正在尝试在 OpenStack (Liberty) setup 上使用 Apache Brooklyn 0.8 启动一个非常基本的 VM。我已经提到了这个选项

auto-create-floating-ip true

在 YAML 中,但我看到以下错误 -

java.lang.IllegalArgumentException:需要浮动 IP 选项,但扩展程序不可用!

使用的蓝图:

location:
  jclouds:openstack-nova:
    endpoint: https://myurl
    identity: tenant-name:username
    credential: "My-password"
    jclouds.openstack-nova.auto-create-floating-ips: true
name: VM
services:
- type: brooklyn.entity.basic.EmptySoftwareProcess
  name: Empty software process
  provisioning.properties:
    imageId: RegionOne/image-id
    keyPair: my-keypair-name
    securityGroups: my-security-group
    privateKeyFile: /path/to/my-key/in/brooklyn-machine
    loginUser: ubuntu
    templateOptions: 
      availabilityZone: nova

有什么帮助吗? 提前致谢。

【问题讨论】:

    标签: openstack brooklyn


    【解决方案1】:

    此错误通常意味着以下两种情况之一:

    1. 您所针对的 OpenStack 端点不支持 Nova 浮动 IP 扩展;或
    2. 命名空间不同于“正常”的 OpenStack 设置,因此 jclouds 无法正确检索可用的扩展(例如,目前 OpenStack 开发测试会发生这种情况)。

    您可以使用浮动 IP 手动配置虚拟机吗?如果不是,很可能是上述 (1) - 请参阅云提供商的文档,或询问管理员应该使用哪个扩展。

    如果是,很可能是 (2) - 请参阅 jira issue JCLOUDS-1013。您可以使用 nova python 客户端检查这一点,运行以下命令:

    nova list-extensions | grep FloatingIps
    nova --debug list-extensions 2>&1 | grep namespace
    

    如果命名空间等于http://docs.openstack.org/compute/ext/fake_xml,那么您需要为 openstack-devtest 提供一个特殊的 jclouds“提供程序”,以告诉 jclouds 期待这个备用命名空间。

    Cloudsoft 的 Andrea Turli 已为此工作。代码在https://github.com/cloudsoft/jclouds-openstack-devtest,在https://drive.google.com/a/cloudsoftcorp.com/file/d/0Bxv4hWMwaFRKRWtsMFdhZlZnek0/view?usp=drive_web 有一个预建的jar。随着时间的推移,这段代码很可能会移入 github jclouds org。

    请注意,此代码是针对 jclouds 1.9.2 编写的。这意味着您必须升级到 Brooklyn 0.9.0。或者,如果您真的想坚持使用 Brooklyn 0.8.0,请创建一个 jclouds-openstack-devtest 的分支,以便您可以更新 pom/code 以针对 jclouds 1.9.1。

    要使用 jclouds-openstack-devtest jar,请将其放入 $BROOKLYN_HOME/lib/patch/,重新启动 Brooklyn,并将您的位置定义更改为 jclouds:openstack-devtest-compute(而不是 jclouds:openstack-nova)。

    【讨论】:

    • 感谢@Aled Sage。我可以在我的 OpenSTack -Liberty 设置中为 VM 配置浮动 IP。
    • 感谢@Aled Sage。我可以在 OpenStack 中为 VM 提供浮动 IP。 nova list-extensions | grep FloatingIps 给出了输出 output-link 我无法访问 namespace-url 。你能帮忙吗?
    • @user3796119 你能分享nova --debug list-extensions的输出吗?我们不希望能够访问docs.openstack.org/compute/ext/fake_xml。这只是告诉我们正在使用的 XML 命名空间。我们想知道它是否包含“fake_xml”。
    • 命名空间包括 "fake_xml" 。请参考PartofOutput 的输出。
    • 我按照建议尝试了。但是应用程序失败并出现错误error。是否尝试连接到 127.0.0.1 而不是提供的端点?有什么建议吗?
    【解决方案2】:

    jclouds-openstack-devtest jar with Brooklyn 0.10 解决了上述问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-30
      • 1970-01-01
      • 2023-03-07
      • 2017-07-09
      • 2016-05-30
      • 1970-01-01
      相关资源
      最近更新 更多