문제

When using JClouds Jenkins plugin with Openstack cloud (which is based on [Apache JClouds][1] 1.7.1 library) I checked the flag "Stop On Terminate" which means that virtual machine should be suspended when the build is complete. When trying to suspend a VM I'm getting the following exception:

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

What I can't get is how to install these extensions: is it an Openstack extension or an extension of the Jclouds library? I see that this exception is thrown in the following method of 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");
   }

However because of dependency injection used in the library further implementation of the logic is opaque for me. Does anyone have an idea how to fix this?

도움이 되었습니까?

해결책

I sent an email to JClouds developers and here comes their reply:

I suspect this is indeed something that needs to be installed/configured in your OpenStack installation:

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

You could try to reproduce this, if desired, by calling one of the admin actions directly (e.g. using cURL) to see what the response code is.

Regards

ap

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top