Библиотека Apache JClouds: для приостановки требуется установка расширения Admin Actions

При использовании плагина JClouds Jenkins с облаком Openstack (которое основано на [Apache JClouds][1] 1.7.1 library) я установил флаг "Stop On Terminate", что означает, что виртуальная машина должна быть приостановлена ​​после завершения сборки. При попытке приостановить виртуальную машину я получаю следующее исключение:

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

Однако из-за внедрения зависимостей, используемого в библиотеке, дальнейшая реализация логики для меня непрозрачна. Кто-нибудь знает, как это исправить?


person vania-pooh    schedule 21.02.2014    source источник


Ответы (1)


Я отправил электронное письмо разработчикам JClouds, и вот их ответ:

Я подозреваю, что это действительно то, что нужно установить/настроить в вашей установке OpenStack:

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

При желании вы можете попытаться воспроизвести это, вызвав одно из действий администратора напрямую (например, используя cURL), чтобы увидеть код ответа.

С уважением

ap

person vania-pooh    schedule 06.03.2014