Skip to content
Snippets Groups Projects
Commit 8cfb111f authored by OZGCloud's avatar OZGCloud
Browse files

OZG-6177 refactor cleanup in reconciler

parent 17112cd8
No related branches found
No related tags found
No related merge requests found
......@@ -21,7 +21,7 @@ public class OzgCloudElsterTransferUserReconciler implements Reconciler<OzgCloud
private final OzgCloudElsterTransferUserService elsterTransferUserService;
private static final String CONFIG_MAP_NAME = "etr-user-config";
private static final String DEPLOYMENT_NAME = "elster-transfer";
private static final String ETR_DEPLOYMENT_NAME = "elster-transfer";
// todo
private static final String ETR_NAMESPACE = "etr-user-creation";
......@@ -33,7 +33,7 @@ public class OzgCloudElsterTransferUserReconciler implements Reconciler<OzgCloud
elsterTransferUserService.updateConfigMapAndRestartDeploymentAndCreateSecret(namespace);
elsterTransferUser.setStatus(getElsterTransferUserStatus(OzgCloudCustomResourceStatus.OK, null));
elsterTransferUser.setStatus(getElsterTransferUserStatus(OzgCloudCustomResourceStatus.OK, "Status: OK"));
return UpdateControl.updateStatus(elsterTransferUser);
} catch (Exception e) {
LOG.warn(elsterTransferUser.getMetadata().getName() + " could not reconcile in namespace "
......@@ -52,27 +52,15 @@ public class OzgCloudElsterTransferUserReconciler implements Reconciler<OzgCloud
public DeleteControl cleanup(OzgCloudElsterTransferUser user, Context<OzgCloudElsterTransferUser> context) {
LOG.info("{} cleanup...", user.getMetadata().getName());
String namespace = user.getMetadata().getNamespace();
if (user.getSpec().isKeepAfterDelete()) {
LOG.info("keep data");
return DeleteControl.defaultDelete();
}
if (!elsterTransferUserService.userExists(namespace, ETR_NAMESPACE, CONFIG_MAP_NAME)) {
return DeleteControl.defaultDelete();
}
return deleteUser(namespace);
}
DeleteControl deleteUser(String userLogin) {
LOG.info("{} do cleanup...", userLogin);
try {
elsterTransferUserService.deleteUser(userLogin, CONFIG_MAP_NAME);
elsterTransferUserService.restartDeployment(ETR_NAMESPACE, DEPLOYMENT_NAME);
elsterTransferUserService.deleteUserAndRestartDeploymentIfNotKeepUserAndUserExists(user);
return DeleteControl.defaultDelete();
} catch (Exception e) {
LOG.warn(userLogin + " could not delete.", e);
}
catch (Exception e) {
LOG.warn(namespace + " could not delete.", e);
return DeleteControl.noFinalizerRemoval().rescheduleAfter(Config.RECONCILER_RETRY_SECONDS_ON_ERROR);
}
}
}
......@@ -9,6 +9,7 @@ import org.springframework.stereotype.Component;
import org.yaml.snakeyaml.Yaml;
import io.fabric8.kubernetes.api.model.ConfigMap;
import io.javaoperatorsdk.operator.api.reconciler.DeleteControl;
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
......@@ -38,6 +39,22 @@ public class OzgCloudElsterTransferUserService {
}
}
public void deleteUserAndRestartDeploymentIfNotKeepUserAndUserExists(OzgCloudElsterTransferUser user) {
String namespace = user.getMetadata().getNamespace();
if (user.getSpec().isKeepAfterDelete()) {
LOG.info("keep data");
return;
}
if (!userExists(namespace, ETR_NAMESPACE, CONFIG_MAP_NAME)) {
LOG.info("User not exists");
return;
}
LOG.info("{} do cleanup...", user.getMetadata());
deleteUser(user.getMetadata().getNamespace(), CONFIG_MAP_NAME);
restartDeployment(ETR_NAMESPACE,ETR_DEPLOYMENT_NAME);
}
String updateConfigMap(String namespace, String configmapNamespace, String configMapName) {
String userPassword = "";
ConfigMap configMap = remoteService.getConfigMap(configmapNamespace, configMapName);
......
......@@ -21,7 +21,7 @@ import io.javaoperatorsdk.operator.api.reconciler.DeleteControl;
class OzgCloudElsterTransferUserReconcilerTest {
/*@Spy
@Spy
@InjectMocks
private OzgCloudElsterTransferUserReconciler reconciler;
......@@ -45,11 +45,10 @@ class OzgCloudElsterTransferUserReconcilerTest {
reconciler.reconcile(user, null);
verify(service).updateConfigMap(OzgCloudElsterTransferUserTestFactory.METADATA_NAMESPACE, OzgCloudElsterTransferUserTestFactory.ETR_NAMESPACE,
OzgCloudElsterTransferUserTestFactory.CONFIG_MAP_NAME);
verify(service).updateConfigMapAndRestartDeploymentAndCreateSecret(OzgCloudElsterTransferUserTestFactory.METADATA_NAMESPACE);
}
@Test
/* @Test
void shouldCallRestartDeployment() {
OzgCloudElsterTransferUser user = OzgCloudElsterTransferUserTestFactory.create();
......@@ -70,6 +69,15 @@ class OzgCloudElsterTransferUserReconcilerTest {
}
@Test
void shouldCallGetElsterTransferUserStatus() {
OzgCloudElsterTransferUser user = OzgCloudElsterTransferUserTestFactory.create();
reconciler.reconcile(user, null);
verify(reconciler).getElsterTransferUserStatus(any(), any());
}
@Test
void shouldReturnUpdateStatus() {
var response = reconciler.reconcile(OzgCloudElsterTransferUserTestFactory.create(), null);
......@@ -84,6 +92,7 @@ class OzgCloudElsterTransferUserReconcilerTest {
assertThat(response.getResource().getStatus().getStatus()).isEqualTo(OzgCloudCustomResourceStatus.OK);
}
}
@DisplayName("Reconciler Cleanup")
......@@ -172,7 +181,7 @@ class OzgCloudElsterTransferUserReconcilerTest {
reconciler.cleanup(user, null);
verify(service).createOrUpdateSecret(OzgCloudElsterTransferUserTestFactory.METADATA_NAMESPACE);
verify(service).createOrUpdateSecret(OzgCloudElsterTransferUserTestFactory.METADATA_NAMESPACE,anyString(),OzgCloudElsterTransferUserTestFactory.MUK_USER_SECRET_NAME);
}
}
......@@ -210,7 +219,7 @@ class OzgCloudElsterTransferUserReconcilerTest {
.isEqualTo(DeleteControl.noFinalizerRemoval().rescheduleAfter(Config.RECONCILER_RETRY_SECONDS_ON_ERROR));
}
}*/
}
}
*/
}
......@@ -28,7 +28,8 @@ public class OzgCloudElsterTransferUserTestFactory {
public static final String METADATA_NAMESPACE = "TestNamespace";
public static final String ETR_NAMESPACE = "etr-user-creation";
public static final String CONFIG_MAP_NAME = "etr-user-config";
public static final String DEPLOYMENT_NAME = "elster-transfer";
public static final String ETR_DEPLOYMENT_NAME = "elster-transfer";
public static final String MUK_USER_SECRET_NAME = "muk-user-secret";
public static OzgCloudElsterTransferUser create() {
return createWithSpec(OzgCloudElsterTransferUserSpecTestFactory.create());
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment