lono 7.4.3 → 7.4.4

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: e7a001c358dbf937c901b77fff338512c2052e76882b54c77de5048e5e400c07
4
- data.tar.gz: 71ab52b2e5af1533524c81e036b412017754db18f59a85da9e9a2b97cf9d14e7
3
+ metadata.gz: a076e0eed419b163dc2edb3dede5510660db07bad4fedc9d0b787460961575b1
4
+ data.tar.gz: 3c0ecf4cfba07b8503c7907c27ca2cb4738bf2154d39ff3aba666fdb6eca3fc3
5
5
  SHA512:
6
- metadata.gz: b062a87dc0476db11d5fe02f8866d5da0455549727015eb7d98a50dfe16802ea01ba5b9fa0efa3a2f3dc304a68d89cc6ee9747cf8e33a6e44cfb877ca3036489
7
- data.tar.gz: 39919280a8d06fdb119018fe4fa173f9ab52ecb8979ff210bfd307c8362146cb446aedeadcdaccf86c6f22b207826b6a3a6a58f8f72098c2abb8de412933f579
6
+ metadata.gz: 483b6c6e30eb8111717b1aa3d0b78baa9abd78220d64e3e945e9fa6053c5aca9dd12f5ab97f7a0bf29c7a15e19acd60ff6aca7ea135dcf4c144b8eb270365dd0
7
+ data.tar.gz: 986c0e5e28d39fb1adaf9f61744fdb762027555145dc4556914f0cb2b13ef0163b76027ab1b574cee5f7fa1da22aa604e3881ac6d6e410958eb7df87631d8f46
@@ -3,6 +3,10 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  This project *tries* to adhere to [Semantic Versioning](http://semver.org/), even before v1.0.
5
5
 
6
+ ## [7.4.4]
7
+ - #62 update gemspec templates
8
+ - #63 lono sets: default --iam option to true for stack sets
9
+
6
10
  ## [7.4.3]
7
11
  - #61 clean install fixes
8
12
  - improve tree detection
@@ -1,3 +1,5 @@
1
+ Lono uses the `config/accounts` and `config/regions` to calculate whether `create-stack-set` or `delete-stack-set` need to be called and calls them accordingly. You use this instead of `lono sets deploy` when only configs have been adjust and you want to keep the existing template.
2
+
1
3
  Provided:
2
4
 
3
5
  configs/demo/accounts/development/my-set.txt
@@ -1,5 +1,10 @@
1
1
  class Lono::Sets
2
2
  class Base < Lono::Cfn::Base
3
+ def initialize(options={})
4
+ options[:iam] = true # easy to forget the --iam option. Default to turning it on for StackSets
5
+ super
6
+ end
7
+
3
8
  def run
4
9
  generate_all
5
10
  save
@@ -11,12 +11,12 @@ class Lono::Sets::Status
11
11
 
12
12
  def wait(to="completed")
13
13
  puts "Stack Instance statuses... (takes a while)"
14
+ puts "You can check on the StackSetsole Operations Tab for the operation status."
14
15
  wait_until_outdated if @options[:start_on_outdated]
15
16
 
16
- with_instances do |instance|
17
- Thread.new { instance.tail(to) }
18
- end.map(&:join)
19
- wait_until_stack_set_operation_complete
17
+ threads = start_wait_for_instances_threads
18
+ wait_until_stack_set_operation_complete # start the the tailer here so the show_aws_cli_command shows up
19
+ threads.map(&:join)
20
20
  end
21
21
 
22
22
  def show
@@ -29,10 +29,17 @@ class Lono::Sets::Status
29
29
  return
30
30
  end
31
31
 
32
- with_instances do |instance|
33
- Thread.new { instance.show }
34
- end.map(&:join)
32
+ threads = start_wait_for_instances_threads
35
33
  wait_until_stack_set_operation_complete
34
+ threads.map(&:join)
35
+ end
36
+
37
+ def start_wait_for_instances_threads
38
+ # Tricky: extra sleep so that the show_aws_cli_command in wait_until_stack_set_operation_complete
39
+ # shows up first. Quickest way to implement.
40
+ with_instances do |instance|
41
+ Thread.new { sleep 5; instance.show }
42
+ end
36
43
  end
37
44
 
38
45
  def with_instances
@@ -51,6 +58,7 @@ class Lono::Sets::Status
51
58
  )
52
59
  stack_set_operation = resp.stack_set_operation
53
60
  status = stack_set_operation.status
61
+ show_aws_cli_command(stack_set_operation.operation_id)
54
62
  # puts "DEBUG: wait_until_stack_set_operation_complete"
55
63
  unless completed?(status)
56
64
  sleep 5
@@ -62,6 +70,20 @@ class Lono::Sets::Status
62
70
  end
63
71
  end
64
72
 
73
+ @@aws_cli_command_shown = false
74
+ def show_aws_cli_command(operation_id)
75
+ return if @@aws_cli_command_shown
76
+
77
+ command = "aws cloudformation describe-stack-set-operation --stack-set-name #{@stack} --operation-id #{operation_id}"
78
+ puts <<~EOL
79
+ Here is also the cli command to check:
80
+
81
+ #{command}
82
+
83
+ EOL
84
+ @@aws_cli_command_shown = true
85
+ end
86
+
65
87
  # describe_stack_set_operation stack_set_operation.status is
66
88
  # one of RUNNING, SUCCEEDED, FAILED, STOPPING, STOPPED
67
89
  def completed?(status)
@@ -1,3 +1,3 @@
1
1
  module Lono
2
- VERSION = "7.4.3"
2
+ VERSION = "7.4.4"
3
3
  end
@@ -8,9 +8,8 @@ Gem::Specification.new do |spec|
8
8
  spec.email = ["<%= ENV['LONO_EMAIL'] || user_info[:email] %>"]
9
9
 
10
10
  spec.summary = "Write a short summary because it's required." # TODO: Change me
11
- spec.description = "Write a longer description or delete this line." # TODO: Change me
12
11
  spec.homepage = "<%= ENV['LONO_ORG'] || "https://github.com/USER" %>/<%= blueprint_name %>"
13
- spec.license = "<%= ENV['LONO_LICENSE'] || 'Nonstandard' %>"
12
+ spec.license = "<%= ENV['LONO_LICENSE'] || 'Nonstandard' %>"<%= ENV["LONO_LICENSE_EXTRA"] %>
14
13
 
15
14
  # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
16
15
  # to allow pushing to a single host or delete this section to allow pushing to any host.
@@ -5,9 +5,8 @@ Gem::Specification.new do |spec|
5
5
  spec.email = ["<%= ENV['LONO_EMAIL'] || user_info[:email] %>"]
6
6
 
7
7
  spec.summary = "Write a short summary because it's required." # TODO: Change me
8
- spec.description = "Write a longer description or delete this line." # TODO: Change me
9
8
  spec.homepage = "<%= ENV['LONO_ORG'] || "https://github.com/USER" %>/<%= configset_name %>"
10
- spec.license = "<%= ENV['LONO_LICENSE'] || 'Nonstandard' %>"
9
+ spec.license = "<%= ENV['LONO_LICENSE'] || 'Nonstandard' %>"<%= ENV["LONO_LICENSE_EXTRA"] %>
11
10
 
12
11
  # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
13
12
  # to allow pushing to a single host or delete this section to allow pushing to any host.
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
10
10
  spec.email = ["<%= ENV['LONO_EMAIL'] || user_info[:email] %>"]
11
11
  spec.summary = "Lono extension: <%= extension_name %>"
12
12
  spec.homepage = "<%= ENV['LONO_ORG'] || "https://github.com/USER" %>/<%= extension_name %>"
13
- spec.license = "<%= ENV['LONO_LICENSE'] || 'Nonstandard' %>"
13
+ spec.license = "<%= ENV['LONO_LICENSE'] || 'Nonstandard' %>"<%= ENV["LONO_LICENSE_EXTRA"] %>
14
14
 
15
15
  # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
16
16
  # to allow pushing to a single host or delete this section to allow pushing to any host.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lono
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.4.3
4
+ version: 7.4.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tung Nguyen
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-03-29 00:00:00.000000000 Z
11
+ date: 2020-03-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport