43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
# File 'lib/krane/resource_deployer.rb', line 43
def predeploy_priority_resources(resource_list, predeploy_sequence)
bare_pods = resource_list.select { |resource| resource.is_a?(Pod) }
if bare_pods.count == 1
bare_pods.first.stream_logs = true
end
predeploy_sequence.each do |resource_type, attributes|
matching_resources = resource_list.select do |r|
r.type == resource_type &&
(!attributes[:group] || r.group == attributes[:group])
end
StatsD.client.gauge('priority_resources.count', matching_resources.size, tags: statsd_tags)
next if matching_resources.empty?
deploy_resources(matching_resources, verify: true, record_summary: false)
failed_resources = matching_resources.reject(&:deploy_succeeded?)
fail_count = failed_resources.length
if fail_count > 0
Krane::Concurrency.split_across_threads(failed_resources) do |r|
r.sync_debug_info(kubectl)
end
failed_resources.each { |r| logger.summary.add_paragraph(r.debug_message) }
raise DeploymentTimeoutError if failed_resources.all?(&:deploy_timed_out?)
raise FatalDeploymentError, "Failed to deploy #{fail_count} priority #{'resource'.pluralize(fail_count)}"
end
logger.blank_line
end
end
|