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;
}
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);
}
}
}
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);
}
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());
}
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);
}
Aggregations