Loading src/main/java/org/etsi/osl/cridge/KubernetesClientResource.java +63 −8 Original line number Diff line number Diff line Loading @@ -444,13 +444,20 @@ public class KubernetesClientResource { } } })); //we must change and assign a name to the resource if ( headers.get("org.etsi.osl.prefixId") !=null ) { gkr.getMetadata().setName( (String) headers.get("org.etsi.osl.prefixName") ) ; }else { //it must start with an alpha character gkr.getMetadata().setName( "cr" + ((String) headers.get("org.etsi.osl.resourceId")).substring(0, 8) ) ; } if ( gkr.getMetadata().getNamespace() == null || gkr.getMetadata().getNamespace().equals("") ) { gkr.getMetadata().setNamespace( (String) headers.get("org.etsi.osl.serviceOrderId") ); //set default namespace the service Order ID if a namespace is not there } String nameSpacename = (String) headers.get("org.etsi.osl.namespace"); try { Loading Loading @@ -616,21 +623,69 @@ public class KubernetesClientResource { e.printStackTrace(); } return "DONE"; } public String patchCR(Map<String, Object> headers, String crspec) { logger.debug("============ patchCR crspec ============="); logger.debug("Check if this CRIDGE instance is related to this kubernets cluster context"); if (!checkCRIDGEClusterContext(headers)) { return "SEE OTHER"; } logger.debug("============ PATCH crspec =============" ); logger.debug("Patch the following CR:"); logger.debug("{}", crspec); logger.error("NOT IMPLEMENTED" ); try (final KubernetesClient k8s = new KubernetesClientBuilder().build()) { return "DONE"; GenericKubernetesResource gkr = Serialization.unmarshal( crspec ); headers.forEach(((hname, hval) ->{ if (hval instanceof String s) { if ( hname.contains("org.etsi.osl")) { logger.debug("Header: {} = {} ", hname, s ); if ( gkr.getMetadata() == null ) { gkr.setMetadata( new ObjectMeta()); gkr.getMetadata().setLabels( new HashMap<String, String>()); } gkr.getMetadata().getLabels().put(hname, s); } } })); gkr.getMetadata().setNamespace( (String) headers.get("org.etsi.osl.namespace") ); //set default namespace the service Order ID if a namespace is not there gkr.getMetadata().setName( (String) headers.get("org.etsi.osl.prefixName") ) ; logger.debug("{}", gkr.toString() ); Resource<GenericKubernetesResource> dummyObject = k8s.resource( gkr ); dummyObject.patch(); }catch (Exception e) { e.printStackTrace(); return "FAIL " + e.getMessage(); } return "OK"; } private Boolean checkCRIDGEClusterContext( Map<String, Object> headers) { if ( (headers.get("currentContextCluster") ==null) || (headers.get("clusterMasterURL") ==null) || ( ! headers.get("currentContextCluster").equals( kubernetesContextDefinition.getCurrentContextCluster() )) || ( ! headers.get("clusterMasterURL").equals( kubernetesContextDefinition.getMasterURL() ))) { logger.debug("Will return SEE OTHER header.currentContextCluster={}, this.context= {} header.clusterMasterURLclusterMasterURL={}, this.context= {}", headers.get("currentContextCluster"), kubernetesContextDefinition.getCurrentContextCluster(), headers.get("clusterMasterURL"), kubernetesContextDefinition.getMasterURL() ); return false; } return true; } } Loading
src/main/java/org/etsi/osl/cridge/KubernetesClientResource.java +63 −8 Original line number Diff line number Diff line Loading @@ -444,13 +444,20 @@ public class KubernetesClientResource { } } })); //we must change and assign a name to the resource if ( headers.get("org.etsi.osl.prefixId") !=null ) { gkr.getMetadata().setName( (String) headers.get("org.etsi.osl.prefixName") ) ; }else { //it must start with an alpha character gkr.getMetadata().setName( "cr" + ((String) headers.get("org.etsi.osl.resourceId")).substring(0, 8) ) ; } if ( gkr.getMetadata().getNamespace() == null || gkr.getMetadata().getNamespace().equals("") ) { gkr.getMetadata().setNamespace( (String) headers.get("org.etsi.osl.serviceOrderId") ); //set default namespace the service Order ID if a namespace is not there } String nameSpacename = (String) headers.get("org.etsi.osl.namespace"); try { Loading Loading @@ -616,21 +623,69 @@ public class KubernetesClientResource { e.printStackTrace(); } return "DONE"; } public String patchCR(Map<String, Object> headers, String crspec) { logger.debug("============ patchCR crspec ============="); logger.debug("Check if this CRIDGE instance is related to this kubernets cluster context"); if (!checkCRIDGEClusterContext(headers)) { return "SEE OTHER"; } logger.debug("============ PATCH crspec =============" ); logger.debug("Patch the following CR:"); logger.debug("{}", crspec); logger.error("NOT IMPLEMENTED" ); try (final KubernetesClient k8s = new KubernetesClientBuilder().build()) { return "DONE"; GenericKubernetesResource gkr = Serialization.unmarshal( crspec ); headers.forEach(((hname, hval) ->{ if (hval instanceof String s) { if ( hname.contains("org.etsi.osl")) { logger.debug("Header: {} = {} ", hname, s ); if ( gkr.getMetadata() == null ) { gkr.setMetadata( new ObjectMeta()); gkr.getMetadata().setLabels( new HashMap<String, String>()); } gkr.getMetadata().getLabels().put(hname, s); } } })); gkr.getMetadata().setNamespace( (String) headers.get("org.etsi.osl.namespace") ); //set default namespace the service Order ID if a namespace is not there gkr.getMetadata().setName( (String) headers.get("org.etsi.osl.prefixName") ) ; logger.debug("{}", gkr.toString() ); Resource<GenericKubernetesResource> dummyObject = k8s.resource( gkr ); dummyObject.patch(); }catch (Exception e) { e.printStackTrace(); return "FAIL " + e.getMessage(); } return "OK"; } private Boolean checkCRIDGEClusterContext( Map<String, Object> headers) { if ( (headers.get("currentContextCluster") ==null) || (headers.get("clusterMasterURL") ==null) || ( ! headers.get("currentContextCluster").equals( kubernetesContextDefinition.getCurrentContextCluster() )) || ( ! headers.get("clusterMasterURL").equals( kubernetesContextDefinition.getMasterURL() ))) { logger.debug("Will return SEE OTHER header.currentContextCluster={}, this.context= {} header.clusterMasterURLclusterMasterURL={}, this.context= {}", headers.get("currentContextCluster"), kubernetesContextDefinition.getCurrentContextCluster(), headers.get("clusterMasterURL"), kubernetesContextDefinition.getMasterURL() ); return false; } return true; } }