Skip to content

Commit aa0a065

Browse files
committed
Track in and out
1 parent 505f2cf commit aa0a065

3 files changed

Lines changed: 13 additions & 7 deletions

File tree

lib/krane/deploy_task.rb

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ class DeployTask
5757
)
5858

5959
def predeploy_sequence
60-
default_group = { skip_groups: [] }
60+
default_group = { groups: [], skip_groups: [] }
6161
before_crs = %w(
6262
ResourceQuota
6363
NetworkPolicy
@@ -71,10 +71,14 @@ def predeploy_sequence
7171

7272
after_crs = %w(
7373
Pod
74-
).map { |r| [r, default_group] }
74+
)
75+
76+
predeploy_hash = Hash[before_crs]
77+
cluster_resource_discoverer.crds.select(&:predeployed?).each do |cr|
78+
predeploy_hash[cr.kind] ||= { groups: [cr.group], skip_groups: [] }
79+
end
7580

76-
crs = cluster_resource_discoverer.crds.select(&:predeployed?).map { |cr| [cr.kind, default_group] }
77-
predeploy_hash = Hash[before_crs + crs + after_crs]
81+
after_crs.each { |cr| predeploy_hash[cr] = default_group }
7882

7983
cluster_resource_discoverer.crds.reject(&:predeployed?).each do |cr|
8084
predeploy_hash[cr.kind][:skip_groups] << cr.group if predeploy_hash[cr.kind]
@@ -222,7 +226,7 @@ def ejson_provisioners
222226
def deploy_has_priority_resources?(resources)
223227
resources.any? do |r|
224228
next unless (pr = predeploy_sequence[r.type])
225-
!pr[:skip_groups].include?(r.group)
229+
(pr[:groups].empty? || pr[:groups].include?(r.group)) && !pr[:skip_groups].include?(r.group)
226230
end
227231
end
228232

lib/krane/resource_deployer.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,9 @@ def predeploy_priority_resources(resource_list, predeploy_sequence)
4848

4949
predeploy_sequence.each do |resource_type, attributes|
5050
matching_resources = resource_list.select do |r|
51-
r.type == resource_type && !attributes[:skip_groups].include?(r.group)
51+
r.type == resource_type &&
52+
((attributes[:groups].empty? || attributes[:groups].include?(r.group)) &&
53+
!attributes[:skip_groups].include?(r.group))
5254
end
5355
StatsD.client.gauge('priority_resources.count', matching_resources.size, tags: statsd_tags)
5456

test/unit/krane/resource_deployer_test.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ def test_predeploy_priority_resources_respects_pre_deploy_list
7171
# are deployed. See test_predeploy_priority_resources_respects_empty_pre_deploy_list
7272
# for counter example
7373
Krane::ResourceWatcher.expects(:new).returns(watcher)
74-
priority_list = { kind => { group: "core" } }
74+
priority_list = { kind => { groups: ["core"], skip_groups: [] } }
7575
resource_deployer.predeploy_priority_resources([resource], priority_list)
7676
end
7777

0 commit comments

Comments
 (0)