2015-08-17 1 views
0

Я создаю экземпляр на Google Compute Engine с jclouds, используя команду:ImageID не найден в Google Compute Engine с помощью Jclouds

Template template = context.getComputeService().templateBuilder().imageId("debian-7-wheezy-v20150710").build(); 

Set<? extends NodeMetadata> listNode = context.getComputeService().createNodesInGroup("teste", 1, template); 

Но ошибка ниже:

2015-08-16 07:27:04 INFO compute:64 - Image debian-7-wheezy-v20150710 not found in the image cache. Trying to get it from the provider... 
Exception in thread "main" java.util.NoSuchElementException: imageId(debian-7-wheezy-v20150710) not found 
    at org.jclouds.compute.domain.internal.TemplateBuilderImpl.throwNoSuchElementExceptionAfterLoggingImageIds(TemplateBuilderImpl.java:764) 
    at org.jclouds.compute.domain.internal.TemplateBuilderImpl.findImageWithId(TemplateBuilderImpl.java:745) 
    at org.jclouds.compute.domain.internal.TemplateBuilderImpl.build(TemplateBuilderImpl.java:688) 
    at br.com.clouddeploy.main.TestGoogle.main(TestGoogle.java:47) 

Любой предложение?

ответ

0

Если вы используете imageId(), вероятно, вам необходимо использовать полный путь по изображению. Вот как его найти:

% gcloud compute images list --uri | grep debian-7 

показывает:

https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/backports-debian-7-wheezy-v20150710 
https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-7-wheezy-v20150710 

Таким образом, вы можете использовать любой из них. Тот, который начинается с backports, имеет более новые версии пакетов, но по-прежнему основан на Debian 7 Wheezy.

С другой стороны, это выглядит как jclouds имеет возможность сделать это создание URL сама по себе, но вместо того, чтобы использовать imageId(), вы должны использовать (см GitHub code example):

ComputeService compute = initComputeService(account, credentials); 
[...] 
TemplateBuilder templateBuilder = compute.templateBuilder(); 
templateBuilder.fromImage(compute 
    .getImage("debian-7-wheezy-v20140408")); 
+1

более простой способ, чтобы получить полный путь: gcloud compute images list --uri – chrispomeroy

+0

Спасибо, @chrispomeroy! Обновлен ответ. Не стесняйтесь редактировать прямо в будущем. –

Смежные вопросы