1919
2020from adcm_client .base import (
2121 ActionHasIssues , ADCMApiError , BaseAPIListObject , BaseAPIObject , ObjectNotFound ,
22- TooManyArguments , strip_none_keys
22+ TooManyArguments , strip_none_keys , min_server_version
2323)
2424from adcm_client .util import stream
2525from adcm_client .wrappers .api import ADCMApiWrapper
@@ -431,9 +431,10 @@ def service_add(self, **args) -> "Service":
431431 data = self ._subcall ("service" , "create" , prototype_id = proto .id )
432432 return self ._subobject (Service , service_id = data ['id' ])
433433
434- # @allure_step("Remove service to cluster")
435- # def service_delete(self, service):
436- # self._subcall("service", "delete", service_id=service.id)
434+ @min_server_version ('2020.05.13.00' )
435+ def service_delete (self , service : "Service" ):
436+ with allure_step ("Remove service {} from cluster {}" .format (service .name , self .name )):
437+ self ._subcall ("service" , "delete" , service_id = service .id )
437438
438439 def hostcomponent (self ):
439440 return self ._subcall ("hostcomponent" , "list" )
@@ -889,6 +890,7 @@ def __init__(self, api=None, url=None, user=None, password=None):
889890 self .auth (user , password )
890891 if self .api_token () is not None :
891892 self .guess_adcm_url ()
893+ self .adcm_version = self ._api .adcm_version
892894
893895 def auth (self , user = None , password = None ):
894896 if user is None or password is None :
@@ -899,11 +901,7 @@ def auth(self, user=None, password=None):
899901 self ._check_min_version ()
900902
901903 def _check_min_version (self ):
902- try :
903- version = self ._api .objects .info .list ()['adcm_version' ]
904- except (KeyError , AttributeError ):
905- version = "0"
906- if rpm .compare_versions (self ._MIN_VERSION , version ) > 0 :
904+ if rpm .compare_versions (self ._MIN_VERSION , self ._api .adcm_version ) > 0 :
907905 raise ADCMApiError ("That client supports ADCM versions >= {}" .format (self ._MIN_VERSION ))
908906
909907 def api_token (self ):
0 commit comments