Class: AtLeastOneDeployment

Inherits:
Object
  • Object
show all
Includes:
WaitUntil
Defined in:
lib/strategy/at_least_one.rb

Instance Method Summary collapse

Methods included from WaitUntil

#wait_until

Instance Method Details

#after_group(group) ⇒ Object



20
21
22
23
# File 'lib/strategy/at_least_one.rb', line 20

def after_group group
  max_size = group.max_size
  group.update_size @min_size, max_size - 1
end

#before_group(group) ⇒ Object



6
7
8
9
10
11
12
13
14
# File 'lib/strategy/at_least_one.rb', line 6

def before_group group
  @min_size = group.min_size
  max_size = group.max_size
  new_min_size = 1

  new_min_size = 2 if group.desired_capacity == 1
    
  group.update_size new_min_size, max_size + 1
end

#before_instance(instance) ⇒ Object



16
17
18
# File 'lib/strategy/at_least_one.rb', line 16

def before_instance instance
  wait_until_instances_ok instance.group
end

#wait_until_instances_ok(group) ⇒ Object



25
26
27
28
29
# File 'lib/strategy/at_least_one.rb', line 25

def wait_until_instances_ok group
  wait_until do
    group.health_load_balancer_instances >= 2
  end
end