@@ -19,7 +19,7 @@ import (
1919 v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2020)
2121
22- func experimentExecution(experimentsDetails *experimentTypes.ExperimentDetails, clients clients.ClientSets, resultDetails *types.ResultDetails, eventsDetails *types.EventDetails, chaosDetails *types.ChaosDetails) error {
22+ func experimentExecution(ctx context.Context, experimentsDetails *experimentTypes.ExperimentDetails, clients clients.ClientSets, resultDetails *types.ResultDetails, eventsDetails *types.EventDetails, chaosDetails *types.ChaosDetails) error {
2323
2424 // Get the target pod details for the chaos execution
2525 // if the target pod is not defined it will derive the random target pod list using pod affected percentage
@@ -54,10 +54,10 @@ func experimentExecution(experimentsDetails *experimentTypes.ExperimentDetails,
5454 }
5555 }
5656
57- return runChaos(experimentsDetails, targetPodList, clients, resultDetails, eventsDetails, chaosDetails)
57+ return runChaos(ctx, experimentsDetails, targetPodList, clients, resultDetails, eventsDetails, chaosDetails)
5858}
5959
60- func runChaos(experimentsDetails *experimentTypes.ExperimentDetails, targetPodList corev1.PodList, clients clients.ClientSets, resultDetails *types.ResultDetails, eventsDetails *types.EventDetails, chaosDetails *types.ChaosDetails) error {
60+ func runChaos(ctx context.Context, experimentsDetails *experimentTypes.ExperimentDetails, targetPodList corev1.PodList, clients clients.ClientSets, resultDetails *types.ResultDetails, eventsDetails *types.EventDetails, chaosDetails *types.ChaosDetails) error {
6161 if experimentsDetails.EngineName != "" {
6262 msg := "Injecting " + experimentsDetails.ExperimentName + " chaos on target pod"
6363 types.SetEngineEventAttributes(eventsDetails, types.ChaosInject, msg, "Normal", chaosDetails)
@@ -66,7 +66,7 @@ func runChaos(experimentsDetails *experimentTypes.ExperimentDetails, targetPodLi
6666
6767 // run the probes during chaos
6868 if len(resultDetails.ProbeDetails) != 0 {
69- if err := probe.RunProbes(chaosDetails, clients, resultDetails, "DuringChaos", eventsDetails); err != nil {
69+ if err := probe.RunProbes(ctx, chaosDetails, clients, resultDetails, "DuringChaos", eventsDetails); err != nil {
7070 return err
7171 }
7272 }
@@ -89,7 +89,7 @@ func runChaos(experimentsDetails *experimentTypes.ExperimentDetails, targetPodLi
8989 "Target Container": experimentsDetails.TargetContainer,
9090 })
9191
92- if err := createHelperPod(experimentsDetails, clients, chaosDetails, pod.Name, pod.Spec.NodeName, runID); err != nil {
92+ if err := createHelperPod(ctx, experimentsDetails, clients, chaosDetails, pod.Name, pod.Spec.NodeName, runID); err != nil {
9393 return stacktrace.Propagate(err, "could not create helper pod")
9494 }
9595
@@ -124,15 +124,18 @@ func runChaos(experimentsDetails *experimentTypes.ExperimentDetails, targetPodLi
124124}
125125
126126//PrepareChaos contains the preparation steps before chaos injection
127- func PrepareChaos(experimentsDetails *experimentTypes.ExperimentDetails, clients clients.ClientSets, resultDetails *types.ResultDetails, eventsDetails *types.EventDetails, chaosDetails *types.ChaosDetails) error {
127+ func PrepareChaos(ctx context.Context, experimentsDetails *experimentTypes.ExperimentDetails, clients clients.ClientSets, resultDetails *types.ResultDetails, eventsDetails *types.EventDetails, chaosDetails *types.ChaosDetails) error {
128+ // @TODO: setup tracing
129+ // ctx, span := otel.Tracer(telemetry.TracerName).Start(ctx, "name-your-chaos-fault")
130+ // defer span.End()
128131
129132 //Waiting for the ramp time before chaos injection
130133 if experimentsDetails.RampTime != 0 {
131134 log.Infof("[Ramp]: Waiting for the %vs ramp time before injecting chaos", experimentsDetails.RampTime)
132135 common.WaitForDuration(experimentsDetails.RampTime)
133136 }
134137 //Starting the CPU stress experiment
135- if err := experimentExecution(experimentsDetails, clients, resultDetails, eventsDetails, chaosDetails);err != nil {
138+ if err := experimentExecution(ctx, experimentsDetails, clients, resultDetails, eventsDetails, chaosDetails);err != nil {
136139 return stacktrace.Propagate(err, "could not execute chaos")
137140 }
138141 //Waiting for the ramp time after chaos injection
@@ -144,7 +147,10 @@ func PrepareChaos(experimentsDetails *experimentTypes.ExperimentDetails, clients
144147}
145148
146149// createHelperPod derive the attributes for helper pod and create the helper pod
147- func createHelperPod(experimentsDetails *experimentTypes.ExperimentDetails, clients clients.ClientSets, chaosDetails *types.ChaosDetails, targets, nodeName, runID string) error {
150+ func createHelperPod(ctx context.Context, experimentsDetails *experimentTypes.ExperimentDetails, clients clients.ClientSets, chaosDetails *types.ChaosDetails, targets, nodeName, runID string) error {
151+ // @TODO: setup tracing
152+ // ctx, span := otel.Tracer(telemetry.TracerName).Start(ctx, "CreateHelperPod")
153+ // defer span.End()
148154
149155 helperPod := &corev1.Pod{
150156 ObjectMeta: v1.ObjectMeta{
0 commit comments