Skip to content

Commit 2308d1c

Browse files
committed
Fix #26798: log additional manifests
1 parent 76a1823 commit 2308d1c

2 files changed

Lines changed: 17 additions & 11 deletions

File tree

src/main/java/eu/openanalytics/containerproxy/backend/kubernetes/KubernetesBackend.java

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,8 @@
111111
import java.util.stream.Collectors;
112112
import java.util.stream.Stream;
113113

114+
import static eu.openanalytics.containerproxy.backend.kubernetes.PodPatcher.DEBUG_PROPERTY;
115+
114116
public class KubernetesBackend extends AbstractContainerBackend {
115117

116118
private static final String PROPERTY_PREFIX = "proxy.kubernetes.";
@@ -136,6 +138,10 @@ public class KubernetesBackend extends AbstractContainerBackend {
136138

137139
private KubernetesManifestsRemover kubernetesManifestsRemover;
138140

141+
private Boolean logManifests;
142+
143+
private final ObjectMapper writer = new ObjectMapper(new YAMLFactory());
144+
139145
@Override
140146
public void initialize() throws ContainerProxyException {
141147
super.initialize();
@@ -157,6 +163,7 @@ public void initialize() throws ContainerProxyException {
157163

158164
kubeClient = new DefaultKubernetesClient(configBuilder.build());
159165
kubernetesManifestsRemover = new KubernetesManifestsRemover(kubeClient, getAppNamespaces(), identifierService);
166+
logManifests = environment.getProperty(DEBUG_PROPERTY, Boolean.class, false);
160167
}
161168

162169
public void initialize(KubernetesClient client) {
@@ -472,10 +479,10 @@ private JsonPatch readPatchFromSpec(KubernetesSpecExtension specExtension) throw
472479
* The resource will only be created if it does not already exist.
473480
*/
474481
private void createAdditionalManifests(Proxy proxy, KubernetesSpecExtension specExtension, String namespace) throws JsonProcessingException {
475-
for (GenericKubernetesResource fullObject: parseAdditionalManifests(proxy.getUserId(), proxy.getSpecId(), namespace, specExtension.getKubernetesAdditionalManifests(), false)) {
482+
for (GenericKubernetesResource fullObject: parseAdditionalManifests(proxy, namespace, specExtension.getKubernetesAdditionalManifests(), false)) {
476483
applyAdditionalManifest(proxy, fullObject);
477484
}
478-
for (GenericKubernetesResource fullObject: parseAdditionalManifests(proxy.getUserId(), proxy.getSpecId(), namespace, specExtension.getKubernetesAdditionalPersistentManifests(), true)) {
485+
for (GenericKubernetesResource fullObject: parseAdditionalManifests(proxy, namespace, specExtension.getKubernetesAdditionalPersistentManifests(), true)) {
479486
applyAdditionalManifest(proxy, fullObject);
480487
}
481488
}
@@ -518,7 +525,7 @@ private void applyAdditionalManifest(Proxy proxy, GenericKubernetesResource reso
518525
* When the resource has no namespace definition, the provided namespace
519526
* parameter will be used.
520527
*/
521-
private List<GenericKubernetesResource> parseAdditionalManifests(String userId, String specId, String namespace, List<String> manifests, Boolean persistent) throws JsonProcessingException {
528+
private List<GenericKubernetesResource> parseAdditionalManifests(Proxy proxy, String namespace, List<String> manifests, Boolean persistent) throws JsonProcessingException {
522529
ArrayList<GenericKubernetesResource> result = new ArrayList<>();
523530
for (String manifest : manifests) {
524531
GenericKubernetesResource object = Serialization.yamlMapper().readValue(manifest, GenericKubernetesResource.class);
@@ -537,12 +544,12 @@ private List<GenericKubernetesResource> parseAdditionalManifests(String userId,
537544
}
538545
fullObject.getMetadata().getLabels().put("openanalytics.eu/sp-additional-manifest", "true");
539546
fullObject.getMetadata().getLabels().put("openanalytics.eu/sp-persistent-manifest", persistent.toString());
540-
fullObject.getMetadata().getLabels().put("openanalytics.eu/sp-manifest-id", kubernetesManifestsRemover.getManifestId(specId, userId));
547+
fullObject.getMetadata().getLabels().put("openanalytics.eu/sp-manifest-id", kubernetesManifestsRemover.getManifestId(proxy.getSpecId(), proxy.getUserId()));
548+
549+
if (logManifests) {
550+
slog.info(proxy, "Creating additional manifest: \n" + writer.writeValueAsString(fullObject));
551+
}
541552

542-
// TODO annotations
543-
// fullObject.getMetadata().getLabels().put("openanalytics.eu/sp-realm", identifierService.realmId);
544-
// fullObject.getMetadata().getLabels().put("openanalytics.eu/sp-spec-id", specId);
545-
// fullObject.getMetadata().getLabels().put("openanalytics.eu/sp-uer-id", specId);
546553
result.add(fullObject);
547554
}
548555
return result;

src/main/java/eu/openanalytics/containerproxy/backend/kubernetes/PodPatcher.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
@Component
3939
public class PodPatcher {
4040

41-
private static final String DEBUG_PROPERTY = "proxy.kubernetes.debug-patches";
41+
public static final String DEBUG_PROPERTY = "proxy.kubernetes.debug-patches";
4242

4343
@Inject
4444
private Environment environment;
@@ -54,7 +54,7 @@ public class PodPatcher {
5454
public void init() {
5555
mapper.registerModule(new JSR353Module());
5656
writer.registerModule(new JSR353Module());
57-
loggingEnabled = Boolean.valueOf(environment.getProperty(DEBUG_PROPERTY, "false"));
57+
loggingEnabled = environment.getProperty(DEBUG_PROPERTY, Boolean.class, false);
5858
}
5959

6060
/**
@@ -80,7 +80,6 @@ public Pod patch(Pod pod, JsonPatch patch) {
8080
* enabled the original and patched specification will be logged as YAML.
8181
*/
8282
public Pod patchWithDebug(Proxy proxy, Pod pod, JsonPatch patch) throws JsonProcessingException {
83-
// TODO pretty print
8483
if (loggingEnabled) {
8584
log.info(proxy, "Original Pod: \n" + writer.writeValueAsString(pod));
8685
}

0 commit comments

Comments
 (0)