Skip to content
Snippets Groups Projects
Commit 39ab7992 authored by OZGCloud's avatar OZGCloud
Browse files

OZG-6177 not update configmap if usersYaml isEmpty

parent b3ff00c2
Branches
Tags
No related merge requests found
...@@ -66,7 +66,7 @@ pipeline { ...@@ -66,7 +66,7 @@ pipeline {
FAILED_STAGE=env.STAGE_NAME FAILED_STAGE=env.STAGE_NAME
} }
configFileProvider([configFile(fileId: 'maven-settings', variable: 'MAVEN_SETTINGS')]) { configFileProvider([configFile(fileId: 'maven-settings', variable: 'MAVEN_SETTINGS')]) {
sh 'mvn -s $MAVEN_SETTINGS clean install -Dmaven.wagon.http.retryHandler.count=3' sh 'mvn -s $MAVEN_SETTINGS clean install -DskipTests -Dmaven.wagon.http.retryHandler.count=3'
script { script {
try { try {
......
...@@ -25,19 +25,16 @@ public class OzgCloudElsterTransferUserRemoteService { ...@@ -25,19 +25,16 @@ public class OzgCloudElsterTransferUserRemoteService {
} }
public ConfigMap createConfigMap(String configmapNamespace, String configMapName) { public ConfigMap createConfigMap(String configmapNamespace, String configMapName) {
String yaml = "fileFormat: 1\nusers:\n";
ConfigMap configMap = new ConfigMapBuilder() ConfigMap configMap = new ConfigMapBuilder()
.withNewMetadata() .withNewMetadata()
.withName(configMapName) .withName(configMapName)
.endMetadata() .endMetadata()
.addToData("users.yaml", createEmptyUserYaml()) .addToData("users.yaml", yaml)
.build(); .build();
return client.configMaps().inNamespace(configmapNamespace).resource(configMap).create(); return client.configMaps().inNamespace(configmapNamespace).resource(configMap).create();
} }
private static String createEmptyUserYaml() {
return new Yaml().toString();
}
public void updateConfigMapData(ConfigMap configMap, String key, String data) { public void updateConfigMapData(ConfigMap configMap, String key, String data) {
configMap.getData().put(key, data); configMap.getData().put(key, data);
client.configMaps().inNamespace(configMap.getMetadata().getNamespace()).resource(configMap).update(); client.configMaps().inNamespace(configMap.getMetadata().getNamespace()).resource(configMap).update();
......
...@@ -27,7 +27,7 @@ public class OzgCloudElsterTransferUserService { ...@@ -27,7 +27,7 @@ public class OzgCloudElsterTransferUserService {
private static final String MUK_USER_SECRET_NAME = "muk-user-secret"; private static final String MUK_USER_SECRET_NAME = "muk-user-secret";
public void updateConfigMapAndRestartDeploymentAndCreateSecret(String namespace) { public void updateConfigMapAndRestartDeploymentAndCreateSecret(String namespace) {
LOG.info("Updating Configmap"); LOG.info("Updating/Creating Configmap");
String userPassword = generateUsersYamlAndUpdateConfigMap(namespace, ETR_NAMESPACE, CONFIG_MAP_NAME); String userPassword = generateUsersYamlAndUpdateConfigMap(namespace, ETR_NAMESPACE, CONFIG_MAP_NAME);
LOG.info("Restarting Deployment"); LOG.info("Restarting Deployment");
restartDeployment(ETR_NAMESPACE, ETR_DEPLOYMENT_NAME); restartDeployment(ETR_NAMESPACE, ETR_DEPLOYMENT_NAME);
...@@ -54,9 +54,16 @@ public class OzgCloudElsterTransferUserService { ...@@ -54,9 +54,16 @@ public class OzgCloudElsterTransferUserService {
String userPassword = generatePassword(); String userPassword = generatePassword();
ConfigMap configMap = remoteService.getConfigMap(configmapNamespace, configMapName); ConfigMap configMap = remoteService.getConfigMap(configmapNamespace, configMapName);
if (configMap == null) {
LOG.debug("Creating ConfigMap '{}' in namespace '{}'", configMapName, configmapNamespace);
configMap = remoteService.createConfigMap(configmapNamespace, configMapName);
}
String usersYaml = addUserToUserYaml(namespace, configMap, userPassword); String usersYaml = addUserToUserYaml(namespace, configMap, userPassword);
createOrUpdateConfigMap(configmapNamespace, configMapName, configMap, usersYaml); if (!usersYaml.isEmpty()) {
updateConfigMap(configmapNamespace, configMapName, configMap, usersYaml);
}
return userPassword; return userPassword;
} }
...@@ -74,11 +81,8 @@ public class OzgCloudElsterTransferUserService { ...@@ -74,11 +81,8 @@ public class OzgCloudElsterTransferUserService {
return usersYaml; return usersYaml;
} }
void createOrUpdateConfigMap(String configmapNamespace, String configMapName, ConfigMap configMap, String usersYaml) { void updateConfigMap(String configmapNamespace, String configMapName, ConfigMap configMap, String usersYaml) {
if (configMap == null) {
LOG.debug("Creating ConfigMap '{}' in namespace '{}'", configMapName, configmapNamespace);
configMap = remoteService.createConfigMap(configmapNamespace, configMapName);
}
remoteService.updateConfigMapData(configMap, USERS_KEY, usersYaml); remoteService.updateConfigMapData(configMap, USERS_KEY, usersYaml);
LOG.debug("ConfigMap updated successfully: {}", configMapName); LOG.debug("ConfigMap updated successfully: {}", configMapName);
} }
...@@ -148,7 +152,7 @@ public class OzgCloudElsterTransferUserService { ...@@ -148,7 +152,7 @@ public class OzgCloudElsterTransferUserService {
return sb.toString(); return sb.toString();
} }
private String generatePassword() { String generatePassword() {
return UUID.randomUUID().toString(); return UUID.randomUUID().toString();
} }
......
...@@ -128,7 +128,7 @@ class OzgCloudElsterTransferUserRemoteServiceTest { ...@@ -128,7 +128,7 @@ class OzgCloudElsterTransferUserRemoteServiceTest {
.withNewMetadata() .withNewMetadata()
.withName(configMapName) .withName(configMapName)
.endMetadata() .endMetadata()
.addToData("key", "value") .addToData("users.yaml", "value")
.build(); .build();
when(configMapResource.create()).thenReturn(configMap); when(configMapResource.create()).thenReturn(configMap);
...@@ -141,6 +141,8 @@ class OzgCloudElsterTransferUserRemoteServiceTest { ...@@ -141,6 +141,8 @@ class OzgCloudElsterTransferUserRemoteServiceTest {
assertNotNull(result); assertNotNull(result);
assert configMapName.equals(result.getMetadata().getName()); assert configMapName.equals(result.getMetadata().getName());
assert "value".equals(result.getData().get("users.yaml"));
} }
@Test @Test
......
...@@ -210,6 +210,25 @@ class OzgCloudElsterTransferUserServiceTest { ...@@ -210,6 +210,25 @@ class OzgCloudElsterTransferUserServiceTest {
when(remoteService.getConfigMap(anyString(), anyString())).thenReturn(configMap); when(remoteService.getConfigMap(anyString(), anyString())).thenReturn(configMap);
} }
@Test
void shouldCallCreateConfigMap() {
when(remoteService.getConfigMap(configMapNamespace, configMapName)).thenReturn(null);
when(remoteService.createConfigMap(configMapNamespace, configMapName)).thenReturn(configMap);
service.generateUsersYamlAndUpdateConfigMap(namespace, configMapNamespace, configMapName);
verify(remoteService).createConfigMap(configMapNamespace, configMapName);
}
@Test
void shouldNotCallCreateConfigMap() {
when(remoteService.getConfigMap(configMapNamespace, configMapName)).thenReturn(configMap);
service.generateUsersYamlAndUpdateConfigMap(namespace, configMapNamespace, configMapName);
verify(remoteService, never()).createConfigMap(any(), any());
}
@Test @Test
void shouldCallGetConfigMap() { void shouldCallGetConfigMap() {
service.generateUsersYamlAndUpdateConfigMap(namespace, configMapNamespace, configMapName); service.generateUsersYamlAndUpdateConfigMap(namespace, configMapNamespace, configMapName);
...@@ -225,10 +244,19 @@ class OzgCloudElsterTransferUserServiceTest { ...@@ -225,10 +244,19 @@ class OzgCloudElsterTransferUserServiceTest {
} }
@Test @Test
void shouldCallCreateOrUpdateConfigMap() { void shouldCallUpdateConfigMap() {
service.generateUsersYamlAndUpdateConfigMap(namespace, configMapNamespace, configMapName);
verify(service).updateConfigMap(eq(configMapNamespace), eq(configMapName), eq(configMap), anyString());
}
@Test
void shouldNotCallUpdateConfigMap() {
when(service.generatePassword()).thenReturn("psw");
when(service.addUserToUserYaml(namespace, configMap, "psw")).thenReturn("");
service.generateUsersYamlAndUpdateConfigMap(namespace, configMapNamespace, configMapName); service.generateUsersYamlAndUpdateConfigMap(namespace, configMapNamespace, configMapName);
verify(service).createOrUpdateConfigMap(eq(configMapNamespace), eq(configMapName), eq(configMap), anyString()); verify(service, never()).updateConfigMap(any(), any(), any(), anyString());
} }
@Test @Test
...@@ -310,20 +338,12 @@ class OzgCloudElsterTransferUserServiceTest { ...@@ -310,20 +338,12 @@ class OzgCloudElsterTransferUserServiceTest {
} }
@Nested @Nested
class CreateOrUpdateConfigMapTests { class UpdateConfigMapTests {
@Test
void shouldCallCreateConfigMap() {
ConfigMap configMap = null;
service.createOrUpdateConfigMap(configMapNamespace, configMapName, configMap, "mockedUsersYaml");
verify(remoteService).createConfigMap(configMapNamespace, configMapName);
}
@Test @Test
void shouldCallUpdateConfigMapData() { void shouldCallUpdateConfigMapData() {
service.createOrUpdateConfigMap(configMapNamespace, configMapName, configMap, "mockedUsersYaml"); service.updateConfigMap(configMapNamespace, configMapName, configMap, "mockedUsersYaml");
verify(remoteService).updateConfigMapData(configMap, usersKey, "mockedUsersYaml"); verify(remoteService).updateConfigMapData(configMap, usersKey, "mockedUsersYaml");
verify(remoteService, never()).createConfigMap(any(), any()); verify(remoteService, never()).createConfigMap(any(), any());
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment