【问题标题】:Jclouds can't create instanceJclouds 无法创建实例
【发布时间】:2015-04-28 17:02:25
【问题描述】:

我在 Google Compute Engine 上创建实例时遇到了奇怪的行为。 当我尝试创建和启动 ubuntu-1410-utopic 实例时,一切都按预期工作,但如果我尝试创建实例 ubuntu-1404-trusty 我得到异常:

java.util.concurrent.ExecutionException:org.jclouds.http.HttpResponseException:命令:POST https://www.googleapis.com/compute/v1/projects/myProjectName/zones/asia-east1-a/instances HTTP/1.1 失败,响应:HTTP/1.1 400 BadRequest;内容:

[{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "invalid",
    "message": "Invalid value for field 'resource.name': '615aa438-ef50-4c19-850b-e483a294d944-955'.  Must be a match of regex '(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?)'"
   }
  ],
  "code": 400,
  "message": "Invalid value for field 'resource.name': '615aa438-ef50-4c19-850b-e483a294d944-955'.  Must be a match of regex '(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?)'"
 }
}]

为什么会发生这种情况,resource.name 是什么?

更新

我找到了答案,请参阅答案部分。

【问题讨论】:

  • 您在使用 jclouds ComputeService 吗?这看起来像 jclouds 中的一个错误。你能分享你使用的相关代码sn-p并在issues.apache.org/jira/browse/JCLOUDS中提交错误吗?
  • 你能告诉我你是如何创建你的 GCE 实例的吗?分享您的代码 sn-p 或您正在采取的步骤,以便我们可以尝试重现并找到问题。
  • 是的,看看您如何尝试创建实例会很有用。 resource.name 是您的实例名称吗?请注意资源名称必须以小写字母而不是数字开头,如错误消息所述。谢谢

标签: java google-compute-engine jclouds


【解决方案1】:

原因很简单。如果名称以数字开头,则无法在 GCE 上创建新实例。请改用字母。

我有一些随机的 UUID 作为名称(上面示例中的 615aa438-ef50-4c19-850b-e483a294d944),jclouds 添加了一些后缀(此处为 -955)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-29
    • 2014-09-27
    • 2020-01-16
    • 2019-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多