2016-01-20 113 views
0

我在openstack中使用下面的代码创建实例,该实例将使用openstack风味列表来获取硬件详细信息。是否有任何需要使用computeService API显式传递磁盘大小?如何在openstack创建实例中指定磁盘大小

ComputeServiceContext computeContext = ContextBuilder.newBuilder(credentials.getProviderName()) 
      .endpoint(credentials.getResourceEndPoint()) 
      .credentials(cred, passwd) 
      .modules(ImmutableSet.<Module> of(new SshjSshClientModule())) 
      .overrides(openStackPropeties) 
      .buildView(ComputeServiceContext.class); 

templateBuilder.imageId(instance.getImageId()); 
      templateBuilder.hardwareId(instance.getInstanceType()); 
      options.as(NovaTemplateOptions.class).nodeNames(
        new ArrayList<String>(Arrays.asList(instance 
          .getInstanceName()))); 
      options.as(NovaTemplateOptions.class).networks(
        instance.getNetworkType()); 
      templateBuilder.locationId("RegionOne"); 
      build = templateBuilder.build(); 

Set<? extends NodeMetadata> nodeMetadatas = computeService.createNodesInGroup("securitygroup.name", 
        instanceCount, build); 

回答

0

TemplateBuilder具有minDisk(双千兆字节),其可以被用来提供最小磁盘大小选项。

https://jclouds.apache.org/reference/javadoc/1.9.x/org/jclouds/compute/domain/TemplateBuilder.html#minDisk(double)

+0

即使通过,minDisk()也不起作用。 – bagui

+0

你有没有与MinDisk尺寸相匹配的新星味道?我相信如果应该过滤使用该变量的风味列表。有一件事可以帮助确定发生的事情是启用线级日志记录(按照https://jclouds.apache.org/reference/logging/),并查看nova flavor的列表以及在nova中选择哪种flavor创建呼叫。 – zacksh