Search in sources :

Example 1 with MgmtServiceResourceApi

use of com.cloudera.api.swagger.MgmtServiceResourceApi in project cloudbreak by hortonworks.

the class ClouderaManagerDecomissioner method stopAndRemoveMgmtService.

public void stopAndRemoveMgmtService(Stack stack, ApiClient client) {
    MgmtServiceResourceApi mgmtServiceResourceApi = clouderaManagerApiFactory.getMgmtServiceResourceApi(client);
    try {
        clouderaManagerPollingServiceProvider.startPollingCmManagementServiceShutdown(stack, client, mgmtServiceResourceApi.stopCommand().getId());
        mgmtServiceResourceApi.deleteCMS();
    } catch (ApiException e) {
        LOGGER.error("Failed to stop management services.", e);
        throw new CloudbreakServiceException(e.getMessage(), e);
    }
}
Also used : CloudbreakServiceException(com.sequenceiq.cloudbreak.common.exception.CloudbreakServiceException) MgmtServiceResourceApi(com.cloudera.api.swagger.MgmtServiceResourceApi) ApiException(com.cloudera.api.swagger.client.ApiException)

Example 2 with MgmtServiceResourceApi

use of com.cloudera.api.swagger.MgmtServiceResourceApi in project cloudbreak by hortonworks.

the class ClouderaManagerModificationServiceTest method testUpgradeClusterComponentIsNotPresent.

@Test
void testUpgradeClusterComponentIsNotPresent() throws ApiException {
    BigDecimal apiCommandId = new BigDecimal(200);
    ApiCommandList apiCommandList = new ApiCommandList();
    apiCommandList.setItems(new ArrayList<>());
    when(clouderaManagerApiFactory.getMgmtServiceResourceApi(any())).thenReturn(mgmtServiceResourceApi);
    when(mgmtServiceResourceApi.listActiveCommands("SUMMARY")).thenReturn(apiCommandList);
    when(mgmtServiceResourceApi.restartCommand()).thenReturn(new ApiCommand().id(apiCommandId));
    when(clouderaManagerPollingServiceProvider.startPollingCmServicesRestart(stack, apiClientMock, apiCommandId)).thenReturn(success);
    when(clouderaManagerPollingServiceProvider.startPollingCmHostStatus(stack, apiClientMock)).thenReturn(success);
    ClouderaManagerRepo clouderaManagerRepo = mock(ClouderaManagerRepo.class);
    when(clusterComponentProvider.getClouderaManagerRepoDetails(CLUSTER_ID)).thenReturn(clouderaManagerRepo);
    when(clouderaManagerRepo.getVersion()).thenReturn(CLOUDERAMANAGER_VERSION_7_5_1.getVersion());
    Set<ClusterComponent> clusterComponents = TestUtil.clusterComponentSet(cluster);
    Set<ClusterComponent> clusterComponentsNoCDH = clusterComponents.stream().filter(clusterComponent -> !clusterComponent.getName().equals("CDH")).collect(Collectors.toSet());
    cluster.setComponents(clusterComponentsNoCDH);
    NotFoundException exception = assertThrows(NotFoundException.class, () -> underTest.upgradeClusterRuntime(clusterComponentsNoCDH, false, Optional.empty()));
    Assertions.assertEquals("Runtime component not found!", exception.getMessage());
}
Also used : CloudbreakException(com.sequenceiq.cloudbreak.service.CloudbreakException) BeforeEach(org.junit.jupiter.api.BeforeEach) ApiBatchRequestElement(com.cloudera.api.swagger.model.ApiBatchRequestElement) ArgumentMatchers.eq(org.mockito.ArgumentMatchers.eq) ApiService(com.cloudera.api.swagger.model.ApiService) ApiException(com.cloudera.api.swagger.client.ApiException) ClouderaManagerProductsProvider(com.sequenceiq.cloudbreak.cluster.service.ClouderaManagerProductsProvider) Mockito.doThrow(org.mockito.Mockito.doThrow) BigDecimal(java.math.BigDecimal) MockitoAnnotations(org.mockito.MockitoAnnotations) ApiCommandList(com.cloudera.api.swagger.model.ApiCommandList) ExtendWith(org.junit.jupiter.api.extension.ExtendWith) Map(java.util.Map) ApiHostRefList(com.cloudera.api.swagger.model.ApiHostRefList) CLOUDERAMANAGER_VERSION_7_6_0(com.sequenceiq.cloudbreak.cmtemplate.CMRepositoryVersionUtil.CLOUDERAMANAGER_VERSION_7_6_0) PollingResultErrorHandler(com.sequenceiq.cloudbreak.cm.polling.PollingResultErrorHandler) Set(java.util.Set) ApiBatchResponse(com.cloudera.api.swagger.model.ApiBatchResponse) ClouderaManagerRepo(com.sequenceiq.cloudbreak.cloud.model.ClouderaManagerRepo) ApiEntityTag(com.cloudera.api.swagger.model.ApiEntityTag) Assertions.assertTrue(org.junit.jupiter.api.Assertions.assertTrue) CancellationException(com.sequenceiq.cloudbreak.cloud.scheduler.CancellationException) InstanceGroup(com.sequenceiq.cloudbreak.domain.stack.instance.InstanceGroup) Mockito.mock(org.mockito.Mockito.mock) Assertions.assertThrows(org.junit.jupiter.api.Assertions.assertThrows) Stack(com.sequenceiq.cloudbreak.domain.stack.Stack) ApiCommand(com.cloudera.api.swagger.model.ApiCommand) Mock(org.mockito.Mock) ArgumentMatchers.anyBoolean(org.mockito.ArgumentMatchers.anyBoolean) Supplier(java.util.function.Supplier) ServicesResourceApi(com.cloudera.api.swagger.ServicesResourceApi) ClouderaManagerPollingServiceProvider(com.sequenceiq.cloudbreak.cm.polling.ClouderaManagerPollingServiceProvider) ArrayList(java.util.ArrayList) Answer(org.mockito.stubbing.Answer) ClouderaManagerApiClientProvider(com.sequenceiq.cloudbreak.cm.client.ClouderaManagerApiClientProvider) CLOUDERAMANAGER_VERSION_7_5_1(com.sequenceiq.cloudbreak.cmtemplate.CMRepositoryVersionUtil.CLOUDERAMANAGER_VERSION_7_5_1) ApiServiceState(com.cloudera.api.swagger.model.ApiServiceState) ClusterComponentConfigProvider(com.sequenceiq.cloudbreak.cluster.service.ClusterComponentConfigProvider) Assertions.assertEquals(org.junit.jupiter.api.Assertions.assertEquals) LinkedHashSet(java.util.LinkedHashSet) ValueSource(org.junit.jupiter.params.provider.ValueSource) InjectMocks(org.mockito.InjectMocks) CLOUDERAMANAGER_VERSION_7_1_0(com.sequenceiq.cloudbreak.cmtemplate.CMRepositoryVersionUtil.CLOUDERAMANAGER_VERSION_7_1_0) Mockito.times(org.mockito.Mockito.times) ClusterComponent(com.sequenceiq.cloudbreak.domain.stack.cluster.ClusterComponent) Mockito.never(org.mockito.Mockito.never) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest) HostGroup(com.sequenceiq.cloudbreak.domain.stack.cluster.host.HostGroup) InstanceMetaData(com.sequenceiq.cloudbreak.domain.stack.instance.InstanceMetaData) HTTPMethod(com.cloudera.api.swagger.model.HTTPMethod) ParcelsResourceApi(com.cloudera.api.swagger.ParcelsResourceApi) ClouderaManagerApiFactory(com.sequenceiq.cloudbreak.cm.client.retry.ClouderaManagerApiFactory) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) Mockito.verifyNoInteractions(org.mockito.Mockito.verifyNoInteractions) ClustersResourceApi(com.cloudera.api.swagger.ClustersResourceApi) TestUtil(com.sequenceiq.cloudbreak.cm.util.TestUtil) ClouderaManagerProduct(com.sequenceiq.cloudbreak.cloud.model.ClouderaManagerProduct) CloudbreakEventService(com.sequenceiq.cloudbreak.structuredevent.event.CloudbreakEventService) Assertions.assertFalse(org.junit.jupiter.api.Assertions.assertFalse) BatchResourceApi(com.cloudera.api.swagger.BatchResourceApi) Spy(org.mockito.Spy) ClouderaManagerResourceApi(com.cloudera.api.swagger.ClouderaManagerResourceApi) HostTemplatesResourceApi(com.cloudera.api.swagger.HostTemplatesResourceApi) CLOUDERAMANAGER_VERSION_7_4_3(com.sequenceiq.cloudbreak.cmtemplate.CMRepositoryVersionUtil.CLOUDERAMANAGER_VERSION_7_4_3) ParcelResourceApi(com.cloudera.api.swagger.ParcelResourceApi) NotFoundException(com.sequenceiq.cloudbreak.common.exception.NotFoundException) MethodSource(org.junit.jupiter.params.provider.MethodSource) MockitoExtension(org.mockito.junit.jupiter.MockitoExtension) ParcelOperationStatus(com.sequenceiq.cloudbreak.cluster.model.ParcelOperationStatus) HostsResourceApi(com.cloudera.api.swagger.HostsResourceApi) ExtendedPollingResult(com.sequenceiq.cloudbreak.polling.ExtendedPollingResult) HttpClientConfig(com.sequenceiq.cloudbreak.client.HttpClientConfig) Collectors(java.util.stream.Collectors) Test(org.junit.jupiter.api.Test) ApiBatchResponseElement(com.cloudera.api.swagger.model.ApiBatchResponseElement) Json(com.sequenceiq.cloudbreak.common.json.Json) List(java.util.List) ApiRestartClusterArgs(com.cloudera.api.swagger.model.ApiRestartClusterArgs) Optional(java.util.Optional) ArgumentMatchers.any(org.mockito.ArgumentMatchers.any) Cluster(com.sequenceiq.cloudbreak.domain.stack.cluster.Cluster) ApiClient(com.cloudera.api.swagger.client.ApiClient) ApiHostList(com.cloudera.api.swagger.model.ApiHostList) ClouderaManagerClientInitException(com.sequenceiq.cloudbreak.cm.client.ClouderaManagerClientInitException) ApiConfigStalenessStatus(com.cloudera.api.swagger.model.ApiConfigStalenessStatus) HashSet(java.util.HashSet) ArgumentCaptor(org.mockito.ArgumentCaptor) UPDATE_IN_PROGRESS(com.sequenceiq.cloudbreak.api.endpoint.v4.common.Status.UPDATE_IN_PROGRESS) ApiHost(com.cloudera.api.swagger.model.ApiHost) ApiBatchRequest(com.cloudera.api.swagger.model.ApiBatchRequest) InOrder(org.mockito.InOrder) ResourceEvent(com.sequenceiq.cloudbreak.event.ResourceEvent) Mockito.when(org.mockito.Mockito.when) Mockito.verify(org.mockito.Mockito.verify) Mockito(org.mockito.Mockito) Assertions(org.junit.jupiter.api.Assertions) Call(com.squareup.okhttp.Call) MgmtServiceResourceApi(com.cloudera.api.swagger.MgmtServiceResourceApi) ApiServiceList(com.cloudera.api.swagger.model.ApiServiceList) Collections(java.util.Collections) ApiCommand(com.cloudera.api.swagger.model.ApiCommand) ApiCommandList(com.cloudera.api.swagger.model.ApiCommandList) ClouderaManagerRepo(com.sequenceiq.cloudbreak.cloud.model.ClouderaManagerRepo) ClusterComponent(com.sequenceiq.cloudbreak.domain.stack.cluster.ClusterComponent) NotFoundException(com.sequenceiq.cloudbreak.common.exception.NotFoundException) BigDecimal(java.math.BigDecimal) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest) Test(org.junit.jupiter.api.Test)

Example 3 with MgmtServiceResourceApi

use of com.cloudera.api.swagger.MgmtServiceResourceApi in project cloudbreak by hortonworks.

the class ClouderaManagerSetupServiceTest method testAutoconfigureWhenThrowsException.

@Test
public void testAutoconfigureWhenThrowsException() throws ApiException {
    MgmtServiceResourceApi mgmtServiceResourceApi = mock(MgmtServiceResourceApi.class);
    when(clouderaManagerApiFactory.getMgmtServiceResourceApi(any(ApiClient.class))).thenReturn(mgmtServiceResourceApi);
    doThrow(ApiException.class).when(mgmtServiceResourceApi).autoConfigure();
    Assertions.assertThrows(ClouderaManagerOperationFailedException.class, () -> underTest.autoConfigureClusterManager());
    verify(mgmtServiceResourceApi, times(1)).autoConfigure();
}
Also used : MgmtServiceResourceApi(com.cloudera.api.swagger.MgmtServiceResourceApi) ApiClient(com.cloudera.api.swagger.client.ApiClient) Test(org.junit.jupiter.api.Test)

Example 4 with MgmtServiceResourceApi

use of com.cloudera.api.swagger.MgmtServiceResourceApi in project cloudbreak by hortonworks.

the class ClouderaManagerSetupServiceTest method testAutoconfigureWhenItDoesItsJob.

@Test
public void testAutoconfigureWhenItDoesItsJob() throws ApiException {
    MgmtServiceResourceApi mgmtServiceResourceApi = mock(MgmtServiceResourceApi.class);
    when(clouderaManagerApiFactory.getMgmtServiceResourceApi(any(ApiClient.class))).thenReturn(mgmtServiceResourceApi);
    underTest.autoConfigureClusterManager();
    verify(mgmtServiceResourceApi, times(1)).autoConfigure();
}
Also used : MgmtServiceResourceApi(com.cloudera.api.swagger.MgmtServiceResourceApi) ApiClient(com.cloudera.api.swagger.client.ApiClient) Test(org.junit.jupiter.api.Test)

Example 5 with MgmtServiceResourceApi

use of com.cloudera.api.swagger.MgmtServiceResourceApi in project cloudbreak by hortonworks.

the class ClouderaManagerMgmtLaunchServiceTest method testStartManagementServicesShouldNotSendStartCommandWhenTheManagementServicesAreStarted.

@Test
public void testStartManagementServicesShouldNotSendStartCommandWhenTheManagementServicesAreStarted() throws ApiException {
    MgmtServiceResourceApi mgmtServiceResourceApi = mock(MgmtServiceResourceApi.class);
    ApiService apiService = mock(ApiService.class);
    when(clouderaManagerApiFactory.getMgmtServiceResourceApi(apiClient)).thenReturn(mgmtServiceResourceApi);
    when(mgmtServiceResourceApi.readService(DataView.SUMMARY.name())).thenReturn(apiService);
    when(apiService.getServiceState()).thenReturn(ApiServiceState.STARTED);
    underTest.startManagementServices(stack, apiClient);
    verify(mgmtServiceResourceApi).readService(DataView.SUMMARY.name());
    verifyNoMoreInteractions(mgmtServiceResourceApi);
    verifyZeroInteractions(clouderaManagerPollingServiceProvider);
}
Also used : ApiService(com.cloudera.api.swagger.model.ApiService) MgmtServiceResourceApi(com.cloudera.api.swagger.MgmtServiceResourceApi) Test(org.junit.Test)

Aggregations

MgmtServiceResourceApi (com.cloudera.api.swagger.MgmtServiceResourceApi)10 ApiService (com.cloudera.api.swagger.model.ApiService)6 ApiClient (com.cloudera.api.swagger.client.ApiClient)4 ApiCommand (com.cloudera.api.swagger.model.ApiCommand)4 ApiException (com.cloudera.api.swagger.client.ApiException)3 ApiServiceState (com.cloudera.api.swagger.model.ApiServiceState)3 BatchResourceApi (com.cloudera.api.swagger.BatchResourceApi)2 ClouderaManagerResourceApi (com.cloudera.api.swagger.ClouderaManagerResourceApi)2 ClustersResourceApi (com.cloudera.api.swagger.ClustersResourceApi)2 HostTemplatesResourceApi (com.cloudera.api.swagger.HostTemplatesResourceApi)2 HostsResourceApi (com.cloudera.api.swagger.HostsResourceApi)2 ParcelResourceApi (com.cloudera.api.swagger.ParcelResourceApi)2 ParcelsResourceApi (com.cloudera.api.swagger.ParcelsResourceApi)2 ServicesResourceApi (com.cloudera.api.swagger.ServicesResourceApi)2 ApiBatchRequest (com.cloudera.api.swagger.model.ApiBatchRequest)2 ApiBatchRequestElement (com.cloudera.api.swagger.model.ApiBatchRequestElement)2 ApiBatchResponse (com.cloudera.api.swagger.model.ApiBatchResponse)2 ApiCommandList (com.cloudera.api.swagger.model.ApiCommandList)2 ApiConfigStalenessStatus (com.cloudera.api.swagger.model.ApiConfigStalenessStatus)2 ApiEntityTag (com.cloudera.api.swagger.model.ApiEntityTag)2