lono 7.4.3 → 7.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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