hugo 0.1.10 → 0.1.11

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.
@@ -13,12 +13,19 @@ class Hugo::App
13
13
  elsif instances < lb.instances.length
14
14
  delete_ec2(lb.instances.length - instances)
15
15
  end
16
+ else
17
+ instance(build_ec2(1)) unless instance
16
18
  end
17
19
  end
18
20
 
19
21
  def setup
20
- lb.instances.each do |i|
21
- setup_ec2(i)
22
+ if lb
23
+ lb.instances.each do |i|
24
+ setup_ec2(i)
25
+ end
26
+ else
27
+ puts instance
28
+ setup_ec2(instance)
22
29
  end
23
30
  puts "Setup Completed"
24
31
  end
@@ -44,6 +51,10 @@ class Hugo::App
44
51
  self.dna.merge!(options)
45
52
  end
46
53
  end
54
+
55
+ def instance(arg=nil)
56
+ set_or_return(:instance, arg, :kind_of => [String])
57
+ end
47
58
 
48
59
  def name(arg=nil)
49
60
  set_or_return(:name, arg, :kind_of => [String])
@@ -112,11 +123,13 @@ class Hugo::App
112
123
  private
113
124
 
114
125
  def build_ec2(i=1)
126
+ instance_id = nil
115
127
  i.times do
116
128
  instance_id = create_ec2
117
129
  #setup_ec2(instance_id)
118
- lb.add(instance_id)
130
+ lb.add(instance_id) if lb
119
131
  end
132
+ instance_id
120
133
  end
121
134
 
122
135
  def create_ec2
@@ -155,13 +168,15 @@ private
155
168
  commands << 'if [ -d "./hugo-repos" ]; then echo "setup already run"; else sudo gem install chef-deploy --no-ri --no-rdoc; fi'
156
169
  commands << 'if [ -d "./hugo-repos" ]; then echo "setup already run"; else sudo gem install git --no-ri --no-rdoc; fi'
157
170
  commands << "if [ -d \"./hugo-repos\" ]; then echo \"setup already run\"; else git clone #{self.cookbook} ~/hugo-repos; fi"
158
- Hugo::Aws::Ec2.find(instance_id).ssh(commands, nil, File.join(key_path, key_name))
171
+ ec2 = Hugo::Aws::Ec2.find(instance_id)
172
+ puts ec2.uri
173
+ ec2.ssh(commands, nil, File.join(key_path, key_name))
159
174
  end
160
175
 
161
176
  def deploy_ec2
162
177
 
163
178
  commands = []
164
- commands << "cd hugo-repos && git pull"
179
+ commands << "cd hugo-repos && git reset --hard && git pull"
165
180
  commands << 'sudo chef-solo -c /home/ubuntu/hugo-repos/config/solo.rb -j /home/ubuntu/dna.json'
166
181
 
167
182
  database_info = {
@@ -183,9 +198,14 @@ private
183
198
  :app => deploy_info
184
199
  )
185
200
 
186
- lb.instances.each do |i|
187
- Hugo::Aws::Ec2.find(i).ssh(commands, dna, File.join(key_path, key_name))
201
+ if lb
202
+ lb.instances.each do |i|
203
+ Hugo::Aws::Ec2.find(i).ssh(commands, dna, File.join(key_path, key_name))
204
+ end
205
+ else
206
+ Hugo::Aws::Ec2.find(instance).ssh(commands, dna, File.join(key_path, key_name))
188
207
  end
208
+
189
209
  end
190
210
 
191
211
  def delete_ec2(i=1)
@@ -196,5 +216,10 @@ private
196
216
 
197
217
  end
198
218
  end
219
+
220
+ def get_instance(uri)
221
+ nil
222
+ end
223
+
199
224
 
200
225
  end
@@ -102,6 +102,11 @@ module Hugo
102
102
  @ec2 = AWS::EC2::Base.new(:access_key_id => ACCESS_KEY, :secret_access_key => SECRET_KEY)
103
103
  self.new(@ec2.describe_instances(:instance_id => instance).reservationSet.item[0].instancesSet.item[0])
104
104
  end
105
+
106
+ # def self.find(url)
107
+ # @ec2 = AWS::EC2::Base.new(:access_key_id => ACCESS_KEY, :secret_access_key => SECRET_KEY)
108
+ # self.new(@ec2.describe_instances(:instance_id => instance).reservationSet.item[0].instancesSet.item[0])
109
+ # end
105
110
 
106
111
  def self.find_or_create(options)
107
112
  if options[:name]
@@ -86,6 +86,19 @@ Zone: #{ec2.zone}
86
86
 
87
87
  REPORT
88
88
  end
89
+ else
90
+ ec2 = Hugo::Aws::Ec2.find(cloud_app.instance)
91
+ puts <<REPORT
92
+
93
+ Since you are not running a balancer
94
+ you need to remember to add #{ec2.name} as the instance method in your app
95
+ -----------------------
96
+ Id: #{ec2.name}
97
+ Uri: #{ec2.uri}
98
+ Type: #{ec2.type}
99
+ Zone: #{ec2.zone}
100
+
101
+ REPORT
89
102
  end
90
103
 
91
104
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hugo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.10
4
+ version: 0.1.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Wilson
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2010-02-03 00:00:00 -05:00
13
+ date: 2010-02-04 00:00:00 -05:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency