Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • osl/code/org.etsi.osl.cridge
1 result
Show changes
Commits on Source (2)
......@@ -57,8 +57,8 @@ public class CRRouteBuilder extends RouteBuilder{
.bean( kubernetesClientResource, "patchCR(${headers}, ${body})")
.convertBodyTo( String.class );
// every 120000 ms (2 minutes)
from( "timer://processUpdateResources?period=120000" )
// every 300000 ms (5 minutes)
from( "timer://processUpdateResources?period=300000" )
.log(LoggingLevel.INFO, log, " process nameSpacesTobeDeleted!")
.to("log:DEBUG?showBody=true&showHeaders=true")
.bean( CRRouteBuilder.class , "processNameSpacesTobeDeleted()");
......@@ -73,9 +73,9 @@ public class CRRouteBuilder extends RouteBuilder{
long diffInMillies = Math.abs(currentTime .getTime() - datetime.getTime());
long diff = TimeUnit.MINUTES.convert(diffInMillies, TimeUnit.MILLISECONDS);
if (diff<=2) { //after 2 minutes this namespace will be deleted
if (diff<=10) { //after 10 minutes this namespace will be deleted
return;
}
}
try (final KubernetesClient k8s = new KubernetesClientBuilder().build()) {
logger.info("Trying to delete namespace {}", nameSpaceName);
......@@ -85,6 +85,11 @@ public class CRRouteBuilder extends RouteBuilder{
.endMetadata().build();
k8s.namespaces().resource(ns).delete();
NamespaceWatcher watchersForNamespace = kubernetesClientResource.getWatchersForNamespaces().get( nameSpaceName );
if ( watchersForNamespace!= null) {
watchersForNamespace.disableNamespace( nameSpaceName );
}
kubernetesClientResource.getWatchersForNamespaces().remove(nameSpaceName);
kubernetesClientResource.getNameSpacesTobeDeleted().remove(nameSpaceName);
}catch (Exception e) {
e.printStackTrace();
......
......@@ -481,13 +481,6 @@ public class KubernetesClientResource {
this.nameSpacesTobeDeleted.put(nameSpacename, new Date() );
NamespaceWatcher watchersForNamespace = this.watchersForNamespaces.get(nameSpacename);
if ( watchersForNamespace!= null) {
watchersForNamespace.disableNamespace( nameSpacename );
}
this.watchersForNamespaces.remove(nameSpacename);
}catch (Exception e) {
e.printStackTrace();
......
......@@ -14,6 +14,7 @@ import org.etsi.osl.tmf.ri639.model.ResourceCreate;
import org.etsi.osl.tmf.ri639.model.ResourceStatusType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.yaml.snakeyaml.Yaml;
import io.fabric8.kubernetes.api.model.ConfigMap;
import io.fabric8.kubernetes.api.model.ObjectMeta;
......@@ -45,6 +46,10 @@ public class NamespaceWatcher {
List< SharedIndexInformer<?>> informers = new ArrayList<>();
@Autowired
private KubernetesClientResource kubernetesClientResource;
public NamespaceWatcher(KubernetesClient kubernetesClient, CatalogClient catalogClient, String anameSpacename, Map<String, Object> aheaders) {
super();
......@@ -140,7 +145,11 @@ public class NamespaceWatcher {
newObj.getMetadata().getName(),
newObj.getMetadata().getUid(),
newObj.getMetadata().getNamespace());
updateKubernetesSecretResourceInOSLCatalog( newObj, false );
if ( kubernetesClientResource.getNameSpacesTobeDeleted().get( newObj.getMetadata().getNamespace())==null ) {
updateKubernetesSecretResourceInOSLCatalog( newObj, false );
} else {
updateKubernetesSecretResourceInOSLCatalog( newObj, true );
}
}
......@@ -283,7 +292,12 @@ public class NamespaceWatcher {
newObj.getMetadata().getName(),
newObj.getMetadata().getUid(),
newObj.getMetadata().getNamespace());
updateKubernetesServiceResourceInOSLCatalog( newObj, false );
//check if namespace is under deletion so to ignore any changes
if ( kubernetesClientResource.getNameSpacesTobeDeleted().get( newObj.getMetadata().getNamespace()) == null ) {
updateKubernetesServiceResourceInOSLCatalog( newObj, false );
} else {
updateKubernetesServiceResourceInOSLCatalog( newObj, true );
}
}
......@@ -449,7 +463,13 @@ public class NamespaceWatcher {
newObj.getMetadata().getName(),
newObj.getMetadata().getUid(),
newObj.getMetadata().getNamespace());
updateKubernetesConfigMapResourceInOSLCatalog( newObj, false );
//check if namespace is under deletion so to ignore any changes
if ( kubernetesClientResource.getNameSpacesTobeDeleted().get( newObj.getMetadata().getNamespace()) == null ) {
updateKubernetesConfigMapResourceInOSLCatalog( newObj, false );
} else {
updateKubernetesConfigMapResourceInOSLCatalog( newObj, true );
}
}
......