From 3b1077c958cb9bfc6d5ff8f0a7ee609a7710d3a1 Mon Sep 17 00:00:00 2001 From: gsavvas Date: Wed, 20 Mar 2024 10:55:59 +0200 Subject: [PATCH] Implement delete and remove legacy applicationDeployment publisher Change-Id: Iaa033666d46579cba00ced0969b08eaae090820d --- .../config/ConfigureEXNConnector.groovy | 4 ++-- .../processors/impl/ClusterProcessor.groovy | 19 +++++++++++++++++++ .../repository/AbstractSalRepository.groovy | 4 ++++ .../cluster/ClusterRepository.groovy | 7 +------ 4 files changed, 26 insertions(+), 8 deletions(-) diff --git a/exn-middleware-core/src/main/groovy/eu/nebulouscloud/exn/modules/sal/middleware/config/ConfigureEXNConnector.groovy b/exn-middleware-core/src/main/groovy/eu/nebulouscloud/exn/modules/sal/middleware/config/ConfigureEXNConnector.groovy index 817f107..8ba6ffa 100644 --- a/exn-middleware-core/src/main/groovy/eu/nebulouscloud/exn/modules/sal/middleware/config/ConfigureEXNConnector.groovy +++ b/exn-middleware-core/src/main/groovy/eu/nebulouscloud/exn/modules/sal/middleware/config/ConfigureEXNConnector.groovy @@ -49,11 +49,11 @@ class ConfigureEXNConnector { new Publisher("cluster.get","cluster.get.reply",true,false), new Publisher("cluster.define","cluster.define.reply",true,false), new Publisher("cluster.deploy","cluster.deploy.reply",true,false), - new Publisher("cluster.deployApplication","cluster.deployApplication.reply",true,false), new Publisher("cluster.scaleout","cluster.scaleout.reply",true,false), new Publisher("cluster.scalein","cluster.scalein.reply",true,false), new Publisher("cluster.label","cluster.label.reply",true,false), - new Publisher("cluster.deployapplication","cluster.deployapplication.reply",true,false) + new Publisher("cluster.deployapplication","cluster.deployapplication.reply",true,false), + new Publisher("cluster.delete","cluster.delete.reply",true,false) ], [ new Consumer("cloud","cloud.>", amqpSalMessageHandler,true,false), diff --git a/exn-middleware-core/src/main/groovy/eu/nebulouscloud/exn/modules/sal/processors/impl/ClusterProcessor.groovy b/exn-middleware-core/src/main/groovy/eu/nebulouscloud/exn/modules/sal/processors/impl/ClusterProcessor.groovy index b67f189..4073b31 100644 --- a/exn-middleware-core/src/main/groovy/eu/nebulouscloud/exn/modules/sal/processors/impl/ClusterProcessor.groovy +++ b/exn-middleware-core/src/main/groovy/eu/nebulouscloud/exn/modules/sal/processors/impl/ClusterProcessor.groovy @@ -83,4 +83,23 @@ class ClusterProcessor extends AbstractProcessor{ } + @Override + Map delete(Map metaData, String o) { + + logger.info('{} - Deleting cluster {}',metaData.user, metaData.cluster) + + String sessionId = gatewayRepository.login(salConfiguration.username,salConfiguration.password) + + HttpHeaders headers = new HttpHeaders() + headers.add('sessionid',sessionId) + + def response = clusterRepository.deleteById(metaData.clusterName as String,headers,Object.class) + + return [ + "status": HttpStatus.OK.value(), + "body": response + ] + + } + } diff --git a/exn-middleware-core/src/main/groovy/eu/nebulouscloud/exn/modules/sal/repository/AbstractSalRepository.groovy b/exn-middleware-core/src/main/groovy/eu/nebulouscloud/exn/modules/sal/repository/AbstractSalRepository.groovy index 516fd4f..8346ca8 100644 --- a/exn-middleware-core/src/main/groovy/eu/nebulouscloud/exn/modules/sal/repository/AbstractSalRepository.groovy +++ b/exn-middleware-core/src/main/groovy/eu/nebulouscloud/exn/modules/sal/repository/AbstractSalRepository.groovy @@ -145,5 +145,9 @@ abstract class AbstractSalRepository{ return delete(url,body,headers,responseType) } + def deleteById(String id, HttpHeaders headers, Class responseType){ + return delete(id,null,headers,responseType) + } + } diff --git a/exn-middleware-core/src/main/groovy/eu/nebulouscloud/exn/modules/sal/repository/cluster/ClusterRepository.groovy b/exn-middleware-core/src/main/groovy/eu/nebulouscloud/exn/modules/sal/repository/cluster/ClusterRepository.groovy index 9ed471e..32415e9 100644 --- a/exn-middleware-core/src/main/groovy/eu/nebulouscloud/exn/modules/sal/repository/cluster/ClusterRepository.groovy +++ b/exn-middleware-core/src/main/groovy/eu/nebulouscloud/exn/modules/sal/repository/cluster/ClusterRepository.groovy @@ -12,11 +12,6 @@ class ClusterRepository extends AbstractSalRepository{ super('cluster') } - private final Map SCALE_ACTION_MAPPING = [ - 'scaleout' : 'out', - 'scalein' : 'in' - ] - def postAction(String body, Map metaData, HttpHeaders headers, Class responseType){ switch (metaData.action){ @@ -35,7 +30,7 @@ class ClusterRepository extends AbstractSalRepository{ default: return [ "status": HttpStatus.NOT_IMPLEMENTED.value(), - "body": ["key":"action-not-support","message":"Action type "+ action +" is not supported"] + "body": ["key":"action-not-support","message":"Action type "+ metaData.action +" is not supported"] ] } }