configgin 0.18.5 → 0.18.6

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: 2d250aa3c47fcfe842c8c4f3e486c16ec9b48ea99fa0efd61f5d4719cbf74049
4
- data.tar.gz: 7f60d97717a06afffd187383774b88ce34235629f28767a6bb26701c6b32e89a
3
+ metadata.gz: fc528a1d36d40fe72247b3e3073688e547791003baa85424cc35d44aec9a3e1c
4
+ data.tar.gz: 5a41e35ef7694ac29fb92128a911926091f5eaea365025ae6f1552dba635bfcd
5
5
  SHA512:
6
- metadata.gz: bef1e310e3a86b54779c77afb415172176abe2156a17ae086d59d355d09aafbe05bb0217c97af3a77a6563f46237fca34b4ee02ba6c335e919c9049f27301b48
7
- data.tar.gz: c5849fc9480b269426d0dd1dd9de590ff54045c6e536fffdfa5d6492c212b3499a0833b265b8f3b3b18835239d77c592257b86085875e188db93786dc99907c9
6
+ metadata.gz: 905fecc03d4e54c40185ebc7b589f1a01dfd728c3b59e5638cd73c8f49d256f83600c2a5c5cb695d4885f71a5f782c3e7200aa7066156f736290f200265b212d
7
+ data.tar.gz: 7da7ec67c54d3636a3460d40df4212118f8d62451e45f5e301cbcc4f24b0bd25bd006285ebf91a08a62eca63978e3f11f1c11aeb5646786af98521d040720719
data/.gitignore CHANGED
@@ -3,3 +3,4 @@ configgin-*.gem
3
3
  /vendor/sentinel
4
4
  /.bundle/
5
5
  configgin.go
6
+ _work/
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- configgin (0.18.5)
4
+ configgin (0.18.6)
5
5
  bosh-template (~> 2.0)
6
6
  deep_merge (~> 1.1)
7
7
  kubeclient (~> 2.0)
@@ -113,7 +113,7 @@ GEM
113
113
  thor (0.20.0)
114
114
  unf (0.1.4)
115
115
  unf_ext
116
- unf_ext (0.0.7.5)
116
+ unf_ext (0.0.7.6)
117
117
  unicode-display_width (1.4.0)
118
118
 
119
119
  PLATFORMS
@@ -1,3 +1,3 @@
1
1
  class Configgin
2
- VERSION = '0.18.5'.freeze
2
+ VERSION = '0.18.6'.freeze
3
3
  end
@@ -38,16 +38,29 @@ class KubeLinkSpecs
38
38
  index.chars.map { |c| chars.index(c) }.reduce(0) { |v, c| v * chars.length + c }
39
39
  end
40
40
 
41
- def _get_pods_for_role(role_name)
42
- client.get_pods(namespace: namespace, label_selector: "app.kubernetes.io/component=#{role_name}")
41
+ def _get_image_for_pod_spec(pod_spec)
42
+ pod_spec.containers.map(&:image).sort.join("\n")
43
+ end
44
+
45
+ def _get_sts_image_for_role(role_name)
46
+ statefulset = @client_stateful_set.get_stateful_set(role_name, namespace)
47
+ _get_image_for_pod_spec statefulset.spec.template.spec
48
+ end
49
+
50
+ def _get_pods_for_role(role_name, sts_image)
51
+ client
52
+ .get_pods(namespace: namespace, label_selector: "app.kubernetes.io/component=#{role_name}")
53
+ .select { |pod| _get_image_for_pod_spec(pod.spec) == sts_image }
43
54
  end
44
55
 
45
56
  def get_pods_for_role(role_name, job, options = {})
57
+ sts_image = _get_sts_image_for_role(role_name)
58
+
46
59
  loop do
47
60
  # The 30.times loop exists to print out status messages
48
61
  30.times do
49
62
  1.times do
50
- pods = _get_pods_for_role(role_name)
63
+ pods = _get_pods_for_role(role_name, sts_image)
51
64
  good_pods = pods.select do |pod|
52
65
  next false unless pod.status.podIP
53
66
  next true if pod.metadata.annotations["skiff-exported-properties-#{job}"]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: configgin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.18.5
4
+ version: 0.18.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - SUSE
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-04-05 00:00:00.000000000 Z
11
+ date: 2019-04-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -181,8 +181,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
181
181
  - !ruby/object:Gem::Version
182
182
  version: '0'
183
183
  requirements: []
184
- rubyforge_project:
185
- rubygems_version: 2.7.6
184
+ rubygems_version: 3.0.3
186
185
  signing_key:
187
186
  specification_version: 4
188
187
  summary: A simple cli app in Ruby to generate configurations using BOSH ERB templates