tsudura 0.1.1 → 0.1.2

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
  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