veronic 0.0.23 → 0.0.24

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ OTQxNzQ2MmVkYTYzMjQyZGRmMzJiZjM4Y2QyMjRmNjU4ZTJjYWViYQ==
5
+ data.tar.gz: !binary |-
6
+ ZTNkMWQ5ZWY0NmZhMmNiMTMyMmI5NTc4MGI2NzU4MjQzMjRhZWUxMw==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ NmQ4MTY1ZDlkYjY5NjdjN2QxMDhlY2RjYzk2OWMyNjA1MzBkN2E0MTBmNDQ4
10
+ ZWVjZjA0NTI5ZTAxMTk2MTlmNGJlYmI1NjdmOGE1NmVhM2VhNTJiZTk2MzI5
11
+ MGUyMjFiMGNkZGUxMmRhYTUyOGE3NjU3MTlkMzVkZjEyYmMxYjE=
12
+ data.tar.gz: !binary |-
13
+ NzUwZDcyZDAwOTIxNGRlNjc1YjcyNmMwNDU1MmMzZjdlYmE1YTVjMWI1NWJi
14
+ NjA5YjJmYjM0M2RlNWY4NjUzNjk1OTdkNGRlYTQwMGM2NmY4MmE2MDc4ZjY5
15
+ ODkzMmNjNWM2ZGE1NmZmNDkwMTg1NDk3NmUwMzQyZjNiNmRmM2Q=
data/lib/config/config.rb CHANGED
@@ -4,7 +4,9 @@ module Veronic
4
4
 
5
5
  def initialize(options={})
6
6
  config_file = File.exists?('/etc/veronic/veronic.yml') ? '/etc/veronic/veronic.yml' : File.exists?('./veronic.yml') ? './veronic.yml' : nil
7
- config_from_file = YAML.load_file(options[:config_file] || config_file)
7
+ if config_file || File.exists?(options[:config_file])
8
+ config_from_file = YAML.load_file(options[:config_file] || config_file)
9
+ end
8
10
 
9
11
  @dnsprovider = options[:dnsprovider] || config_from_file['dnsprovider'] || :route53
10
12
  @cloudprovider = options[:cloudprovider] || config_from_file['cloudprovider'] || :ec2
@@ -7,11 +7,15 @@ module Provider
7
7
  end
8
8
 
9
9
  def destroy(name=nil)
10
- puts "Destroying client #{@name} ..."
11
-
10
+ puts "Destroying client #{@name} from chef-server ..."
12
11
  knife = Chef::Knife.new()
13
12
  knife.config[:yes] = true
14
- knife.delete_object(Chef::ApiClient, @name) if self.exists?
13
+ if self.exists?
14
+ knife.delete_object(Chef::ApiClient, @name)
15
+ puts "Client #{@name} destroy from chef-server"
16
+ else
17
+ puts "Unabled to find client #{@name}"
18
+ end
15
19
  end
16
20
 
17
21
  def exists?
data/lib/veronic.rb CHANGED
@@ -2,6 +2,7 @@ require_relative 'config/config'
2
2
  require_relative 'providers/cloudprovider'
3
3
  require_relative 'providers/dnsprovider'
4
4
  require_relative 'providers/configprovider'
5
+ require 'logger'
5
6
  require 'pp'
6
7
 
7
8
  module Veronic
@@ -9,6 +10,12 @@ module Veronic
9
10
 
10
11
  def initialize(options={})
11
12
  @config = config(options)
13
+ @logger = logger
14
+ end
15
+
16
+ def logger
17
+ $stderr.sync = true
18
+ Logger.new($stderr)
12
19
  end
13
20
 
14
21
  def config
@@ -75,9 +82,9 @@ module Veronic
75
82
  @config.zone_name = z['zone_name']
76
83
  @config.zone_url = z['zone_url']
77
84
  dns = "#{@config.name}.#{z['zone_name']}"
78
- puts "Setting DNS #{dns} ..."
85
+ @logger.info "Setting DNS #{dns} ..."
79
86
  record = dnsprovider.zone.record(dns, [], "A", "1").delete
80
- puts "DNS #{dns} deleted"
87
+ @logger.info "DNS #{dns} deleted"
81
88
  end
82
89
  if cloudprovider.instance.exists?
83
90
  configprovider.instance.destroy([cloudprovider.instance.id])
@@ -112,12 +119,12 @@ module Veronic
112
119
  @config.zone_name = z['zone_name']
113
120
  @config.zone_url = z['zone_url']
114
121
  dns = "#{@config.name}.#{z['zone_name']}"
115
- puts "Setting DNS #{dns} ..."
122
+ @logger.info "Setting DNS #{dns} ..."
116
123
  record = dnsprovider.zone.record(dns, [cloudprovider.instance.dns_name], "CNAME", "1").wait_set
117
- puts "DNS #{dns} updated"
124
+ @logger.info "DNS #{dns} updated"
118
125
  end
119
126
  else
120
- puts "Unabled to update DNS"
127
+ @logger.info "Unabled to update DNS"
121
128
  end
122
129
  end
123
130
 
@@ -146,7 +153,7 @@ module Veronic
146
153
  def bootstrap
147
154
  status = false
148
155
  if cloudprovider.instance.status == :running
149
- puts "#{@config.name} is running"
156
+ @logger.info "#{@config.name} is running"
150
157
  elsif cloudprovider.instance.status == :stopped
151
158
  start
152
159
  elsif cloudprovider.instance.exists? == false
@@ -179,7 +186,7 @@ module Veronic
179
186
  configprovider.instance.client.destroy
180
187
  end
181
188
  else
182
- puts 'Unable to set_node arguments --role or --environment is missing'
189
+ @logger.info 'Unable to set_node arguments --role or --environment is missing'
183
190
  end
184
191
  end
185
192
 
@@ -192,7 +199,7 @@ module Veronic
192
199
  end
193
200
 
194
201
  def get_availability_zone
195
- puts "Getting availability zone ..."
202
+ @logger.info "Getting availability zone ..."
196
203
  environments = {}
197
204
  if @config.availability_zone.nil? || @config.availability_zone == 'auto'
198
205
  cloudprovider.regions.each do |region|
@@ -211,9 +218,9 @@ module Veronic
211
218
  end
212
219
  if environments[@config.environment] && environments[@config.environment][@config.role] && environments[@config.environment][@config.role][@config.region]
213
220
  availability_zones = environments[@config.environment][@config.role][@config.region].sort_by { |availability_zone| availability_zone[1].count }
214
- puts "Zones: " + availability_zones.to_s
221
+ @logger.info "Zones: " + availability_zones.to_s
215
222
  availability_zone = availability_zones.first
216
- puts "Zone selected: " + availability_zone[0]
223
+ @logger.info "Zone selected: " + availability_zone[0]
217
224
  availability_zone[0]
218
225
  end
219
226
  end
data/veronic.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'veronic'
3
- s.version = '0.0.23'
3
+ s.version = '0.0.24'
4
4
  s.date = '2013-04-05'
5
5
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
6
6
  s.summary = "Veronic, a simple cloud deployer"
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: veronic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.23
5
- prerelease:
4
+ version: 0.0.24
6
5
  platform: ruby
7
6
  authors:
8
7
  - Gabriel Klein
@@ -14,7 +13,6 @@ dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: chef
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ! '>='
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ! '>='
28
25
  - !ruby/object:Gem::Version
@@ -30,7 +27,6 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: knife-ec2
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ! '>='
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ! '>='
44
39
  - !ruby/object:Gem::Version
@@ -46,7 +41,6 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: aws-sdk
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ! '>='
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ! '>='
60
53
  - !ruby/object:Gem::Version
@@ -62,7 +55,6 @@ dependencies:
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: route53
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
59
  - - ! '>='
68
60
  - !ruby/object:Gem::Version
@@ -70,7 +62,6 @@ dependencies:
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
66
  - - ! '>='
76
67
  - !ruby/object:Gem::Version
@@ -78,7 +69,6 @@ dependencies:
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: excon
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
73
  - - ~>
84
74
  - !ruby/object:Gem::Version
@@ -86,7 +76,6 @@ dependencies:
86
76
  type: :runtime
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
80
  - - ~>
92
81
  - !ruby/object:Gem::Version
@@ -122,27 +111,25 @@ files:
122
111
  - veronic.yml
123
112
  homepage: http://github.com/GabKlein/veronic
124
113
  licenses: []
114
+ metadata: {}
125
115
  post_install_message:
126
116
  rdoc_options: []
127
117
  require_paths:
128
118
  - lib
129
119
  required_ruby_version: !ruby/object:Gem::Requirement
130
- none: false
131
120
  requirements:
132
121
  - - ! '>='
133
122
  - !ruby/object:Gem::Version
134
123
  version: '0'
135
124
  required_rubygems_version: !ruby/object:Gem::Requirement
136
- none: false
137
125
  requirements:
138
126
  - - ! '>='
139
127
  - !ruby/object:Gem::Version
140
128
  version: '0'
141
129
  requirements: []
142
130
  rubyforge_project:
143
- rubygems_version: 1.8.24
131
+ rubygems_version: 2.0.5
144
132
  signing_key:
145
- specification_version: 3
133
+ specification_version: 4
146
134
  summary: Veronic, a simple cloud deployer
147
135
  test_files: []
148
- has_rdoc: