tsudura 0.1.1 → 0.1.2

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
  SHA1:
3
- metadata.gz: 8a0cc50d089c6684268f12056061ec7ec73c1188
4
- data.tar.gz: cc9a3da81574fe2f66f23d4ca700db505c131610
3
+ metadata.gz: 9b155f3cd929cb971a844a1144bc7b7b45544d0c
4
+ data.tar.gz: d111161888b3a74e9b93a53acced7543d7ea11fb
5
5
  SHA512:
6
- metadata.gz: e07c226d2633407ffe0bc50d448e565bd4af8222ed46fb7507094a440d54640d3dd789957921adf329842b4f90b231fa158800863ba7db714b9531354d2efd36
7
- data.tar.gz: 8c90795ae969d758433ea03bc5facfd1ef5f87664ab20926327f460ec984ba81f61d24ad374e7d1ed8fdecbaad23f6f11f2fc2a8a35cdbd8f1d9b086a1893d9f
6
+ metadata.gz: e1b7bc3593e82f7738db39423c0b1c71a455dad03b3fae63cebb0a8423e02a4c34b6272b920443471ce9a656cdd33c3d062733b5da15763a3cc195d2307e4aba
7
+ data.tar.gz: c21e571f73d94468938653a4f1ccedd6f6d75e2fac587cff453a71c0d98e0cdd6e539927d25927462080fdb955119635b1ccd2041707ee36932cdadf89ce742f
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- [![Build Status](https://travis-ci.org/onigra/tsudura.svg)](https://travis-ci.org/onigra/tsudura) [![Coverage Status](https://coveralls.io/repos/onigra/tsudura/badge.svg?branch=master)](https://coveralls.io/r/onigra/tsudura?branch=master) [![Code Climate](https://codeclimate.com/github/onigra/tsudura/badges/gpa.svg)](https://codeclimate.com/github/onigra/tsudura)
1
+ [![Gem Version](https://badge.fury.io/rb/tsudura.svg)](http://badge.fury.io/rb/tsudura) [![Build Status](https://travis-ci.org/onigra/tsudura.svg)](https://travis-ci.org/onigra/tsudura) [![Coverage Status](https://coveralls.io/repos/onigra/tsudura/badge.svg?branch=master)](https://coveralls.io/r/onigra/tsudura?branch=master) [![Code Climate](https://codeclimate.com/github/onigra/tsudura/badges/gpa.svg)](https://codeclimate.com/github/onigra/tsudura) [![Dependency Status](https://gemnasium.com/onigra/tsudura.svg)](https://gemnasium.com/onigra/tsudura)
2
2
 
3
3
  # WARNING
4
4
 
data/lib/tsudura.rb CHANGED
@@ -9,7 +9,9 @@ require "deep_hash_transform"
9
9
 
10
10
  require "tsudura/config_parser"
11
11
  require "tsudura/env_prefix"
12
+ require "tsudura/progress_bar"
12
13
  require "tsudura/runners/runner_module"
14
+ require "tsudura/runners/runner_module_with_message"
13
15
  require "tsudura/runners/normal_runner"
14
16
  require "tsudura/runners/packer_runner"
15
17
  require "tsudura/runners/packer_plus_runner"
@@ -10,7 +10,7 @@ module Tsudura::Aws
10
10
 
11
11
  def create
12
12
  @new_image_id = create_ami
13
- waiting_for_available @new_image_id
13
+ waiting_for_available
14
14
  @new_image_id
15
15
  end
16
16
 
@@ -38,12 +38,14 @@ module Tsudura::Aws
38
38
  #
39
39
  # stateがavailableになるまで待ち
40
40
  #
41
- def waiting_for_available(new_image_id)
41
+ def waiting_for_available
42
42
  status = nil
43
+ progress = Tsudura::ProgressBar.new
43
44
 
44
45
  while (status.nil? || status == 'pending')
45
46
  sleep 10
46
- status = ec2.describe_images(image_ids: [new_image_id])[:images].first.state
47
+ status = ec2.describe_images(image_ids: [@new_image_id])[:images].first.state
48
+ progress.write
47
49
  end
48
50
  end
49
51
 
@@ -37,6 +37,7 @@ module Tsudura::Aws
37
37
 
38
38
  def waiting_for_launch
39
39
  status = nil
40
+ progress = Tsudura::ProgressBar.new
40
41
 
41
42
  while (status.nil? || status == 'initializing')
42
43
  sleep 10
@@ -48,6 +49,7 @@ module Tsudura::Aws
48
49
  end
49
50
 
50
51
  status = statuses[:instance_statuses].first[:system_status].status
52
+ progress.write
51
53
  end
52
54
  end
53
55
 
@@ -0,0 +1,13 @@
1
+ module Tsudura
2
+ class ProgressBar
3
+ def initialize
4
+ @num = 1
5
+ end
6
+
7
+ def write
8
+ @num += 1
9
+ print "\rWaiting...#{'.' * @num}"
10
+ STDOUT.flush
11
+ end
12
+ end
13
+ end
@@ -1,6 +1,7 @@
1
1
  module Tsudura::Runners
2
2
  class NormalRunner
3
3
  include Tsudura::Runners::RunnerModule
4
+ include Tsudura::Runners::RunnerModuleWithMessage
4
5
 
5
6
  def initialize(config)
6
7
  @config = config
@@ -8,12 +9,13 @@ module Tsudura::Runners
8
9
  end
9
10
 
10
11
  def run
11
- instance_id = launch_instance
12
- provision
13
- new_image_id = create_ami(instance_id)
14
- create_launch_config(new_image_id)
15
- update_auto_scaling_group
16
- destroy_temp_objects
12
+ launch_instance_with_m
13
+ provision_with_m
14
+ create_ami_with_m
15
+ create_launch_config_with_m
16
+ update_auto_scaling_group_with_m
17
+ destroy_temp_objects_with_m
18
+ puts "Success!!"
17
19
  end
18
20
  end
19
21
  end
@@ -1,6 +1,7 @@
1
1
  module Tsudura::Runners
2
2
  class PackerPlusRunner
3
3
  include Tsudura::Runners::RunnerModule
4
+ include Tsudura::Runners::RunnerModuleWithMessage
4
5
 
5
6
  def initialize(config)
6
7
  @config = config
@@ -8,11 +9,12 @@ module Tsudura::Runners
8
9
  end
9
10
 
10
11
  def run
11
- instance_id = launch_instance
12
- provision
13
- new_image_id = create_ami(instance_id)
14
- create_launch_config(new_image_id)
15
- terminate_tmp_ec2_instance
12
+ launch_instance_with_m
13
+ provision_with_m
14
+ create_ami_with_m
15
+ create_launch_config_with_m
16
+ terminate_tmp_ec2_instance_with_m
17
+ puts "Success!!"
16
18
  end
17
19
  end
18
20
  end
@@ -1,6 +1,7 @@
1
1
  module Tsudura::Runners
2
2
  class PackerRunner
3
3
  include Tsudura::Runners::RunnerModule
4
+ include Tsudura::Runners::RunnerModuleWithMessage
4
5
 
5
6
  def initialize(config)
6
7
  @config = config
@@ -8,10 +9,11 @@ module Tsudura::Runners
8
9
  end
9
10
 
10
11
  def run
11
- instance_id = launch_instance
12
- provision
13
- puts create_ami(instance_id)
14
- terminate_tmp_ec2_instance
12
+ launch_instance_with_m
13
+ provision_with_m
14
+ create_ami_with_m
15
+ terminate_tmp_ec2_instance_with_m
16
+ puts "Success!!"
15
17
  end
16
18
  end
17
19
  end
@@ -5,20 +5,20 @@ module Tsudura::Runners
5
5
 
6
6
  def launch_instance
7
7
  @ec2 = Tsudura::Aws::LaunchInstance.new(@config)
8
- @ec2.launch
8
+ @tmp_instance_id = @ec2.launch
9
9
  end
10
10
 
11
11
  def provision
12
12
  Tsudura::Provisioner::Ansible.new(@config).provision!
13
13
  end
14
14
 
15
- def create_ami(instance_id)
16
- @ami = Tsudura::Aws::Ami.new(instance_id, @config, @timestamp)
17
- @ami.create
15
+ def create_ami
16
+ @ami = Tsudura::Aws::Ami.new(@tmp_instance_id, @config, @timestamp)
17
+ @new_image_id = @ami.create
18
18
  end
19
19
 
20
- def create_launch_config(new_image_id)
21
- @launch_config = Tsudura::Aws::LaunchConfig.new(new_image_id, @config, @timestamp)
20
+ def create_launch_config
21
+ @launch_config = Tsudura::Aws::LaunchConfig.new(@new_image_id, @config, @timestamp)
22
22
  @launch_config.create
23
23
  end
24
24
 
@@ -27,9 +27,9 @@ module Tsudura::Runners
27
27
  end
28
28
 
29
29
  def destroy_temp_objects
30
- @ec2.terminate
31
- @ami.deregister
32
- @launch_config.delete
30
+ terminate_tmp_ec2_instance
31
+ deregister_old_ami
32
+ delete_old_launch_config
33
33
  end
34
34
 
35
35
  def terminate_tmp_ec2_instance
@@ -0,0 +1,64 @@
1
+ module Tsudura::Runners
2
+ module RunnerModuleWithMessage
3
+
4
+ private
5
+
6
+ def launch_instance_with_m
7
+ puts "Launch instance"
8
+ launch_instance
9
+ puts "\nLaunch tmp instance: #{@tmp_instance_id}"
10
+ puts "Finish!!"
11
+ end
12
+
13
+ def provision_with_m
14
+ puts "Start provisioning"
15
+ provision
16
+ puts "Finish!!"
17
+ end
18
+
19
+ def create_ami_with_m
20
+ puts "Create ami"
21
+ create_ami
22
+ puts "\nNew image id: #{@new_image_id}"
23
+ puts "Finish!!"
24
+ end
25
+
26
+ def create_launch_config_with_m
27
+ puts "Create launch config"
28
+ create_launch_config
29
+ puts "New launch config name: #{@config[:service]}-#{short_env}-#{@timestamp}"
30
+ puts "Finish!!"
31
+ end
32
+
33
+ def update_auto_scaling_group_with_m
34
+ puts "update auto scaling group"
35
+ update_auto_scaling_group
36
+ puts "Finish!!"
37
+ end
38
+
39
+ def destroy_temp_objects_with_m
40
+ terminate_tmp_ec2_instance_with_m
41
+ deregister_old_ami_with_m
42
+ delete_old_launch_config_with_m
43
+ end
44
+
45
+ def terminate_tmp_ec2_instance_with_m
46
+ puts "Terminate instance"
47
+ terminate_tmp_ec2_instance
48
+ end
49
+
50
+ def deregister_old_ami_with_m
51
+ puts "Deregister old ami"
52
+ deregister_old_ami
53
+ end
54
+
55
+ def delete_old_launch_config_with_m
56
+ puts "Delete old launch config"
57
+ delete_old_launch_config
58
+ end
59
+
60
+ def short_env
61
+ Tsudura::EnvPrefix.short @config[:environment]
62
+ end
63
+ end
64
+ end
@@ -1,3 +1,3 @@
1
1
  module Tsudura
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tsudura
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - onigra
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-06-07 00:00:00.000000000 Z
11
+ date: 2015-06-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -193,12 +193,14 @@ files:
193
193
  - lib/tsudura/cli.rb
194
194
  - lib/tsudura/config_parser.rb
195
195
  - lib/tsudura/env_prefix.rb
196
+ - lib/tsudura/progress_bar.rb
196
197
  - lib/tsudura/provisioner/ansible.rb
197
198
  - lib/tsudura/runner.rb
198
199
  - lib/tsudura/runners/normal_runner.rb
199
200
  - lib/tsudura/runners/packer_plus_runner.rb
200
201
  - lib/tsudura/runners/packer_runner.rb
201
202
  - lib/tsudura/runners/runner_module.rb
203
+ - lib/tsudura/runners/runner_module_with_message.rb
202
204
  - lib/tsudura/version.rb
203
205
  - tsudura.gemspec
204
206
  homepage: https://github.com/onigra/tsudura