Question

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?

Was it helpful?

Solution

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top