veronic 0.0.23 → 0.0.24

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