Class: KubernetesDeploy::ReplicaSet
- Inherits:
-
PodSetBase
show all
- Defined in:
- lib/kubernetes-deploy/kubernetes_resource/replica_set.rb
Constant Summary
collapse
- TIMEOUT =
5.minutes
KubernetesResource::DEBUG_RESOURCE_NOT_FOUND_MESSAGE, KubernetesResource::DISABLED_EVENT_INFO_MESSAGE, KubernetesResource::DISABLED_LOG_INFO_MESSAGE, KubernetesResource::DISABLE_FETCHING_EVENT_INFO, KubernetesResource::DISABLE_FETCHING_LOG_INFO, KubernetesResource::GLOBAL, KubernetesResource::LAST_APPLIED_ANNOTATION, KubernetesResource::LOG_LINE_COUNT, KubernetesResource::SENSITIVE_TEMPLATE_CONTENT, KubernetesResource::STANDARD_TIMEOUT_MESSAGE, KubernetesResource::TIMEOUT_OVERRIDE_ANNOTATION, KubernetesResource::UNUSUAL_FAILURE_MESSAGE
Instance Attribute Summary collapse
#context, #deploy_started_at, #name, #namespace, #type
Instance Method Summary
collapse
Methods inherited from PodSetBase
#failure_message, #fetch_debug_logs, #fetch_events, #print_debug_logs?, #timeout_message
#<=>, #after_sync, build, class_for_kind, #current_generation, #debug_message, #deploy_method, #deploy_started?, #deploy_timed_out?, #disappeared?, #exists?, #failure_message, #fetch_events, #file_path, #global?, #id, kind, #kubectl_resource_type, #observed_generation, #pretty_status, #pretty_timeout_type, #report_status_to_statsd, #sensitive_template_content?, #sync_debug_info, #terminating?, timeout, #timeout, #timeout_message, #timeout_override, #to_kubeclient_resource, #validate_definition, #validation_error_msg, #validation_failed?
Constructor Details
#initialize(namespace:, context:, definition:, logger:, statsd_tags: nil, parent: nil, deploy_started_at: nil) ⇒ ReplicaSet
Returns a new instance of ReplicaSet.
8
9
10
11
12
13
14
15
|
# File 'lib/kubernetes-deploy/kubernetes_resource/replica_set.rb', line 8
def initialize(namespace:, context:, definition:, logger:, statsd_tags: nil,
parent: nil, deploy_started_at: nil)
@parent = parent
@deploy_started_at = deploy_started_at
@pods = []
super(namespace: namespace, context: context, definition: definition,
logger: logger, statsd_tags: statsd_tags)
end
|
Instance Attribute Details
#pods ⇒ Object
Returns the value of attribute pods.
6
7
8
|
# File 'lib/kubernetes-deploy/kubernetes_resource/replica_set.rb', line 6
def pods
@pods
end
|
Instance Method Details
#available_replicas ⇒ Object
49
50
51
52
|
# File 'lib/kubernetes-deploy/kubernetes_resource/replica_set.rb', line 49
def available_replicas
return -1 unless exists?
rollout_data["availableReplicas"].to_i
end
|
#deploy_failed? ⇒ Boolean
33
34
35
36
37
|
# File 'lib/kubernetes-deploy/kubernetes_resource/replica_set.rb', line 33
def deploy_failed?
pods.present? &&
pods.all?(&:deploy_failed?) &&
!stale_status?
end
|
#deploy_succeeded? ⇒ Boolean
27
28
29
30
31
|
# File 'lib/kubernetes-deploy/kubernetes_resource/replica_set.rb', line 27
def deploy_succeeded?
return false if stale_status?
desired_replicas == rollout_data["availableReplicas"].to_i &&
desired_replicas == rollout_data["readyReplicas"].to_i
end
|
#desired_replicas ⇒ Object
39
40
41
42
|
# File 'lib/kubernetes-deploy/kubernetes_resource/replica_set.rb', line 39
def desired_replicas
return -1 unless exists?
@instance_data["spec"]["replicas"].to_i
end
|
#ready_replicas ⇒ Object
44
45
46
47
|
# File 'lib/kubernetes-deploy/kubernetes_resource/replica_set.rb', line 44
def ready_replicas
return -1 unless exists?
rollout_data['readyReplicas'].to_i
end
|
#status ⇒ Object
22
23
24
25
|
# File 'lib/kubernetes-deploy/kubernetes_resource/replica_set.rb', line 22
def status
return super unless rollout_data.present?
rollout_data.map { |state_replicas, num| "#{num} #{state_replicas.chop.pluralize(num)}" }.join(", ")
end
|
#sync(cache) ⇒ Object
17
18
19
20
|
# File 'lib/kubernetes-deploy/kubernetes_resource/replica_set.rb', line 17
def sync(cache)
super
@pods = fetch_pods_if_needed(cache) || []
end
|