Search in sources :

Example 26 with Status

use of com.sequenceiq.freeipa.api.v1.freeipa.stack.model.common.Status in project cloudbreak by hortonworks.

the class ProviderChecker method updateStatuses.

private InstanceStatus updateStatuses(CloudVmInstanceStatus vmInstanceStatus, InstanceMetaData instanceMetaData, Map<InstanceMetaData, DetailedStackStatus> instanceHealthStatusMap) {
    LOGGER.info(":::Auto sync::: {} instance metadata status update in progress, new status: {}", instanceMetaData.getShortHostname(), vmInstanceStatus);
    InstanceStatus status = null;
    switch(vmInstanceStatus.getStatus()) {
        case STARTED:
            if (DetailedStackStatus.UNREACHABLE == instanceHealthStatusMap.get(instanceMetaData)) {
                setStatusIfNotTheSame(instanceMetaData, InstanceStatus.UNREACHABLE);
                status = InstanceStatus.UNREACHABLE;
            } else if (DetailedStackStatus.UNHEALTHY == instanceHealthStatusMap.get(instanceMetaData)) {
                setStatusIfNotTheSame(instanceMetaData, InstanceStatus.UNHEALTHY);
                status = InstanceStatus.UNHEALTHY;
            } else {
                setStatusIfNotTheSame(instanceMetaData, InstanceStatus.CREATED);
                status = InstanceStatus.CREATED;
            }
            break;
        case STOPPED:
            setStatusIfNotTheSame(instanceMetaData, InstanceStatus.STOPPED);
            status = InstanceStatus.STOPPED;
            break;
        case FAILED:
            setStatusIfNotTheSame(instanceMetaData, InstanceStatus.FAILED);
            status = InstanceStatus.FAILED;
            break;
        case TERMINATED:
            setStatusIfNotTheSame(instanceMetaData, InstanceStatus.DELETED_ON_PROVIDER_SIDE);
            status = InstanceStatus.DELETED_ON_PROVIDER_SIDE;
            break;
        case TERMINATED_BY_PROVIDER:
            setStatusIfNotTheSame(instanceMetaData, InstanceStatus.DELETED_BY_PROVIDER);
            status = InstanceStatus.DELETED_BY_PROVIDER;
            break;
        default:
            LOGGER.info(":::Auto sync::: the '{}' status is not converted", vmInstanceStatus.getStatus());
    }
    if (updateStatus) {
        instanceMetaDataService.save(instanceMetaData);
    } else {
        LOGGER.debug("updateStatus flag is false, don't update status");
    }
    return status;
}
Also used : InstanceStatus(com.sequenceiq.freeipa.api.v1.freeipa.stack.model.common.instance.InstanceStatus) CloudVmInstanceStatus(com.sequenceiq.cloudbreak.cloud.model.CloudVmInstanceStatus)

Example 27 with Status

use of com.sequenceiq.freeipa.api.v1.freeipa.stack.model.common.Status in project cloudbreak by hortonworks.

the class StackStatusCheckerJob method setStatusIfNotTheSame.

private void setStatusIfNotTheSame(InstanceMetaData instanceMetaData, InstanceStatus newStatus) {
    InstanceStatus oldStatus = instanceMetaData.getInstanceStatus();
    if (oldStatus != newStatus) {
        if (updateStatus) {
            instanceMetaData.setInstanceStatus(newStatus);
            LOGGER.info(":::Auto sync::: The instance status updated from {} to {}", oldStatus, newStatus);
        } else {
            LOGGER.info(":::Auto sync::: The instance status would be had to update from {} to {}", oldStatus, newStatus);
        }
    }
}
Also used : InstanceStatus(com.sequenceiq.freeipa.api.v1.freeipa.stack.model.common.instance.InstanceStatus)

Example 28 with Status

use of com.sequenceiq.freeipa.api.v1.freeipa.stack.model.common.Status in project cloudbreak by hortonworks.

the class FreeIpaPollerServiceTest method testWaitForCcmUpgrade.

@Test
void testWaitForCcmUpgrade() {
    OperationStatus status = new OperationStatus("123", OperationType.UPGRADE_CCM, OperationState.REQUESTED, null, null, null, 0, null);
    when(freeIpaService.upgradeCcm(any())).thenReturn(status);
    when(freeipaPollerProvider.upgradeCcmPoller(ENV_ID, ENV_CRN, "123")).thenReturn(AttemptResults.justFinish());
    underTest.waitForCcmUpgrade(ENV_ID, ENV_CRN);
    verify(freeIpaService).upgradeCcm(ENV_CRN);
}
Also used : OperationStatus(com.sequenceiq.freeipa.api.v1.operation.model.OperationStatus) SyncOperationStatus(com.sequenceiq.freeipa.api.v1.freeipa.user.model.SyncOperationStatus) Test(org.junit.jupiter.api.Test)

Example 29 with Status

use of com.sequenceiq.freeipa.api.v1.freeipa.stack.model.common.Status in project cloudbreak by hortonworks.

the class FreeIpaPollerServiceTest method testWaitForCcmUpgradeAlreadyCompleted.

@Test
void testWaitForCcmUpgradeAlreadyCompleted() {
    OperationStatus status = new OperationStatus("123", OperationType.UPGRADE_CCM, OperationState.COMPLETED, null, null, null, 0, null);
    when(freeIpaService.upgradeCcm(any())).thenReturn(status);
    underTest.waitForCcmUpgrade(ENV_ID, ENV_CRN);
    verify(freeIpaService).upgradeCcm(ENV_CRN);
    verify(freeipaPollerProvider, never()).upgradeCcmPoller(any(), any(), any());
}
Also used : OperationStatus(com.sequenceiq.freeipa.api.v1.operation.model.OperationStatus) SyncOperationStatus(com.sequenceiq.freeipa.api.v1.freeipa.user.model.SyncOperationStatus) Test(org.junit.jupiter.api.Test)

Example 30 with Status

use of com.sequenceiq.freeipa.api.v1.freeipa.stack.model.common.Status in project cloudbreak by hortonworks.

the class FreeIpaPollerServiceTest method testWaitForCcmUpgradeFailed.

@Test
void testWaitForCcmUpgradeFailed() {
    OperationStatus status = new OperationStatus("123", OperationType.UPGRADE_CCM, OperationState.REQUESTED, null, null, null, 0, null);
    when(freeIpaService.upgradeCcm(any())).thenReturn(status);
    when(freeipaPollerProvider.upgradeCcmPoller(ENV_ID, ENV_CRN, "123")).thenThrow(new RuntimeException("error"));
    assertThatThrownBy(() -> underTest.waitForCcmUpgrade(ENV_ID, ENV_CRN)).hasMessageContaining("FreeIPA upgrade of Cluster Connectivity Manager timed out or error happened").isExactlyInstanceOf(FreeIpaOperationFailedException.class);
    verify(freeIpaService).upgradeCcm(ENV_CRN);
}
Also used : OperationStatus(com.sequenceiq.freeipa.api.v1.operation.model.OperationStatus) SyncOperationStatus(com.sequenceiq.freeipa.api.v1.freeipa.user.model.SyncOperationStatus) Test(org.junit.jupiter.api.Test)

Aggregations

Test (org.junit.jupiter.api.Test)30 SyncOperationStatus (com.sequenceiq.freeipa.api.v1.freeipa.user.model.SyncOperationStatus)23 Stack (com.sequenceiq.freeipa.entity.Stack)16 DetailedStackStatus (com.sequenceiq.freeipa.api.v1.freeipa.stack.model.common.DetailedStackStatus)14 DescribeFreeIpaResponse (com.sequenceiq.freeipa.api.v1.freeipa.stack.model.describe.DescribeFreeIpaResponse)14 Operation (com.sequenceiq.freeipa.entity.Operation)14 OperationToSyncOperationStatus (com.sequenceiq.freeipa.converter.freeipa.user.OperationToSyncOperationStatus)12 StackStatus (com.sequenceiq.freeipa.entity.StackStatus)11 InstanceStatus (com.sequenceiq.freeipa.api.v1.freeipa.stack.model.common.instance.InstanceStatus)10 ParameterizedTest (org.junit.jupiter.params.ParameterizedTest)10 UserSyncRequestFilter (com.sequenceiq.freeipa.service.freeipa.user.UserSyncRequestFilter)8 OperationStatus (com.sequenceiq.freeipa.api.v1.operation.model.OperationStatus)7 ArrayList (java.util.ArrayList)7 List (java.util.List)7 Map (java.util.Map)7 EnumSource (org.junit.jupiter.params.provider.EnumSource)7 Status (com.sequenceiq.freeipa.api.v1.freeipa.stack.model.common.Status)6 SynchronizeAllUsersRequest (com.sequenceiq.freeipa.api.v1.freeipa.user.model.SynchronizeAllUsersRequest)6 InstanceMetaData (com.sequenceiq.freeipa.entity.InstanceMetaData)6 FailureDetails (com.sequenceiq.freeipa.api.v1.freeipa.user.model.FailureDetails)5