acrlabs / simkube

Record-and-replay Kubernetes simulator based on KWOK
https://appliedcomputing.io/simkube
MIT License
164 stars 7 forks source link

Run one simulation at a time #109

Closed drmorr0 closed 2 months ago

drmorr0 commented 3 months ago

Description

Testing done

Additional info

Resolves #58

codecov[bot] commented 3 months ago

Codecov Report

Attention: Patch coverage is 92.77778% with 13 lines in your changes are missing coverage. Please review.

Project coverage is 74.39%. Comparing base (c4f4259) to head (a9ceddf).

Files Patch % Lines
ctrl/controller.rs 56.25% 7 Missing :warning:
driver/main.rs 0.00% 2 Missing :warning:
driver/runner.rs 83.33% 2 Missing :warning:
cli/snapshot.rs 0.00% 1 Missing :warning:
ctrl/cert_manager.rs 0.00% 1 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #109 +/- ## ========================================== + Coverage 73.38% 74.39% +1.00% ========================================== Files 36 37 +1 Lines 1924 2023 +99 ========================================== + Hits 1412 1505 +93 - Misses 512 518 +6 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

drmorr0 commented 3 months ago

Kubernetes Object DAG

%%{init: {'themeVariables': {'mainBkg': '#ddd'}}}%%
graph LR

classDef default color:#000
subgraph global
  direction LR
  global/simkube[<b>Namespace</b><br>simkube]
%% DELETED OBJECTS START
%% DELETED OBJECTS END
end

subgraph sk-tracer
  direction LR
  simkube/sk-tracer-svc[<b>Service</b><br>sk-tracer-svc]
  simkube/sk-tracer-depl[<b>Deployment</b><br>sk-tracer-depl]
  simkube/sk-tracer-sa[<b>ServiceAccount</b><br>sk-tracer-sa]
  sk-tracer/sk-tracer-crb[<b>ClusterRoleBinding</b><br>sk-tracer-crb]
  simkube/sk-tracer-tracer-config[<b>ConfigMap</b><br>sk-tracer-tracer-config]
  simkube/sk-tracer-sa--->simkube/sk-tracer-depl
  sk-tracer/sk-tracer-crb--->simkube/sk-tracer-depl
  simkube/sk-tracer-tracer-config--->simkube/sk-tracer-depl
%% DELETED OBJECTS START
%% DELETED OBJECTS END
end

subgraph sk-ctrl
  direction LR
  simkube/sk-ctrl-depl[<b>Deployment</b><br>sk-ctrl-depl]
  simkube/sk-ctrl-sa[<b>ServiceAccount</b><br>sk-ctrl-sa]
  sk-ctrl/sk-ctrl-crb[<b>ClusterRoleBinding</b><br>sk-ctrl-crb]
  simkube/sk-ctrl-sa--->simkube/sk-ctrl-depl
  sk-ctrl/sk-ctrl-crb--->simkube/sk-ctrl-depl
%% DELETED OBJECTS START
%% DELETED OBJECTS END
end

subgraph test
  direction LR
  simkube/test-depl[<b>Deployment</b><br>test-depl]
%% DELETED OBJECTS START
%% DELETED OBJECTS END
end

global--->sk-tracer
global--->sk-ctrl
global--->test

%% STYLE DEFINITIONS START
  style simkube/sk-ctrl-depl fill:#cb4
%% STYLE DEFINITIONS END

New object Deleted object Updated object Updated object (causes pod recreation)

Detailed Diff

#### simkube/sk-ctrl-depl: ChangedWithPodRecreate ``` root['spec']['template']['spec']['containers'][0]['env'][2]['name']: "POD_OWNER" --> "CTRL_NAMESPACE" ``` ``` root['spec']['template']['spec']['containers'][0]['env'][3]: not present --> { "name": "POD_OWNER", "value": "sk-ctrl-depl" } ``` ``` root['spec']['template']['spec']['containers'][0]['env'][2]['value']: "sk-ctrl-depl" --> not present ``` ``` root['spec']['template']['spec']['containers'][0]['env'][2]['valueFrom']: not present --> { "fieldRef": { "fieldPath": "metadata.namespace" } } ```