From dfc740fa81a3df1caadbdc7671c13d6bee948f21 Mon Sep 17 00:00:00 2001 From: Dimitrios Giannopoulos <dimit.giannopoulos@upnet.gr> Date: Fri, 30 Aug 2024 13:54:24 +0000 Subject: [PATCH 1/8] fix: strictly compare between strings --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3d872f6..3f669e2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -21,7 +21,7 @@ include: - ci-templates/default.yml - ci-templates/build.yml rules: - - if: '$CI_COMMIT_REF_PROTECTED && $CI_COMMIT_REF_NAME != "main" && $CI_COMMIT_REF_NAME != "develop"' + - if: '$CI_COMMIT_REF_PROTECTED == "true" && $CI_COMMIT_REF_NAME != "main" && $CI_COMMIT_REF_NAME != "develop"' - project: osl/code/org.etsi.osl.main ref: develop @@ -29,7 +29,7 @@ include: - ci-templates/default.yml - ci-templates/build_unprotected.yml rules: - - if: '$CI_COMMIT_REF_NAME != "main" && $CI_COMMIT_REF_NAME != "develop" && !$CI_COMMIT_REF_PROTECTED' + - if: '$CI_COMMIT_REF_NAME != "main" && $CI_COMMIT_REF_NAME != "develop" && $CI_COMMIT_REF_PROTECTED == "false"' maven_build: extends: .maven_build -- GitLab From d347147dce589cf3fb9f6d402e33db8a80143bc5 Mon Sep 17 00:00:00 2001 From: trantzas <ktrantzas@ece.upatras.gr> Date: Tue, 17 Sep 2024 18:49:38 +0000 Subject: [PATCH 2/8] Development preparation for release 2024Q4 --- pom.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 6e5f80a..72bcddc 100644 --- a/pom.xml +++ b/pom.xml @@ -5,12 +5,13 @@ <parent> <groupId>org.etsi.osl</groupId> <artifactId>org.etsi.osl.main</artifactId> - <version>1.0.0</version> + <version>2024Q4-SNAPSHOT</version> <relativePath>../org.etsi.osl.main</relativePath> </parent> <artifactId>org.etsi.osl.model.k8s</artifactId> + <version>${org.etsi.osl.model.k8s.version}</version> <properties> -- GitLab From 4de0554ca72e243d2c8d5a355935a442867ffef0 Mon Sep 17 00:00:00 2001 From: Christos Tranoris <tranoris@ece.upatras.gr> Date: Thu, 24 Oct 2024 15:14:05 +0300 Subject: [PATCH 3/8] fix for #8 --- .../model/kubernetes/KubernetesConfigMap.java | 212 ++++++++++++++++ .../model/kubernetes/KubernetesSecret.java | 7 +- .../model/kubernetes/KubernetesService.java | 236 ++++++++++++++++++ 3 files changed, 451 insertions(+), 4 deletions(-) create mode 100644 src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesConfigMap.java create mode 100644 src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesService.java diff --git a/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesConfigMap.java b/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesConfigMap.java new file mode 100644 index 0000000..f5127f7 --- /dev/null +++ b/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesConfigMap.java @@ -0,0 +1,212 @@ +package org.etsi.osl.domain.model.kubernetes; + +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.atomic.AtomicReference; +import org.etsi.osl.domain.model.DomainModelDefinition; +import org.etsi.osl.domain.model.ITMFRCM634_ModelTransformer; +import org.etsi.osl.domain.model.ITMFRI639_ModelTransformer; +import org.etsi.osl.tmf.common.model.ELifecycle; +import org.etsi.osl.tmf.common.model.EValueType; +import org.etsi.osl.tmf.rcm634.model.ResourceSpecification; +import org.etsi.osl.tmf.rcm634.model.ResourceSpecificationCreate; +import org.etsi.osl.tmf.rcm634.model.ResourceSpecificationRef; +import org.etsi.osl.tmf.rcm634.model.ResourceSpecificationUpdate; +import org.etsi.osl.tmf.ri639.model.ResourceCreate; +import org.etsi.osl.tmf.ri639.model.ResourceOperationalStateType; +import org.etsi.osl.tmf.ri639.model.ResourceStatusType; +import org.etsi.osl.tmf.ri639.model.ResourceUpdate; +import lombok.Builder; +import lombok.Getter; +import lombok.Setter; + +/** + * @author ctranoris + */ +@Getter +@Setter +public class KubernetesConfigMap extends DomainModelDefinition + implements ITMFRCM634_ModelTransformer, ITMFRI639_ModelTransformer { + + public static final String OSL_KUBCMAP_RSPEC_NAME = "kubernetes-configmap.openslice.io"; + public static final String OSL_KUBCMAP_RSPEC_VERSION = "0.0.1"; + public static final String OSL_KUBCMAP_RSPEC_CATEGORY = "ConfigMap/Kubernetes/v1"; + public static final String OSL_KUBCMAP_RESOURCE_CATEGORY = "ConfigMap/Kubernetes/v1"; + public static final String OSL_KUBCMAP_RSPEC_TYPE = "LogicalResourceSpecification"; + public static final String OSL_KUBCMAP_RSPEC_DESCRIPTION = "This Specification is used to describe a generic Kubernetes Service"; + + private String osl_KUBCRD_RSPEC_UUID = null; //this is assigned by the system through the DB for a specific instance + + private String clusterMasterURL; + private String currentContextCluster; + private String fullResourceName; + private String kind; + private String apiGroup; + private String UID; + private String metadata; + private String yaml; + private String json; + private String namespace; + + + private Map<String, String> data; + private String dataObj; + private Map<String, String> properties; + + + @Builder + public KubernetesConfigMap(String osl_KUBCRD_RSPEC_UUID, String uuid, String name, String version, String description, String category, + String clusterMasterURL, String currentContextCluster, String fullResourceName, String namespace, + String kind, String apiGroup, String uID, + String metadata, + String yaml, + String json) { + super(uuid, name, version, description, category); + this.osl_KUBCRD_RSPEC_UUID = osl_KUBCRD_RSPEC_UUID; + this.clusterMasterURL = clusterMasterURL; + this.currentContextCluster = currentContextCluster; + this.fullResourceName = fullResourceName; + this.kind = kind; + this.apiGroup = apiGroup; + this.namespace = namespace; + this.UID = uID; + this.metadata = metadata; + this.yaml = yaml; + this.json = json; + this.properties = new HashMap<>(); + this.data = new HashMap<>(); + this.category = OSL_KUBCMAP_RSPEC_CATEGORY; + } + + + + @Override + public ResourceSpecificationCreate toRSpecCreate_InitRepo() { + + ResourceSpecificationCreate rsc = this.toRSpecCreate(); + rsc.setName( OSL_KUBCMAP_RSPEC_NAME ); + rsc.setCategory( OSL_KUBCMAP_RSPEC_CATEGORY ); + rsc.setVersion(OSL_KUBCMAP_RSPEC_VERSION); + rsc.setDescription( OSL_KUBCMAP_RSPEC_DESCRIPTION ); + rsc.setType( OSL_KUBCMAP_RSPEC_TYPE ); + + + + return rsc; + } + + @Override + public ResourceSpecificationCreate toRSpecCreate() { + + ResourceSpecificationCreate rsc = new ResourceSpecificationCreate(); + rsc.setName( this.name ); + rsc.setCategory( OSL_KUBCMAP_RSPEC_CATEGORY ); + rsc.setVersion( this.version ); + rsc.setDescription( this.version ); + rsc.setType( OSL_KUBCMAP_RSPEC_TYPE ); + + rsc.setLifecycleStatus( ELifecycle.ACTIVE.getValue() ); + rsc.addResourceSpecificationCharacteristicItemShort("clusterMasterURL", this.clusterMasterURL, EValueType.TEXT.getValue(), "URL of cluster", false); + rsc.addResourceSpecificationCharacteristicItemShort("currentContextCluster", this.currentContextCluster, EValueType.TEXT.getValue(), "", false); + rsc.addResourceSpecificationCharacteristicItemShort("fullResourceName", this.fullResourceName, EValueType.TEXT.getValue(), "", false); + rsc.addResourceSpecificationCharacteristicItemShort("Kind", this.kind, EValueType.TEXT.getValue(), "", false); + rsc.addResourceSpecificationCharacteristicItemShort("apiGroup", this.apiGroup, EValueType.TEXT.getValue(), "", false); + rsc.addResourceSpecificationCharacteristicItemShort("UID", this.UID, EValueType.TEXT.getValue(), "", false); + rsc.addResourceSpecificationCharacteristicItemShort("metadata", this.metadata, EValueType.OBJECT.getValue(), "", false); + rsc.addResourceSpecificationCharacteristicItemShort("yaml", this.yaml, EValueType.TEXT.getValue(), "", false); + rsc.addResourceSpecificationCharacteristicItemShort("json", this.json, EValueType.TEXT.getValue(), "", false); + rsc.addResourceSpecificationCharacteristicItemShort("data", this.dataObj, EValueType.OBJECT.getValue(), "", false); + + if (this.properties != null) + this.properties.forEach((kPropName, vProVal) -> { + EValueType etype; + etype = EValueType.TEXT; + rsc.addResourceSpecificationCharacteristicItemShort(kPropName , vProVal, etype.getValue(), "", false); + + }); + if (this.data != null) + this.data.forEach((kPropName, vProVal) -> { + EValueType etype; + etype = EValueType.TEXT; + rsc.addResourceSpecificationCharacteristicItemShort(kPropName , vProVal, etype.getValue(), "", false); + + }); + + + + return rsc; + } + + @Override + public ResourceSpecificationUpdate toRSpecUpdate() { + return this.toRSpecCreate(); + } + + @Override + public KubernetesConfigMap fromRSpec(ResourceSpecification rSpec) { + this.osl_KUBCRD_RSPEC_UUID = rSpec.getUuid(); + return this; + } + + @Override + public ResourceCreate toResourceCreate() { + + if (osl_KUBCRD_RSPEC_UUID == null) { + return null; + } + + ResourceSpecificationRef rSpecRef = new ResourceSpecificationRef(); + rSpecRef.setId( osl_KUBCRD_RSPEC_UUID ); + rSpecRef.setName( OSL_KUBCMAP_RSPEC_NAME ); + rSpecRef.setVersion( OSL_KUBCMAP_RSPEC_VERSION ); + + ResourceCreate rs = new ResourceCreate(); + rs.name( this.name ) + .category( OSL_KUBCMAP_RESOURCE_CATEGORY ) + .description( this.description ) + .resourceStatus( ResourceStatusType.AVAILABLE ) + .operationalState( ResourceOperationalStateType.ENABLE ) + .resourceSpecification( rSpecRef ) + .resourceVersion( this.version); + + rs.addResourceCharacteristicItemShort("clusterMasterURL", this.clusterMasterURL, EValueType.TEXT.getValue()); + rs.addResourceCharacteristicItemShort("currentContextCluster", this.currentContextCluster, EValueType.TEXT.getValue()); + rs.addResourceCharacteristicItemShort("fullResourceName", this.fullResourceName, EValueType.TEXT.getValue()); + rs.addResourceCharacteristicItemShort("Kind", this.kind, EValueType.TEXT.getValue()); + rs.addResourceCharacteristicItemShort("apiGroup", this.apiGroup, EValueType.TEXT.getValue()); + rs.addResourceCharacteristicItemShort("UID", this.UID, EValueType.TEXT.getValue()); + rs.addResourceCharacteristicItemShort("metadata", this.metadata, EValueType.OBJECT.getValue()); + rs.addResourceCharacteristicItemShort("yaml", this.yaml, EValueType.TEXT.getValue()); + rs.addResourceCharacteristicItemShort("json", this.json, EValueType.TEXT.getValue()); + rs.addResourceCharacteristicItemShort("data", this.dataObj, EValueType.OBJECT.getValue()); + + + if (this.properties != null) + this.properties.forEach((kPropName, vProVal) -> { + EValueType etype; + etype = EValueType.TEXT; + + rs.addResourceCharacteristicItemShort( kPropName , vProVal, etype.getValue()); + + }); + if (this.data != null) + this.data.forEach((kPropName, vProVal) -> { + EValueType etype; + etype = EValueType.TEXT; + rs.addResourceCharacteristicItemShort( kPropName , vProVal, etype.getValue()); + + }); + + + + + return rs; + } + + @Override + public ResourceUpdate toResourceUpdate() { + + return this.toResourceCreate(); + } + +} diff --git a/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesSecret.java b/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesSecret.java index 820c777..011790d 100644 --- a/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesSecret.java +++ b/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesSecret.java @@ -2,6 +2,7 @@ package org.etsi.osl.domain.model.kubernetes; import java.util.HashMap; import java.util.Map; +import java.util.concurrent.atomic.AtomicReference; import org.etsi.osl.domain.model.DomainModelDefinition; import org.etsi.osl.domain.model.ITMFRCM634_ModelTransformer; import org.etsi.osl.domain.model.ITMFRI639_ModelTransformer; @@ -180,21 +181,19 @@ public class KubernetesSecret extends DomainModelDefinition rs.addResourceCharacteristicItemShort("data", this.dataObj, EValueType.OBJECT.getValue()); - - if (this.properties != null) this.properties.forEach((kPropName, vProVal) -> { EValueType etype; etype = EValueType.TEXT; - rs.addResourceCharacteristicItemShort(kPropName , vProVal, etype.getValue()); + rs.addResourceCharacteristicItemShort( kPropName , vProVal, etype.getValue()); }); if (this.data != null) this.data.forEach((kPropName, vProVal) -> { EValueType etype; etype = EValueType.TEXT; - rs.addResourceCharacteristicItemShort(kPropName , vProVal, etype.getValue()); + rs.addResourceCharacteristicItemShort( kPropName , vProVal, etype.getValue()); }); diff --git a/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesService.java b/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesService.java new file mode 100644 index 0000000..bd380db --- /dev/null +++ b/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesService.java @@ -0,0 +1,236 @@ +package org.etsi.osl.domain.model.kubernetes; + +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.atomic.AtomicReference; +import org.etsi.osl.domain.model.DomainModelDefinition; +import org.etsi.osl.domain.model.ITMFRCM634_ModelTransformer; +import org.etsi.osl.domain.model.ITMFRI639_ModelTransformer; +import org.etsi.osl.tmf.common.model.ELifecycle; +import org.etsi.osl.tmf.common.model.EValueType; +import org.etsi.osl.tmf.rcm634.model.ResourceSpecification; +import org.etsi.osl.tmf.rcm634.model.ResourceSpecificationCreate; +import org.etsi.osl.tmf.rcm634.model.ResourceSpecificationRef; +import org.etsi.osl.tmf.rcm634.model.ResourceSpecificationUpdate; +import org.etsi.osl.tmf.ri639.model.ResourceCreate; +import org.etsi.osl.tmf.ri639.model.ResourceOperationalStateType; +import org.etsi.osl.tmf.ri639.model.ResourceStatusType; +import org.etsi.osl.tmf.ri639.model.ResourceUpdate; +import lombok.Builder; +import lombok.Getter; +import lombok.Setter; + +/** + * @author ctranoris + */ +@Getter +@Setter +public class KubernetesService extends DomainModelDefinition + implements ITMFRCM634_ModelTransformer, ITMFRI639_ModelTransformer { + + public static final String OSL_KUBSERVICE_RSPEC_NAME = "kubernetes-service.openslice.io"; + public static final String OSL_KUBSERVICE_RSPEC_VERSION = "0.0.1"; + public static final String OSL_KUBSERVICE_RSPEC_CATEGORY = "Service/Kubernetes/v1"; + public static final String OSL_KUBSERVICE_RESOURCE_CATEGORY = "Service/Kubernetes/v1"; + public static final String OSL_KUBSERVICE_RSPEC_TYPE = "LogicalResourceSpecification"; + public static final String OSL_KUBSERVICE_RSPEC_DESCRIPTION = "This Specification is used to describe a generic Kubernetes Service"; + + private String osl_KUBCRD_RSPEC_UUID = null; //this is assigned by the system through the DB for a specific instance + + private String clusterMasterURL; + private String currentContextCluster; + private String fullResourceName; + private String kind; + private String apiGroup; + private String UID; + private String metadata; + private String yaml; + private String json; + private String namespace; + + + private Map<String, String> spec; + private String specObj; + private Map<String, String> status; + private String statusObj; + private Map<String, String> properties; + + + @Builder + public KubernetesService(String osl_KUBCRD_RSPEC_UUID, String uuid, String name, String version, String description, String category, + String clusterMasterURL, String currentContextCluster, String fullResourceName, String namespace, + String kind, String apiGroup, String uID, + String metadata, + String yaml, + String json) { + super(uuid, name, version, description, category); + this.osl_KUBCRD_RSPEC_UUID = osl_KUBCRD_RSPEC_UUID; + this.clusterMasterURL = clusterMasterURL; + this.currentContextCluster = currentContextCluster; + this.fullResourceName = fullResourceName; + this.kind = kind; + this.apiGroup = apiGroup; + this.namespace = namespace; + this.UID = uID; + this.metadata = metadata; + this.yaml = yaml; + this.json = json; + this.spec = new HashMap<>(); + this.status = new HashMap<>(); + this.properties = new HashMap<>(); + this.category = OSL_KUBSERVICE_RSPEC_CATEGORY; + } + + + + @Override + public ResourceSpecificationCreate toRSpecCreate_InitRepo() { + + ResourceSpecificationCreate rsc = this.toRSpecCreate(); + rsc.setName( OSL_KUBSERVICE_RSPEC_NAME ); + rsc.setCategory( OSL_KUBSERVICE_RSPEC_CATEGORY ); + rsc.setVersion(OSL_KUBSERVICE_RSPEC_VERSION); + rsc.setDescription( OSL_KUBSERVICE_RSPEC_DESCRIPTION ); + rsc.setType( OSL_KUBSERVICE_RSPEC_TYPE ); + + + + return rsc; + } + + @Override + public ResourceSpecificationCreate toRSpecCreate() { + + ResourceSpecificationCreate rsc = new ResourceSpecificationCreate(); + rsc.setName( this.name ); + rsc.setCategory( OSL_KUBSERVICE_RSPEC_CATEGORY ); + rsc.setVersion( this.version ); + rsc.setDescription( this.version ); + rsc.setType( OSL_KUBSERVICE_RSPEC_TYPE ); + + rsc.setLifecycleStatus( ELifecycle.ACTIVE.getValue() ); + rsc.addResourceSpecificationCharacteristicItemShort("clusterMasterURL", this.clusterMasterURL, EValueType.TEXT.getValue(), "URL of cluster", false); + rsc.addResourceSpecificationCharacteristicItemShort("currentContextCluster", this.currentContextCluster, EValueType.TEXT.getValue(), "", false); + rsc.addResourceSpecificationCharacteristicItemShort("fullResourceName", this.fullResourceName, EValueType.TEXT.getValue(), "", false); + rsc.addResourceSpecificationCharacteristicItemShort("Kind", this.kind, EValueType.TEXT.getValue(), "", false); + rsc.addResourceSpecificationCharacteristicItemShort("apiGroup", this.apiGroup, EValueType.TEXT.getValue(), "", false); + rsc.addResourceSpecificationCharacteristicItemShort("UID", this.UID, EValueType.TEXT.getValue(), "", false); + rsc.addResourceSpecificationCharacteristicItemShort("metadata", this.metadata, EValueType.OBJECT.getValue(), "", false); + rsc.addResourceSpecificationCharacteristicItemShort("yaml", this.yaml, EValueType.TEXT.getValue(), "", false); + rsc.addResourceSpecificationCharacteristicItemShort("json", this.json, EValueType.TEXT.getValue(), "", false); + rsc.addResourceSpecificationCharacteristicItemShort("spec", this.specObj, EValueType.OBJECT.getValue(), "", false); + rsc.addResourceSpecificationCharacteristicItemShort("status", this.statusObj, EValueType.OBJECT.getValue(), "", false); + + + + + + if (this.status != null) + this.status.forEach((kPropName, vProVal) -> { + EValueType etype; + etype = EValueType.TEXT; + rsc.addResourceSpecificationCharacteristicItemShort( kPropName , vProVal, etype.getValue(), "", false); + + }); + if (this.spec != null) + this.spec.forEach((kPropName, vProVal) -> { + EValueType etype; + etype = EValueType.TEXT; + rsc.addResourceSpecificationCharacteristicItemShort( kPropName , vProVal, etype.getValue(), "", false); + + }); + if (this.properties != null) + this.properties.forEach((kPropName, vProVal) -> { + EValueType etype; + etype = EValueType.TEXT; + rsc.addResourceSpecificationCharacteristicItemShort( kPropName , vProVal, etype.getValue(), "", false); + + }); + + + + return rsc; + } + + @Override + public ResourceSpecificationUpdate toRSpecUpdate() { + return this.toRSpecCreate(); + } + + @Override + public KubernetesService fromRSpec(ResourceSpecification rSpec) { + this.osl_KUBCRD_RSPEC_UUID = rSpec.getUuid(); + return this; + } + + @Override + public ResourceCreate toResourceCreate() { + + if (osl_KUBCRD_RSPEC_UUID == null) { + return null; + } + + ResourceSpecificationRef rSpecRef = new ResourceSpecificationRef(); + rSpecRef.setId( osl_KUBCRD_RSPEC_UUID ); + rSpecRef.setName( OSL_KUBSERVICE_RSPEC_NAME ); + rSpecRef.setVersion( OSL_KUBSERVICE_RSPEC_VERSION ); + + ResourceCreate rs = new ResourceCreate(); + rs.name( this.name ) + .category( OSL_KUBSERVICE_RESOURCE_CATEGORY ) + .description( this.description ) + .resourceStatus( ResourceStatusType.AVAILABLE ) + .operationalState( ResourceOperationalStateType.ENABLE ) + .resourceSpecification( rSpecRef ) + .resourceVersion( this.version); + + rs.addResourceCharacteristicItemShort("clusterMasterURL", this.clusterMasterURL, EValueType.TEXT.getValue()); + rs.addResourceCharacteristicItemShort("currentContextCluster", this.currentContextCluster, EValueType.TEXT.getValue()); + rs.addResourceCharacteristicItemShort("fullResourceName", this.fullResourceName, EValueType.TEXT.getValue()); + rs.addResourceCharacteristicItemShort("Kind", this.kind, EValueType.TEXT.getValue()); + rs.addResourceCharacteristicItemShort("apiGroup", this.apiGroup, EValueType.TEXT.getValue()); + rs.addResourceCharacteristicItemShort("UID", this.UID, EValueType.TEXT.getValue()); + rs.addResourceCharacteristicItemShort("metadata", this.metadata, EValueType.OBJECT.getValue()); + rs.addResourceCharacteristicItemShort("yaml", this.yaml, EValueType.TEXT.getValue()); + rs.addResourceCharacteristicItemShort("json", this.json, EValueType.TEXT.getValue()); + rs.addResourceCharacteristicItemShort("spec", this.specObj, EValueType.OBJECT.getValue()); + rs.addResourceCharacteristicItemShort("status", this.statusObj, EValueType.OBJECT.getValue()); + + + + if (this.status != null) + this.status.forEach((kPropName, vProVal) -> { + EValueType etype; + etype = EValueType.TEXT; + + rs.addResourceCharacteristicItemShort( kPropName , vProVal, etype.getValue()); + + }); + if (this.spec != null) + this.spec.forEach((kPropName, vProVal) -> { + EValueType etype; + etype = EValueType.TEXT; + rs.addResourceCharacteristicItemShort( kPropName , vProVal, etype.getValue()); + + }); + if (this.properties != null) + this.properties.forEach((kPropName, vProVal) -> { + EValueType etype; + etype = EValueType.TEXT; + + rs.addResourceCharacteristicItemShort( kPropName , vProVal, etype.getValue()); + + }); + + + + return rs; + } + + @Override + public ResourceUpdate toResourceUpdate() { + + return this.toResourceCreate(); + } + +} -- GitLab From 4e8b2397a3ba9ee8fc454c9e94633d8f441416a1 Mon Sep 17 00:00:00 2001 From: Christos Tranoris <tranoris@ece.upatras.gr> Date: Mon, 4 Nov 2024 13:00:04 +0200 Subject: [PATCH 4/8] fix for prefix json --- .../etsi/osl/domain/model/kubernetes/KubernetesService.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesService.java b/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesService.java index bd380db..421e4f3 100644 --- a/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesService.java +++ b/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesService.java @@ -184,6 +184,10 @@ public class KubernetesService extends DomainModelDefinition .resourceSpecification( rSpecRef ) .resourceVersion( this.version); + + String firstToken = this.fullResourceName.substring( 0, this.fullResourceName.indexOf('@') ); + String cprefix = this.kind + "." + firstToken + "."; + rs.addResourceCharacteristicItemShort("clusterMasterURL", this.clusterMasterURL, EValueType.TEXT.getValue()); rs.addResourceCharacteristicItemShort("currentContextCluster", this.currentContextCluster, EValueType.TEXT.getValue()); rs.addResourceCharacteristicItemShort("fullResourceName", this.fullResourceName, EValueType.TEXT.getValue()); @@ -192,7 +196,7 @@ public class KubernetesService extends DomainModelDefinition rs.addResourceCharacteristicItemShort("UID", this.UID, EValueType.TEXT.getValue()); rs.addResourceCharacteristicItemShort("metadata", this.metadata, EValueType.OBJECT.getValue()); rs.addResourceCharacteristicItemShort("yaml", this.yaml, EValueType.TEXT.getValue()); - rs.addResourceCharacteristicItemShort("json", this.json, EValueType.TEXT.getValue()); + rs.addResourceCharacteristicItemShort(cprefix + "json", this.json, EValueType.TEXT.getValue()); rs.addResourceCharacteristicItemShort("spec", this.specObj, EValueType.OBJECT.getValue()); rs.addResourceCharacteristicItemShort("status", this.statusObj, EValueType.OBJECT.getValue()); -- GitLab From bdec583f6b1e07d7ae43e91d686fd39dc9ef2f90 Mon Sep 17 00:00:00 2001 From: Christos Tranoris <tranoris@ece.upatras.gr> Date: Mon, 4 Nov 2024 19:38:14 +0200 Subject: [PATCH 5/8] fix for #9 --- .../osl/domain/model/kubernetes/KubernetesService.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesService.java b/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesService.java index 421e4f3..9b40f88 100644 --- a/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesService.java +++ b/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesService.java @@ -184,9 +184,11 @@ public class KubernetesService extends DomainModelDefinition .resourceSpecification( rSpecRef ) .resourceVersion( this.version); - - String firstToken = this.fullResourceName.substring( 0, this.fullResourceName.indexOf('@') ); - String cprefix = this.kind + "." + firstToken + "."; + String cprefix = ""; + if ( this.name.indexOf('@')>0) { + String firstToken = this.name.substring( 0, this.name.indexOf('@') ); + cprefix = this.kind + "." + firstToken + "."; + } rs.addResourceCharacteristicItemShort("clusterMasterURL", this.clusterMasterURL, EValueType.TEXT.getValue()); rs.addResourceCharacteristicItemShort("currentContextCluster", this.currentContextCluster, EValueType.TEXT.getValue()); -- GitLab From 158443b3109bfba87e63e5e5005a7f24c8cdc9ad Mon Sep 17 00:00:00 2001 From: Christos Tranoris <tranoris@ece.upatras.gr> Date: Tue, 5 Nov 2024 00:19:13 +0200 Subject: [PATCH 6/8] fix for #9 --- .../domain/model/kubernetes/KubernetesConfigMap.java | 11 +++++++++-- .../osl/domain/model/kubernetes/KubernetesSecret.java | 11 +++++++++-- .../domain/model/kubernetes/KubernetesService.java | 2 +- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesConfigMap.java b/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesConfigMap.java index f5127f7..a604507 100644 --- a/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesConfigMap.java +++ b/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesConfigMap.java @@ -169,6 +169,13 @@ public class KubernetesConfigMap extends DomainModelDefinition .resourceSpecification( rSpecRef ) .resourceVersion( this.version); + String cprefix = ""; + if ( this.name.indexOf('@')>0) { + String firstToken = this.name.substring( 0, this.name.indexOf('@') ); + cprefix = this.kind + "." + firstToken + "."; + } + + rs.addResourceCharacteristicItemShort("clusterMasterURL", this.clusterMasterURL, EValueType.TEXT.getValue()); rs.addResourceCharacteristicItemShort("currentContextCluster", this.currentContextCluster, EValueType.TEXT.getValue()); rs.addResourceCharacteristicItemShort("fullResourceName", this.fullResourceName, EValueType.TEXT.getValue()); @@ -176,8 +183,8 @@ public class KubernetesConfigMap extends DomainModelDefinition rs.addResourceCharacteristicItemShort("apiGroup", this.apiGroup, EValueType.TEXT.getValue()); rs.addResourceCharacteristicItemShort("UID", this.UID, EValueType.TEXT.getValue()); rs.addResourceCharacteristicItemShort("metadata", this.metadata, EValueType.OBJECT.getValue()); - rs.addResourceCharacteristicItemShort("yaml", this.yaml, EValueType.TEXT.getValue()); - rs.addResourceCharacteristicItemShort("json", this.json, EValueType.TEXT.getValue()); + //rs.addResourceCharacteristicItemShort("yaml", this.yaml, EValueType.TEXT.getValue()); + rs.addResourceCharacteristicItemShort(cprefix + "json", this.json, EValueType.TEXT.getValue()); rs.addResourceCharacteristicItemShort("data", this.dataObj, EValueType.OBJECT.getValue()); diff --git a/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesSecret.java b/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesSecret.java index 011790d..8a0903b 100644 --- a/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesSecret.java +++ b/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesSecret.java @@ -169,6 +169,13 @@ public class KubernetesSecret extends DomainModelDefinition .resourceSpecification( rSpecRef ) .resourceVersion( this.version); + String cprefix = ""; + if ( this.name.indexOf('@')>0) { + String firstToken = this.name.substring( 0, this.name.indexOf('@') ); + cprefix = this.kind + "." + firstToken + "."; + } + + rs.addResourceCharacteristicItemShort("clusterMasterURL", this.clusterMasterURL, EValueType.TEXT.getValue()); rs.addResourceCharacteristicItemShort("currentContextCluster", this.currentContextCluster, EValueType.TEXT.getValue()); rs.addResourceCharacteristicItemShort("fullResourceName", this.fullResourceName, EValueType.TEXT.getValue()); @@ -176,8 +183,8 @@ public class KubernetesSecret extends DomainModelDefinition rs.addResourceCharacteristicItemShort("apiGroup", this.apiGroup, EValueType.TEXT.getValue()); rs.addResourceCharacteristicItemShort("UID", this.UID, EValueType.TEXT.getValue()); rs.addResourceCharacteristicItemShort("metadata", this.metadata, EValueType.OBJECT.getValue()); - rs.addResourceCharacteristicItemShort("yaml", this.yaml, EValueType.TEXT.getValue()); - rs.addResourceCharacteristicItemShort("json", this.json, EValueType.TEXT.getValue()); + //rs.addResourceCharacteristicItemShort("yaml", this.yaml, EValueType.TEXT.getValue()); + rs.addResourceCharacteristicItemShort(cprefix + "json", this.json, EValueType.TEXT.getValue()); rs.addResourceCharacteristicItemShort("data", this.dataObj, EValueType.OBJECT.getValue()); diff --git a/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesService.java b/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesService.java index 9b40f88..38b0b33 100644 --- a/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesService.java +++ b/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesService.java @@ -197,7 +197,7 @@ public class KubernetesService extends DomainModelDefinition rs.addResourceCharacteristicItemShort("apiGroup", this.apiGroup, EValueType.TEXT.getValue()); rs.addResourceCharacteristicItemShort("UID", this.UID, EValueType.TEXT.getValue()); rs.addResourceCharacteristicItemShort("metadata", this.metadata, EValueType.OBJECT.getValue()); - rs.addResourceCharacteristicItemShort("yaml", this.yaml, EValueType.TEXT.getValue()); + //rs.addResourceCharacteristicItemShort("yaml", this.yaml, EValueType.TEXT.getValue()); rs.addResourceCharacteristicItemShort(cprefix + "json", this.json, EValueType.TEXT.getValue()); rs.addResourceCharacteristicItemShort("spec", this.specObj, EValueType.OBJECT.getValue()); rs.addResourceCharacteristicItemShort("status", this.statusObj, EValueType.OBJECT.getValue()); -- GitLab From 7260fe59246d3d5f30468f34a39616a3be41b605 Mon Sep 17 00:00:00 2001 From: Christos Tranoris <tranoris@ece.upatras.gr> Date: Wed, 18 Dec 2024 09:18:15 +0200 Subject: [PATCH 7/8] fix for #10 --- .../etsi/osl/domain/model/kubernetes/KubernetesCRV1.java | 4 ++-- .../osl/domain/model/kubernetes/KubernetesConfigMap.java | 8 ++++---- .../osl/domain/model/kubernetes/KubernetesSecret.java | 6 +++--- .../osl/domain/model/kubernetes/KubernetesService.java | 6 +++--- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesCRV1.java b/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesCRV1.java index c550be8..d634df0 100644 --- a/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesCRV1.java +++ b/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesCRV1.java @@ -115,7 +115,7 @@ public class KubernetesCRV1 extends DomainModelDefinition rsc.addResourceSpecificationCharacteristicItemShort( "UID", "", EValueType.TEXT.getValue(), "", false); rsc.addResourceSpecificationCharacteristicItemShort( "namespace", "", EValueType.TEXT.getValue(), "", false); rsc.addResourceSpecificationCharacteristicItemShort( "metadata", "", EValueType.TEXT.getValue(), "", false); - rsc.addResourceSpecificationCharacteristicItemShort( "yaml", "", EValueType.TEXT.getValue(), "", false); +// rsc.addResourceSpecificationCharacteristicItemShort( "yaml", "", EValueType.TEXT.getValue(), "", false); rsc.addResourceSpecificationCharacteristicItemShort( "json", "", EValueType.TEXT.getValue(), "", false); rsc.addResourceSpecificationCharacteristicItemShort( "_CR_SPEC", "", EValueType.TEXT.getValue(), "Used for providing the json Custom Resource description to apply", false); @@ -179,7 +179,7 @@ public class KubernetesCRV1 extends DomainModelDefinition rs.addResourceCharacteristicItemShort("UID", this.UID, EValueType.TEXT.getValue()); rs.addResourceCharacteristicItemShort("namespace", this.namespace, EValueType.TEXT.getValue()); rs.addResourceCharacteristicItemShort("metadata", this.metadata, EValueType.TEXT.getValue()); - rs.addResourceCharacteristicItemShort("yaml", this.yaml, EValueType.TEXT.getValue()); +// rs.addResourceCharacteristicItemShort("yaml", this.yaml, EValueType.TEXT.getValue()); rs.addResourceCharacteristicItemShort("json", this.json, EValueType.TEXT.getValue()); diff --git a/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesConfigMap.java b/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesConfigMap.java index a604507..2e4457a 100644 --- a/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesConfigMap.java +++ b/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesConfigMap.java @@ -113,7 +113,7 @@ public class KubernetesConfigMap extends DomainModelDefinition rsc.addResourceSpecificationCharacteristicItemShort("apiGroup", this.apiGroup, EValueType.TEXT.getValue(), "", false); rsc.addResourceSpecificationCharacteristicItemShort("UID", this.UID, EValueType.TEXT.getValue(), "", false); rsc.addResourceSpecificationCharacteristicItemShort("metadata", this.metadata, EValueType.OBJECT.getValue(), "", false); - rsc.addResourceSpecificationCharacteristicItemShort("yaml", this.yaml, EValueType.TEXT.getValue(), "", false); +// rsc.addResourceSpecificationCharacteristicItemShort("yaml", this.yaml, EValueType.TEXT.getValue(), "", false); rsc.addResourceSpecificationCharacteristicItemShort("json", this.json, EValueType.TEXT.getValue(), "", false); rsc.addResourceSpecificationCharacteristicItemShort("data", this.dataObj, EValueType.OBJECT.getValue(), "", false); @@ -183,9 +183,9 @@ public class KubernetesConfigMap extends DomainModelDefinition rs.addResourceCharacteristicItemShort("apiGroup", this.apiGroup, EValueType.TEXT.getValue()); rs.addResourceCharacteristicItemShort("UID", this.UID, EValueType.TEXT.getValue()); rs.addResourceCharacteristicItemShort("metadata", this.metadata, EValueType.OBJECT.getValue()); - //rs.addResourceCharacteristicItemShort("yaml", this.yaml, EValueType.TEXT.getValue()); - rs.addResourceCharacteristicItemShort(cprefix + "json", this.json, EValueType.TEXT.getValue()); - rs.addResourceCharacteristicItemShort("data", this.dataObj, EValueType.OBJECT.getValue()); +// //rs.addResourceCharacteristicItemShort("yaml", this.yaml, EValueType.TEXT.getValue()); + rs.addResourceCharacteristicItemShort("json", this.json, EValueType.TEXT.getValue()); + rs.addResourceCharacteristicItemShort("data", this.dataObj, EValueType.OBJECT.getValue()); if (this.properties != null) diff --git a/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesSecret.java b/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesSecret.java index 8a0903b..275dceb 100644 --- a/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesSecret.java +++ b/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesSecret.java @@ -113,7 +113,7 @@ public class KubernetesSecret extends DomainModelDefinition rsc.addResourceSpecificationCharacteristicItemShort("apiGroup", this.apiGroup, EValueType.TEXT.getValue(), "", false); rsc.addResourceSpecificationCharacteristicItemShort("UID", this.UID, EValueType.TEXT.getValue(), "", false); rsc.addResourceSpecificationCharacteristicItemShort("metadata", this.metadata, EValueType.OBJECT.getValue(), "", false); - rsc.addResourceSpecificationCharacteristicItemShort("yaml", this.yaml, EValueType.TEXT.getValue(), "", false); +// rsc.addResourceSpecificationCharacteristicItemShort("yaml", this.yaml, EValueType.TEXT.getValue(), "", false); rsc.addResourceSpecificationCharacteristicItemShort("json", this.json, EValueType.TEXT.getValue(), "", false); rsc.addResourceSpecificationCharacteristicItemShort("data", this.dataObj, EValueType.OBJECT.getValue(), "", false); @@ -183,8 +183,8 @@ public class KubernetesSecret extends DomainModelDefinition rs.addResourceCharacteristicItemShort("apiGroup", this.apiGroup, EValueType.TEXT.getValue()); rs.addResourceCharacteristicItemShort("UID", this.UID, EValueType.TEXT.getValue()); rs.addResourceCharacteristicItemShort("metadata", this.metadata, EValueType.OBJECT.getValue()); - //rs.addResourceCharacteristicItemShort("yaml", this.yaml, EValueType.TEXT.getValue()); - rs.addResourceCharacteristicItemShort(cprefix + "json", this.json, EValueType.TEXT.getValue()); +// //rs.addResourceCharacteristicItemShort("yaml", this.yaml, EValueType.TEXT.getValue()); + rs.addResourceCharacteristicItemShort("json", this.json, EValueType.TEXT.getValue()); rs.addResourceCharacteristicItemShort("data", this.dataObj, EValueType.OBJECT.getValue()); diff --git a/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesService.java b/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesService.java index 38b0b33..38fa5ce 100644 --- a/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesService.java +++ b/src/main/java/org/etsi/osl/domain/model/kubernetes/KubernetesService.java @@ -116,7 +116,7 @@ public class KubernetesService extends DomainModelDefinition rsc.addResourceSpecificationCharacteristicItemShort("apiGroup", this.apiGroup, EValueType.TEXT.getValue(), "", false); rsc.addResourceSpecificationCharacteristicItemShort("UID", this.UID, EValueType.TEXT.getValue(), "", false); rsc.addResourceSpecificationCharacteristicItemShort("metadata", this.metadata, EValueType.OBJECT.getValue(), "", false); - rsc.addResourceSpecificationCharacteristicItemShort("yaml", this.yaml, EValueType.TEXT.getValue(), "", false); +// rsc.addResourceSpecificationCharacteristicItemShort("yaml", this.yaml, EValueType.TEXT.getValue(), "", false); rsc.addResourceSpecificationCharacteristicItemShort("json", this.json, EValueType.TEXT.getValue(), "", false); rsc.addResourceSpecificationCharacteristicItemShort("spec", this.specObj, EValueType.OBJECT.getValue(), "", false); rsc.addResourceSpecificationCharacteristicItemShort("status", this.statusObj, EValueType.OBJECT.getValue(), "", false); @@ -197,8 +197,8 @@ public class KubernetesService extends DomainModelDefinition rs.addResourceCharacteristicItemShort("apiGroup", this.apiGroup, EValueType.TEXT.getValue()); rs.addResourceCharacteristicItemShort("UID", this.UID, EValueType.TEXT.getValue()); rs.addResourceCharacteristicItemShort("metadata", this.metadata, EValueType.OBJECT.getValue()); - //rs.addResourceCharacteristicItemShort("yaml", this.yaml, EValueType.TEXT.getValue()); - rs.addResourceCharacteristicItemShort(cprefix + "json", this.json, EValueType.TEXT.getValue()); +// //rs.addResourceCharacteristicItemShort("yaml", this.yaml, EValueType.TEXT.getValue()); + rs.addResourceCharacteristicItemShort("json", this.json, EValueType.TEXT.getValue()); rs.addResourceCharacteristicItemShort("spec", this.specObj, EValueType.OBJECT.getValue()); rs.addResourceCharacteristicItemShort("status", this.statusObj, EValueType.OBJECT.getValue()); -- GitLab From 6cb8f2de2ae84bb1fa506567d284e2d1d45e6282 Mon Sep 17 00:00:00 2001 From: trantzas <ktrantzas@ece.upatras.gr> Date: Tue, 14 Jan 2025 12:36:00 +0000 Subject: [PATCH 8/8] Preparing the 2024Q4_RC: - Remove -SNAPSHOT from parent's version at pom.xml --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 72bcddc..3be3531 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ <parent> <groupId>org.etsi.osl</groupId> <artifactId>org.etsi.osl.main</artifactId> - <version>2024Q4-SNAPSHOT</version> + <version>2024Q4</version> <relativePath>../org.etsi.osl.main</relativePath> </parent> -- GitLab