1

在将 JClouds Jenkins 插件与 Openstack 云(基于[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类方法中抛出的:

   @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");
   }

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

4

1 回答 1

0

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

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

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

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

问候

ap

于 2014-03-06T08:16:11.277 回答