Add label endpoints and revert to new changes

Change-Id: I80120612843d5a258c595982c357c43ef5b1e67b
This commit is contained in:
gsavvas 2024-03-15 18:30:41 +02:00
parent 74b459f5ec
commit 8ca9d88708
6 changed files with 28 additions and 10 deletions

View File

@ -19,7 +19,7 @@ application:
password: 'admin'
sal:
protocol: 'http'
host: 'sal'
host: 'localhost'
port: '8080'
api: 'sal'
username: 'admin'

View File

@ -51,7 +51,8 @@ class ConfigureEXNConnector {
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.scalein","cluster.scalein.reply",true,false),
new Publisher("cluster.label","cluster.label.reply",true,false)
],
[
new Consumer("cloud","cloud.>", amqpSalMessageHandler,true,false),

View File

@ -62,7 +62,7 @@ abstract class AbstractProcessor implements Processor {
ret = create(metaData,o)
break
default:
ret.status = HttpStatus.NOT_ACCEPTABLE
ret.status = HttpStatus.NOT_ACCEPTABLE.value()
ret.body = ["key": "gateway-server-exception-error", "message": 'Action '+method+' not supported']
}

View File

@ -53,7 +53,7 @@ class ClusterProcessor extends AbstractProcessor{
headers.add('sessionid',sessionId)
headers.setContentType(MediaType.APPLICATION_JSON)
def response = clusterRepository.postAction(o,metaData.action as String,headers,Object.class)
def response = clusterRepository.postAction(o,metaData,headers,Object.class)
logger.info('Got response {}',response)
return [
@ -73,7 +73,7 @@ class ClusterProcessor extends AbstractProcessor{
HttpHeaders headers = new HttpHeaders()
headers.add('sessionid',sessionId)
def response = clusterRepository.scale(o,metaData.action as String,headers, Object.class)
def response = clusterRepository.scale(o,metaData,headers, Object.class)
logger.info('Got response {}',response)
return [

View File

@ -2,6 +2,7 @@ package eu.nebulouscloud.exn.modules.sal.repository.cluster
import eu.nebulouscloud.exn.modules.sal.repository.AbstractSalRepository
import org.springframework.http.HttpHeaders
import org.springframework.http.HttpStatus
import org.springframework.stereotype.Repository
@Repository
@ -16,11 +17,27 @@ class ClusterRepository extends AbstractSalRepository{
'scalein' : 'in'
]
def postAction(String body, String action, HttpHeaders headers, Class responseType){
post(action,body,headers,responseType)
def postAction(String body, Map metaData, HttpHeaders headers, Class responseType){
switch (metaData.action){
case 'define':
save(body,headers, responseType)
break
case 'deploy':
save(metaData.clusterName,body,headers,responseType)
break
case 'label':
save(metaData.clusterName+'/label',body,headers,responseType)
break
default:
return [
"status": HttpStatus.NOT_IMPLEMENTED.value(),
"body": ["key":"action-not-support","message":"Action type "+ action +" is not supported"]
]
}
}
def scale(String body, String action, HttpHeaders headers, Class responseType){
post("scale/${SCALE_ACTION_MAPPING[action]}",body,headers,responseType)
def scale(String body, Map metaData, HttpHeaders headers, Class responseType){
post(metaData.clusterName+"/"+metaData.action,body,headers,responseType)
}
}

View File

@ -7,7 +7,7 @@ class ActionResolveService {
private final Map<List<String>,String> ACTION_MAPPING =[
['assign','submit','in','out','scaleout','scalein']:'update',
['define','deploy','deployApplication']:'create',
['define','deploy','deployApplication','label']:'create',
['delete','stop','kill'] : 'delete',
['rank'] : 'update'
]