krane 2.4.3 → 2.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +20 -0
- data/lib/krane/kubernetes_resource/daemon_set.rb +1 -1
- data/lib/krane/kubernetes_resource/pod.rb +9 -1
- data/lib/krane/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3efffadcb3741041089702a861ec5895261b3a47a4b3bee3ab2290f2d47b237e
|
4
|
+
data.tar.gz: fd9d8eda29c43146a4754e55321e0546244ef79ce67d534895b5c159b55399e2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e5f7a84718bf3be365a9947cbb7124f2ca6df5967dd39694ce0882bbfd620e488e91610ccc284d33a04d0af2471b3fc11f42b79853db0c20e87b6babc69adeb2
|
7
|
+
data.tar.gz: 57ed1f07880d46fd2bf5388bb7ae9bb3bb5f50aa4ec001e7d095d9cadf66e01952f0082bc3bd3f0115dcab3afa531f07d709404c6cfcafc93941a48a55941fbb
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,25 @@
|
|
1
1
|
## next
|
2
2
|
|
3
|
+
## 2.4.6
|
4
|
+
|
5
|
+
*Bug fixes*
|
6
|
+
|
7
|
+
- Extend [#886](https://github.com/Shopify/krane/pull/886) to not only secrets but anything that doesn't match `failed to sync %s cache` [#886](https://github.com/Shopify/krane/pull/886)
|
8
|
+
It seems an issue when too many pods are referencing the same secret/configmap https://github.com/kubernetes/kubernetes/pull/74755, so instead of failing fast, it'll now let the resources attempt to succeed.
|
9
|
+
- Add missing unit test for above feature.
|
10
|
+
|
11
|
+
## 2.4.5
|
12
|
+
|
13
|
+
*Bug fixes*
|
14
|
+
|
15
|
+
- Do not fail fast for CreateContainerConfigError when message include issues mounting the secret, to let the pods be recreated and possible succeed [#885](https://github.com/Shopify/krane/pull/885)
|
16
|
+
|
17
|
+
## 2.4.4
|
18
|
+
|
19
|
+
*Enhancements*
|
20
|
+
|
21
|
+
- Improve DaemonSet rollout by ignoring `Evicted` Pods [#883](https://github.com/Shopify/krane/pull/883)
|
22
|
+
|
3
23
|
## 2.4.3
|
4
24
|
|
5
25
|
*Enhancements*
|
@@ -59,7 +59,7 @@ module Krane
|
|
59
59
|
def relevant_pods_ready?
|
60
60
|
return true if rollout_data["desiredNumberScheduled"].to_i == rollout_data["numberReady"].to_i # all pods ready
|
61
61
|
relevant_node_names = @nodes.map(&:name)
|
62
|
-
considered_pods = @pods.select { |p| relevant_node_names.include?(p.node_name) }
|
62
|
+
considered_pods = @pods.select { |p| relevant_node_names.include?(p.node_name) && !p.evicted? }
|
63
63
|
@logger.debug("DaemonSet is reporting #{rollout_data['numberReady']} pods ready." \
|
64
64
|
" Considered #{considered_pods.size} pods out of #{@pods.size} for #{@nodes.size} nodes.")
|
65
65
|
considered_pods.present? &&
|
@@ -105,6 +105,10 @@ module Krane
|
|
105
105
|
@instance_data.dig('spec', 'nodeName')
|
106
106
|
end
|
107
107
|
|
108
|
+
def evicted?
|
109
|
+
phase == "Failed" && reason == "Evicted"
|
110
|
+
end
|
111
|
+
|
108
112
|
private
|
109
113
|
|
110
114
|
def failed_schedule_reason
|
@@ -225,7 +229,11 @@ module Krane
|
|
225
229
|
elsif limbo_reason == "ErrImagePull" && limbo_message.match(/not found/i)
|
226
230
|
"Failed to pull image #{@image}. "\
|
227
231
|
"Did you wait for it to be built and pushed to the registry before deploying?"
|
228
|
-
|
232
|
+
# Only fail fast when message doesn't include `failed to sync %s cache`.
|
233
|
+
# It's possible that a secret/configmap is still trying to be mounted to the pod, it seems related
|
234
|
+
# to too many pods referencing the same secret/configmap: https://github.com/kubernetes/kubernetes/pull/74755
|
235
|
+
# Error message format source: https://github.com/kubernetes/kubernetes/pull/75260
|
236
|
+
elsif limbo_reason == "CreateContainerConfigError" && !limbo_message.match("failed to sync (.*?) cache")
|
229
237
|
"Failed to generate container configuration: #{limbo_message}"
|
230
238
|
elsif @status.dig("lastState", "terminated", "reason") == "ContainerCannotRun"
|
231
239
|
# ref: https://github.com/kubernetes/kubernetes/blob/562e721ece8a16e05c7e7d6bdd6334c910733ab2/pkg/kubelet/dockershim/docker_container.go#L353
|
data/lib/krane/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: krane
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.4.
|
4
|
+
version: 2.4.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Katrina Verey
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: exe
|
12
12
|
cert_chain: []
|
13
|
-
date: 2022-
|
13
|
+
date: 2022-04-05 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activesupport
|