Skip to content

Commit

Permalink
fix(kubernetes): Fixes to ensure CRD events are reported in deploy st…
Browse files Browse the repository at this point in the history
…age (#4753)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
  • Loading branch information
hkumarsulochana and mergify[bot] committed Jul 22, 2020
1 parent 2a89348 commit 2c0f026
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
import java.util.concurrent.ConcurrentHashMap;
import javax.annotation.Nullable;
import lombok.EqualsAndHashCode;
import lombok.Getter;

@EqualsAndHashCode(onlyExplicitlyIncluded = true)
@NonnullByDefault
Expand Down Expand Up @@ -105,9 +106,9 @@ public class KubernetesKind {
// kind is not in spinnaker's registry
public static final KubernetesKind NONE = createWithAlias("none", null, KubernetesApiGroup.NONE);

private final String name;
@Getter private final String name;
@EqualsAndHashCode.Include private final String lcName;
private final KubernetesApiGroup apiGroup;
@Getter private final KubernetesApiGroup apiGroup;
@EqualsAndHashCode.Include @Nullable private final KubernetesApiGroup customApiGroup;

private KubernetesKind(String name, @Nullable KubernetesApiGroup apiGroup) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,11 @@ private Map<String, Object> getMetadata() {
return getRequiredField(this, "metadata");
}

@JsonIgnore
public Map<String, String> getInvolvedObject() {
return getRequiredField(this, "involvedObject");
}

@JsonIgnore
public String getName() {
return (String) getMetadata().get("name");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
import com.netflix.spinnaker.clouddriver.kubernetes.description.JsonPatch;
import com.netflix.spinnaker.clouddriver.kubernetes.description.KubernetesPatchOptions;
import com.netflix.spinnaker.clouddriver.kubernetes.description.KubernetesPodMetric;
import com.netflix.spinnaker.clouddriver.kubernetes.description.manifest.KubernetesApiGroup;
import com.netflix.spinnaker.clouddriver.kubernetes.description.manifest.KubernetesKind;
import com.netflix.spinnaker.clouddriver.kubernetes.description.manifest.KubernetesManifest;
import com.netflix.spinnaker.clouddriver.kubernetes.security.KubernetesSelectorList;
Expand Down Expand Up @@ -373,7 +374,7 @@ public ImmutableList<KubernetesManifest> eventsFor(
command.add(
String.format(
"involvedObject.name=%s,involvedObject.kind=%s",
name, StringUtils.capitalize(kind.toString())));
name, StringUtils.capitalize(kind.getName())));

JobResult<ImmutableList<KubernetesManifest>> status =
jobExecutor.runJob(new JobRequest(command), parseManifestList());
Expand All @@ -387,7 +388,13 @@ public ImmutableList<KubernetesManifest> eventsFor(
return ImmutableList.of();
}

return status.getOutput();
return status.getOutput().stream()
.filter(
x ->
x.getInvolvedObject()
.getOrDefault("apiVersion", KubernetesApiGroup.NONE.toString())
.startsWith(kind.getApiGroup().toString()))
.collect(ImmutableList.toImmutableList());
}

@Nonnull
Expand Down

0 comments on commit 2c0f026

Please sign in to comment.