diff --git a/src/policy/src/main/java/eu/teraflow/policy/Serializer.java b/src/policy/src/main/java/eu/teraflow/policy/Serializer.java index 687a507fcdec304129d84862ae1f386975d48c52..f794d8bafa402bc0dbe3296034bc235f30d9c969 100644 --- a/src/policy/src/main/java/eu/teraflow/policy/Serializer.java +++ b/src/policy/src/main/java/eu/teraflow/policy/Serializer.java @@ -1210,6 +1210,7 @@ public class Serializer { final var serviceConstraints = service.getServiceConstraints(); final var serviceStatus = service.getServiceStatus(); final var serviceConfig = service.getServiceConfig(); + final var serviceTimestamp = service.getTimestamp(); final var serializedServiceId = serialize(serviceId); final var serializedServiceType = serialize(serviceType); @@ -1219,6 +1220,7 @@ public class Serializer { serviceConstraints.stream().map(this::serialize).collect(Collectors.toList()); final var serializedServiceStatus = serialize(serviceStatus); final var serializedServiceConfig = serialize(serviceConfig); + final var serializedTimestamp = serialize(serviceTimestamp); builder.setServiceId(serializedServiceId); builder.setServiceType(serializedServiceType); @@ -1226,6 +1228,7 @@ public class Serializer { builder.addAllServiceConstraints(serializedServiceConstraints); builder.setServiceStatus(serializedServiceStatus); builder.setServiceConfig(serializedServiceConfig); + builder.setTimestamp(serializedTimestamp); return builder.build(); } @@ -1238,6 +1241,7 @@ public class Serializer { final var serializedServiceConstraints = serializedService.getServiceConstraintsList(); final var serializedServiceStatus = serializedService.getServiceStatus(); final var serializedServiceConfig = serializedService.getServiceConfig(); + final var serializedTimestamp = serializedService.getTimestamp(); final var serviceId = deserialize(serializedServiceId); final var serviceType = deserialize(serializedServiceType); @@ -1247,6 +1251,7 @@ public class Serializer { serializedServiceConstraints.stream().map(this::deserialize).collect(Collectors.toList()); final var serviceStatus = deserialize(serializedServiceStatus); final var serviceConfig = deserialize(serializedServiceConfig); + final var timestamp = deserialize(serializedTimestamp); return new Service( serviceId, @@ -1254,7 +1259,8 @@ public class Serializer { serviceEndPointIds, serviceConstraints, serviceStatus, - serviceConfig); + serviceConfig, + timestamp); } public KpiSampleTypes.KpiSampleType serialize(KpiSampleType kpiSampleType) { diff --git a/src/policy/src/main/java/eu/teraflow/policy/context/model/Service.java b/src/policy/src/main/java/eu/teraflow/policy/context/model/Service.java index bbe684e1c79b67559ad0aa1e97059ef2852bbecf..e61179bcfa1dcc1736d81362f434fda01003696a 100644 --- a/src/policy/src/main/java/eu/teraflow/policy/context/model/Service.java +++ b/src/policy/src/main/java/eu/teraflow/policy/context/model/Service.java @@ -27,6 +27,7 @@ public class Service { private final List<Constraint> serviceConstraints; private final ServiceStatus serviceStatus; private final ServiceConfig serviceConfig; + private final double timestamp; public Service( ServiceId serviceId, @@ -34,13 +35,15 @@ public class Service { List<EndPointId> serviceEndPointIds, List<Constraint> serviceConstraints, ServiceStatus serviceStatus, - ServiceConfig serviceConfig) { + ServiceConfig serviceConfig, + double timestamp) { this.serviceId = serviceId; this.serviceType = serviceType; this.serviceEndPointIds = serviceEndPointIds; this.serviceConstraints = serviceConstraints; this.serviceStatus = serviceStatus; this.serviceConfig = serviceConfig; + this.timestamp = timestamp; } public ServiceId getServiceId() { @@ -67,16 +70,21 @@ public class Service { return serviceConfig; } + public double getTimestamp() { + return timestamp; + } + @Override public String toString() { return String.format( - "%s:{%s, serviceType:\"%s\", [%s], [%s], %s, %s}", + "%s:{%s, serviceType:\"%s\", [%s], [%s], %s, %s, timestamp:\"%f\"}", getClass().getSimpleName(), serviceId, serviceType.toString(), Util.toString(serviceEndPointIds), Util.toString(serviceConstraints), serviceStatus, - serviceConfig); + serviceConfig, + timestamp); } } diff --git a/src/policy/src/test/java/eu/teraflow/policy/SerializerTest.java b/src/policy/src/test/java/eu/teraflow/policy/SerializerTest.java index 20b69e422a33507a0c8465bd7597c89eeba9a6f2..49aa004be4e225262d89db5fff8f30b911fce93b 100644 --- a/src/policy/src/test/java/eu/teraflow/policy/SerializerTest.java +++ b/src/policy/src/test/java/eu/teraflow/policy/SerializerTest.java @@ -2044,6 +2044,8 @@ class SerializerTest { final var expectedServiceConfig = new ServiceConfig(expectedConfigRules); + final var expectedTimestamp = 2.3; + final var service = new Service( expectedServiceId, @@ -2051,7 +2053,8 @@ class SerializerTest { expectedServiceEndPointIds, expectedServiceConstraints, expectedServiceStatus, - expectedServiceConfig); + expectedServiceConfig, + expectedTimestamp); final var serializedServiceId = serializer.serialize(expectedServiceId); final var serializedServiceType = serializer.serialize(expectedServiceTypeEnum); @@ -2065,6 +2068,7 @@ class SerializerTest { .collect(Collectors.toList()); final var serializedServiceStatus = serializer.serialize(expectedServiceStatus); final var serializedServiceConfig = serializer.serialize(expectedServiceConfig); + final var serializedTimestamp = serializer.serialize(expectedTimestamp); final var expectedService = ContextOuterClass.Service.newBuilder() @@ -2074,11 +2078,12 @@ class SerializerTest { .addAllServiceConstraints(serializedServiceConstraints) .setServiceStatus(serializedServiceStatus) .setServiceConfig(serializedServiceConfig) + .setTimestamp(serializedTimestamp) .build(); final var serializedService = serializer.serialize(service); - assertThat(serializedService).usingRecursiveComparison().isEqualTo(expectedService); + assertThat(serializedService).isEqualTo(expectedService); } @Test @@ -2123,6 +2128,8 @@ class SerializerTest { final var expectedServiceConfig = new ServiceConfig(expectedConfigRules); + final var expectedTimestamp = 7.8; + final var expectedService = new Service( expectedServiceId, @@ -2130,7 +2137,8 @@ class SerializerTest { expectedServiceEndPointIds, expectedServiceConstraints, expectedServiceStatus, - expectedServiceConfig); + expectedServiceConfig, + expectedTimestamp); final var serializedServiceId = serializer.serialize(expectedServiceId); final var serializedServiceType = serializer.serialize(expectedServiceTypeEnum); @@ -2144,6 +2152,7 @@ class SerializerTest { .collect(Collectors.toList()); final var serializedServiceStatus = serializer.serialize(expectedServiceStatus); final var serializedServiceConfig = serializer.serialize(expectedServiceConfig); + final var serializedTimestamp = serializer.serialize(expectedTimestamp); final var serializedService = ContextOuterClass.Service.newBuilder() @@ -2153,6 +2162,7 @@ class SerializerTest { .addAllServiceConstraints(serializedServiceConstraints) .setServiceStatus(serializedServiceStatus) .setServiceConfig(serializedServiceConfig) + .setTimestamp(serializedTimestamp) .build(); final var service = serializer.deserialize(serializedService); diff --git a/src/policy/target/kubernetes/kubernetes.yml b/src/policy/target/kubernetes/kubernetes.yml index bfd8398e80ffec1ca69ca49bf96e6faf9a15e471..b692aa34084ad96b958019be1c9087ef0db9ded5 100644 --- a/src/policy/target/kubernetes/kubernetes.yml +++ b/src/policy/target/kubernetes/kubernetes.yml @@ -3,8 +3,8 @@ apiVersion: v1 kind: Service metadata: annotations: - app.quarkus.io/commit-id: 38171d32b260b03cfa8b2beef6b85dde4471ad48 - app.quarkus.io/build-timestamp: 2022-07-21 - 13:18:31 +0000 + app.quarkus.io/commit-id: 342ed841a2fd5a8c0ab65464b4e178bc63981fb3 + app.quarkus.io/build-timestamp: 2022-07-22 - 09:19:09 +0000 labels: app.kubernetes.io/name: policyservice app: policyservice @@ -25,8 +25,8 @@ apiVersion: apps/v1 kind: Deployment metadata: annotations: - app.quarkus.io/commit-id: 38171d32b260b03cfa8b2beef6b85dde4471ad48 - app.quarkus.io/build-timestamp: 2022-07-21 - 13:18:31 +0000 + app.quarkus.io/commit-id: 342ed841a2fd5a8c0ab65464b4e178bc63981fb3 + app.quarkus.io/build-timestamp: 2022-07-22 - 09:19:09 +0000 labels: app: policyservice app.kubernetes.io/name: policyservice @@ -39,8 +39,8 @@ spec: template: metadata: annotations: - app.quarkus.io/commit-id: 38171d32b260b03cfa8b2beef6b85dde4471ad48 - app.quarkus.io/build-timestamp: 2022-07-21 - 13:18:31 +0000 + app.quarkus.io/commit-id: 342ed841a2fd5a8c0ab65464b4e178bc63981fb3 + app.quarkus.io/build-timestamp: 2022-07-22 - 09:19:09 +0000 labels: app: policyservice app.kubernetes.io/name: policyservice @@ -51,12 +51,12 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace + - name: MONITORING_SERVICE_HOST + value: monitoringservice - name: CONTEXT_SERVICE_HOST value: contextservice - name: SERVICE_SERVICE_HOST value: serviceservice - - name: MONITORING_SERVICE_HOST - value: monitoringservice image: registry.gitlab.com/teraflow-h2020/controller/policy:0.1.0 imagePullPolicy: Always livenessProbe: