Jclouds无法创建实例

时间:2015-04-28 17:02:26

标签: java google-compute-engine jclouds

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

java.util.concurrent.ExecutionException:org.jclouds.http.HttpResponseException:command: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

更新

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

1 个答案:

答案 0 :(得分:2)

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

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