Skip to content

Commit 07859ce

Browse files
authored
chore(push): Update chaos-ci-lib with latest litmus-1.11.1 (#5)
Signed-off-by: udit <[email protected]>
1 parent fc0742d commit 07859ce

9 files changed

+68
-64
lines changed

pkg/file.go

+29
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,35 @@ func EditKeyValue(filepath, key, oldvalue, newvalue string) error {
5555
return nil
5656
}
5757

58+
// AddAfterMatch will add a new line when a match is found
59+
func AddAfterMatch(filepath, key, newvalue string) error {
60+
failFlag := true
61+
fileData, err := ioutil.ReadFile(filepath)
62+
if err != nil {
63+
return errors.Wrapf(err, "Failed to read the given file, due to:%v", err)
64+
}
65+
lines := strings.Split(string(fileData), "\n")
66+
67+
for i, line := range lines {
68+
if strings.Contains(line, key) {
69+
lines = append(lines, "")
70+
copy(lines[i+2:], lines[i+1:])
71+
lines[i+1] = newvalue
72+
failFlag = false
73+
}
74+
}
75+
if failFlag {
76+
return errors.Errorf("Error in adding \"%v\", \"%v\" not found ", newvalue, key)
77+
}
78+
output := strings.Join(lines, "\n")
79+
err = ioutil.WriteFile(filepath, []byte(output), 0644)
80+
if err != nil {
81+
return errors.Wrapf(err, "Failed to write the data in the given file, due to:%v", err)
82+
}
83+
84+
return nil
85+
}
86+
5887
// DownloadFile will download a url to a local file. It's efficient because it will
5988
// write as it downloads and not load the whole file into memory.
6089
func DownloadFile(filepath string, url string) error {

tests/container-kill_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ var _ = Describe("BDD of container-kill experiment", func() {
8181
Expect(err).To(BeNil(), "Failed to update the total chaos duration")
8282
err = pkg.EditKeyValue(experimentName+"-ce.yaml", "CONTAINER_RUNTIME", "value: 'docker'", "value: '"+pkg.GetEnv("CONTAINER_RUNTIME", "docker")+"'")
8383
Expect(err).To(BeNil(), "Fail to update the network runtime")
84-
err = pkg.EditKeyValue(experimentName+"-ce.yaml", "SOCKET_PATH", "value: '/run/containerd/containerd.sock'", "value: '"+pkg.GetEnv("SOCKET_PATH", "/run/containerd/containerd.sock")+"'")
84+
err = pkg.EditKeyValue(experimentName+"-ce.yaml", "SOCKET_PATH", "value: '/var/run/docker.sock'", "value: '"+pkg.GetEnv("SOCKET_PATH", "/run/containerd/containerd.sock")+"'")
8585
Expect(err).To(BeNil(), "Fail to update the socket path env")
8686

8787
//Creating ChaosEngine

tests/pod-cpu-hog_test.go

+4-6
Original file line numberDiff line numberDiff line change
@@ -77,12 +77,10 @@ var _ = Describe("BDD of pod-cpu-hog experiment", func() {
7777
Expect(err).To(BeNil(), "Failed to update total chaos duration")
7878
err = pkg.EditKeyValue(experimentName+"-ce.yaml", "NODE_CPU_CORE", "value: ''", "value: '"+pkg.GetEnv("CPU_CORES", "1")+"'")
7979
Expect(err).To(BeNil(), "Failed to update the cpu cores")
80-
err = pkg.EditKeyValue(experimentName+"-ce.yaml", "TARGET_CONTAINER", "value: 'nginx'", "value: '"+pkg.GetEnv("TARGET_CONTAINER", "nginx")+"'")
81-
Expect(err).To(BeNil(), "Failed to update the target container name")
82-
err = pkg.EditKeyValue(experimentName+"-ce.yaml", "CHAOS_KILL_COMMAND", "value: \"kill -9 $(ps afx | grep \"[md5sum] /dev/zero\" | awk '{print$1}' | tr '\n' ' ')\"", "value: '"+pkg.GetEnv("CHAOS_KILL_COMMAND", "\"kill -9 $(ps afx | grep \"[md5sum] /dev/zero\" | awk '{print$1}' | tr '\n' ' ')\"")+"'")
83-
Expect(err).To(BeNil(), "Failed to update the chaos kill command")
84-
err = pkg.EditKeyValue(experimentName+"-ce.yaml", "CHAOS_INJECT_COMMAND", "value: 'md5sum /dev/zero'", "value: '"+pkg.GetEnv("CHAOS_INJECT_COMMAND", "md5sum /dev/zero")+"'")
85-
Expect(err).To(BeNil(), "Failed to update the chaos inject command")
80+
err = pkg.AddAfterMatch(experimentName+"-ce.yaml", "value: '60'", "\n - name: CHAOS_INJECT_COMMAND\n value: '"+pkg.GetEnv("CHAOS_INJECT_COMMAND", "md5sum /dev/zero")+"'")
81+
Expect(err).To(BeNil(), "Failed to add the chaos inject command")
82+
err = pkg.AddAfterMatch(experimentName+"-ce.yaml", "value: '60'", "\n - name: CHAOS_KILL_COMMAND\n value: "+pkg.GetEnv("CHAOS_KILL_COMMAND", "kill -9 $(ps afx | grep \"[md5sum] /dev/zero\" | awk '{print$1}' | tr '\\n' ' ')")+"")
83+
Expect(err).To(BeNil(), "Failed to add the chaos kill command")
8684

8785
//Creating ChaosEngine
8886
By("Creating ChaosEngine")

tests/pod-memory-hog_test.go

+2-4
Original file line numberDiff line numberDiff line change
@@ -77,10 +77,8 @@ var _ = Describe("BDD of pod-memory-hog experiment", func() {
7777
Expect(err).To(BeNil(), "Failed to update total chaos duration")
7878
err = pkg.EditKeyValue(experimentName+"-ce.yaml", "NODE_CPU_CORE", "value: ''", "value: '"+pkg.GetEnv("MEMORY_CONSUMPTION", "500")+"'")
7979
Expect(err).To(BeNil(), "Failed to update the memory consumption in megabytes")
80-
err = pkg.EditKeyValue(experimentName+"-ce.yaml", "TARGET_CONTAINER", "value: 'nginx'", "value: '"+pkg.GetEnv("TARGET_CONTAINER", "nginx")+"'")
81-
Expect(err).To(BeNil(), "Failed to update the target container name")
82-
err = pkg.EditKeyValue(experimentName+"-ce.yaml", "CHAOS_KILL_COMMAND", "value: \"kill -9 $(ps afx | grep \"[md5sum] /dev/zero\" | awk '{print$1}' | tr '\n' ' ')\"", "value: '"+pkg.GetEnv("CHAOS_KILL_COMMAND", "\"kill -9 $(ps afx | grep \"[md5sum] /dev/zero\" | awk '{print$1}' | tr '\n' ' ')\"")+"'")
83-
Expect(err).To(BeNil(), "Failed to update the chaos kill command")
80+
err = pkg.AddAfterMatch(experimentName+"-ce.yaml", "value: '60'", "\n - name: CHAOS_KILL_COMMAND\n value: "+pkg.GetEnv("CHAOS_KILL_COMMAND", "kill -9 $(ps afx | grep \"[md5sum] /dev/zero\" | awk '{print$1}' | tr '\\n' ' ')")+"")
81+
Expect(err).To(BeNil(), "Failed to add the chaos kill command")
8482

8583
//Creating ChaosEngine
8684
By("Creating ChaosEngine")

tests/pod-network-corruption_test.go

+1-3
Original file line numberDiff line numberDiff line change
@@ -77,11 +77,9 @@ var _ = Describe("BDD of pod-network-corruption experiment", func() {
7777
Expect(err).To(BeNil(), "Failed to update total chaos duration")
7878
err = pkg.EditKeyValue(experimentName+"-ce.yaml", "NETWORK_INTERFACE", "value: ''", "value: '"+pkg.GetEnv("NETWORK_INTERFACE", "eth0")+"'")
7979
Expect(err).To(BeNil(), "Failed to update the network interface")
80-
err = pkg.EditKeyValue(experimentName+"-ce.yaml", "TARGET_CONTAINER", "value: 'nginx'", "value: '"+pkg.GetEnv("TARGET_CONTAINER", "nginx")+"'")
81-
Expect(err).To(BeNil(), "Failed to update the target container name")
8280
err = pkg.EditKeyValue(experimentName+"-ce.yaml", "CONTAINER_RUNTIME", "value: 'docker'", "value: '"+pkg.GetEnv("CONTAINER_RUNTIME", "docker")+"'")
8381
Expect(err).To(BeNil(), "Fail to update the network runtime")
84-
err = pkg.EditKeyValue(experimentName+"-ce.yaml", "SOCKET_PATH", "value: '/run/containerd/containerd.sock'", "value: '"+pkg.GetEnv("SOCKET_PATH", "/run/containerd/containerd.sock")+"'")
82+
err = pkg.EditKeyValue(experimentName+"-ce.yaml", "SOCKET_PATH", "value: '/var/run/docker.sock'", "value: '"+pkg.GetEnv("SOCKET_PATH", "/run/containerd/containerd.sock")+"'")
8583
Expect(err).To(BeNil(), "Fail to update the socket path env")
8684

8785
//Creating ChaosEngine

tests/pod-network-duplication_test.go

+1-3
Original file line numberDiff line numberDiff line change
@@ -77,11 +77,9 @@ var _ = Describe("BDD of pod-network-duplication experiment", func() {
7777
Expect(err).To(BeNil(), "Failed to update total chaos duration")
7878
err = pkg.EditKeyValue(experimentName+"-ce.yaml", "NETWORK_INTERFACE", "value: ''", "value: '"+pkg.GetEnv("NETWORK_INTERFACE", "eth0")+"'")
7979
Expect(err).To(BeNil(), "Failed to update the network interface")
80-
err = pkg.EditKeyValue(experimentName+"-ce.yaml", "TARGET_CONTAINER", "value: 'nginx'", "value: '"+pkg.GetEnv("TARGET_CONTAINER", "nginx")+"'")
81-
Expect(err).To(BeNil(), "Failed to update the target container name")
8280
err = pkg.EditKeyValue(experimentName+"-ce.yaml", "CONTAINER_RUNTIME", "value: 'docker'", "value: '"+pkg.GetEnv("CONTAINER_RUNTIME", "docker")+"'")
8381
Expect(err).To(BeNil(), "Fail to update the network runtime")
84-
err = pkg.EditKeyValue(experimentName+"-ce.yaml", "SOCKET_PATH", "value: '/run/containerd/containerd.sock'", "value: '"+pkg.GetEnv("SOCKET_PATH", "/run/containerd/containerd.sock")+"'")
82+
err = pkg.EditKeyValue(experimentName+"-ce.yaml", "SOCKET_PATH", "value: '/var/run/docker.sock'", "value: '"+pkg.GetEnv("SOCKET_PATH", "/run/containerd/containerd.sock")+"'")
8583
Expect(err).To(BeNil(), "Fail to update the socket path env")
8684
err = pkg.EditKeyValue(experimentName+"-ce.yaml", "NETWORK_PACKET_DUPLICATION_PERCENTAGE", "value: '100'", "value: '"+pkg.GetEnv("NETWORK_PACKET_DUPLICATION_PERCENTAGE", "100")+"'")
8785
Expect(err).To(BeNil(), "Fail to update the network packet duplication percentage env")

tests/pod-network-latency_test.go

+1-3
Original file line numberDiff line numberDiff line change
@@ -77,13 +77,11 @@ var _ = Describe("BDD of pod-network-latency experiment", func() {
7777
Expect(err).To(BeNil(), "Failed to update total chaos duration")
7878
err = pkg.EditKeyValue(experimentName+"-ce.yaml", "NETWORK_INTERFACE", "value: ''", "value: '"+pkg.GetEnv("NETWORK_INTERFACE", "eth0")+"'")
7979
Expect(err).To(BeNil(), "Failed to update the network interface")
80-
err = pkg.EditKeyValue(experimentName+"-ce.yaml", "TARGET_CONTAINER", "value: 'nginx'", "value: '"+pkg.GetEnv("TARGET_CONTAINER", "nginx")+"'")
81-
Expect(err).To(BeNil(), "Failed to update the target container name")
8280
err = pkg.EditKeyValue(experimentName+"-ce.yaml", "NETWORK_LATENCY", "value: 'nginx'", "value: '"+pkg.GetEnv("NETWORK_LATENCY", "60000")+"'")
8381
Expect(err).To(BeNil(), "Failed to update the network latency value")
8482
err = pkg.EditKeyValue(experimentName+"-ce.yaml", "CONTAINER_RUNTIME", "value: 'docker'", "value: '"+pkg.GetEnv("CONTAINER_RUNTIME", "docker")+"'")
8583
Expect(err).To(BeNil(), "Fail to update the network runtime")
86-
err = pkg.EditKeyValue(experimentName+"-ce.yaml", "SOCKET_PATH", "value: '/run/containerd/containerd.sock'", "value: '"+pkg.GetEnv("SOCKET_PATH", "/run/containerd/containerd.sock")+"'")
84+
err = pkg.EditKeyValue(experimentName+"-ce.yaml", "SOCKET_PATH", "value: '/var/run/docker.sock'", "value: '"+pkg.GetEnv("SOCKET_PATH", "/run/containerd/containerd.sock")+"'")
8785
Expect(err).To(BeNil(), "Fail to update the socket path env")
8886

8987
//Creating ChaosEngine

tests/pod-network-loss_test.go

+1-3
Original file line numberDiff line numberDiff line change
@@ -77,13 +77,11 @@ var _ = Describe("BDD of pod-network-loss experiment", func() {
7777
Expect(err).To(BeNil(), "Failed to update total chaos duration")
7878
err = pkg.EditKeyValue(experimentName+"-ce.yaml", "NETWORK_INTERFACE", "value: ''", "value: '"+pkg.GetEnv("NETWORK_INTERFACE", "eth0")+"'")
7979
Expect(err).To(BeNil(), "Failed to update the network interface")
80-
err = pkg.EditKeyValue(experimentName+"-ce.yaml", "TARGET_CONTAINER", "value: 'nginx'", "value: '"+pkg.GetEnv("TARGET_CONTAINER", "nginx")+"'")
81-
Expect(err).To(BeNil(), "Failed to update the target container name")
8280
err = pkg.EditKeyValue(experimentName+"-ce.yaml", "NETWORK_PACKET_LOSS_PERCENTAGE", "value: 'nginx'", "value: '"+pkg.GetEnv("NETWORK_PACKET_LOSS_PERCENTAGE", "100")+"'")
8381
Expect(err).To(BeNil(), "Failed to update the network packet loss percentage")
8482
err = pkg.EditKeyValue(experimentName+"-ce.yaml", "CONTAINER_RUNTIME", "value: 'docker'", "value: '"+pkg.GetEnv("CONTAINER_RUNTIME", "docker")+"'")
8583
Expect(err).To(BeNil(), "Fail to update the network runtime")
86-
err = pkg.EditKeyValue(experimentName+"-ce.yaml", "SOCKET_PATH", "value: '/run/containerd/containerd.sock'", "value: '"+pkg.GetEnv("SOCKET_PATH", "/run/containerd/containerd.sock")+"'")
84+
err = pkg.EditKeyValue(experimentName+"-ce.yaml", "SOCKET_PATH", "value: '/var/run/docker.sock'", "value: '"+pkg.GetEnv("SOCKET_PATH", "/run/containerd/containerd.sock")+"'")
8785
Expect(err).To(BeNil(), "Fail to update the socket path env")
8886

8987
//Creating ChaosEngine

0 commit comments

Comments
 (0)