Apache JClouds库:suspend需要安装Admin Actions扩展

时间:2014-02-21 14:07:10

标签: jenkins virtual-machine suspend jclouds

当使用带有Openstack云的JClouds Jenkins插件(基于[Apache JClouds][1] 1.7.1 library)时,我检查了标志"Stop On Terminate",这意味着在构建完成时应该暂停虚拟机。尝试挂起VM时,我遇到以下异常:

java.lang.UnsupportedOperationException: suspend requires installation of the Admin Actions extension

我无法获得的是如何安装这些扩展:它是Openstack扩展还是Jclouds库的扩展?我看到NovaComputeServiceAdapter class:

的以下方法抛出了这个异常
   @Override
   public void suspendNode(String id) {
      ZoneAndId zoneAndId = ZoneAndId.fromSlashEncoded(id);
      if (novaApi.getServerAdminExtensionForZone(zoneAndId.getZone()).isPresent()) {
         novaApi.getServerAdminExtensionForZone(zoneAndId.getZone()).get().suspend(zoneAndId.getId());
      }
      throw new UnsupportedOperationException("suspend requires installation of the Admin Actions extension");
   }

然而,由于库中使用了依赖注入,逻辑的进一步实现对我来说是不透明的。有没有人知道如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我向JClouds开发人员发送了一封电子邮件,他们的回复是:

  

我怀疑这确实需要在OpenStack安装中安装/配置:

     

http://docs.openstack.org/api/openstack-compute/2/content/ext-action.html

     

如果需要,您可以尝试通过直接调用其中一个管理操作(例如使用cURL)来重现此操作,以查看响应代码是什么。

     

此致

     

AP