helm_upgrade_logs 0.3.2 → 0.3.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5413c44c5fabf6be263e3a827492c64fe16e3551f50c95d12d645a2b77a4fc1b
4
- data.tar.gz: 6819b933e6b024192bc105b63e043797b40e65574e489059b89485c21c813ca4
3
+ metadata.gz: '0984598273cbd41ca2d6fa3b727f1a5bcb723e771c0fa7ed8acf1a1e6ba0ab5b'
4
+ data.tar.gz: f44847d139474e405d525500cfbd1fe048d36c60d7452be9c72578c8be5251ce
5
5
  SHA512:
6
- metadata.gz: a85680b3534a9be3dae6b6cd639ab301343566da90a5aaa902e8804a33eec500b3eea3668f9084e866c3dcd88bc2d7227cb8cbecc1c7277bd1b0adc304cae2be
7
- data.tar.gz: 6a27d029fd165bbefd3e94f28f45959f6054b421d0264f866f86191512ab02187889ebc0281d6bd791cc4c2ebfb4db722e7f36677372ce53ccadc9ad33cb4e3f
6
+ metadata.gz: 31c657f1b1c17b07772ea106ee40f7d9dde3b1a272d3d34477c40257ebf7cf013ffe406eb8ff121e9df631f616d7292e5783d00fa2e5bdfadd1cc6a0d8d1f427
7
+ data.tar.gz: bf1ad1e99ff2d571094d1abf0ac8c2b822a3f63452083b5fa7ecc366454d4f1ccfb732b7a9d1cb93c672f06a27c49f6a35c2a246b6c81420a9cfbec4917bf311
data/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## [0.3.5]
2
+
3
+ - Fix error where multiple processes being spawned to log the same pod
4
+
5
+ ## [0.3.4]
6
+
7
+ - Only log to folder if `helm_upgrade_logs_error_msg` env variable set
8
+
9
+ ## [0.3.3]
10
+
11
+ - Run force kill on processes to ensure they stop
12
+
1
13
  ## [0.3.2]
2
14
 
3
15
  - ADO error and normal error don't need to both be displayed
@@ -26,12 +26,12 @@ wait_for_pod_to_log
26
26
  begin
27
27
  Process.waitpid(@helm_pid, Process::WNOHANG)
28
28
  rescue Errno::ECHILD
29
- `kill #{event_pid}`
30
- `kill #{service_pid}`
29
+ Process.kill("KILL", event_pid)
30
+ Process.kill("KILL", service_pid)
31
31
  raise HelmUpgradeLogs::Error, "Failed to find logs before helm finished"
32
32
  end
33
33
 
34
- FileUtils.mkdir_p UPGRADE_LOG_FOLDER
34
+ FileUtils.mkdir_p(UPGRADE_LOG_FOLDER) if ENV["helm_upgrade_logs_error_msg"]
35
35
 
36
36
  while Process.waitpid(@helm_pid, Process::WNOHANG).nil?
37
37
  pods = read_pods - pods_before_upgrade
@@ -46,24 +46,35 @@ while Process.waitpid(@helm_pid, Process::WNOHANG).nil?
46
46
  std_out_pid = Process.spawn(
47
47
  add_ns("kubectl logs #{pod} -f --all-containers --prefix --ignore-errors=true --timestamps=true")
48
48
  )
49
+ @pod_pids[pod] = std_out_pid
50
+ next unless ENV["helm_upgrade_logs_error_msg"]
51
+
49
52
  logfile_pid = Process.spawn(
50
53
  add_ns("kubectl logs #{pod} -f --all-containers --prefix --ignore-errors=true --timestamps=true"),
51
54
  out: "#{UPGRADE_LOG_FOLDER}/#{pod.gsub("/", "_")}.log"
52
55
  )
53
- @pod_pids["#{pod}_stdout"] = std_out_pid
54
56
  @pod_pids["#{pod}_fileout"] = logfile_pid
55
57
  end
56
58
  end
57
59
  sleep 1
58
60
  end
61
+ puts "[INFO] Cleaning up loggers after helm upgrade"
59
62
  helm_status = $CHILD_STATUS.exitstatus
60
- `kill #{event_pid}`
61
- `kill #{service_pid}`
62
- puts @pod_pids if ENV["helm_upgrade_logs_debug"] == "true"
63
+ Process.kill("KILL", event_pid)
64
+ Process.wait event_pid
65
+ Process.kill("KILL", service_pid)
66
+ Process.wait service_pid
67
+
68
+ if ENV["helm_upgrade_logs_debug"] == "true"
69
+ puts "[INFO] Log processes"
70
+ puts @pod_pids
71
+ end
63
72
  @pod_pids.each do |_pod, pid|
64
73
  puts "Terminating #{_pod} #{pid}" if ENV["helm_upgrade_logs_debug"] == "true"
65
- `kill #{pid}`
74
+ Process.kill("KILL", pid)
75
+ Process.wait pid
66
76
  end
77
+ puts `ps` if ENV["helm_upgrade_logs_debug"] == "true"
67
78
 
68
79
  if ENV["helm_upgrade_logs_error_msg"]
69
80
  pod_logs_files = Dir.glob("#{UPGRADE_LOG_FOLDER}/*.log")
@@ -2,5 +2,5 @@
2
2
 
3
3
  module HelmUpgradeLogs
4
4
  # @return [String] Version of helm upgrade logs
5
- VERSION = "0.3.2"
5
+ VERSION = "0.3.5"
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: helm_upgrade_logs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Garratt
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-06-29 00:00:00.000000000 Z
11
+ date: 2022-06-30 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Basic wrapper around helm and kubectl to allow easy debugging of a helm
14
14
  release. All arguments after a usual helm upgrade are used as normal