rig 0.6.5 → 0.6.6
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +3 -0
- data/lib/rig/command/balancer.rb +10 -13
- data/lib/rig/command/environment.rb +2 -3
- data/lib/rig/command/server.rb +1 -2
- data/lib/rig/model/dns.rb +1 -1
- data/lib/rig/model/environment.rb +7 -15
- data/lib/rig/model/instance.rb +2 -0
- data/lib/rig/model/userdata.rb +0 -1
- data/lib/rig/plugin.rb +6 -3
- data/lib/rig/template.rb +6 -6
- data/lib/rig/version.rb +1 -1
- metadata +2 -2
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## v0.6.5:
|
4
|
+
* get stickiness code working properly, have to add policy to balancer and associate with listener
|
5
|
+
|
3
6
|
## v0.6.4:
|
4
7
|
* add support for setting stickiness policy with DSL 'sticky' method on balancers
|
5
8
|
* clean up waiting for dns on environment create/save
|
data/lib/rig/command/balancer.rb
CHANGED
@@ -9,21 +9,18 @@ module Rig
|
|
9
9
|
subcommand "list", "list load balancers" do
|
10
10
|
def execute
|
11
11
|
list = Rig::Model::Balancer.all
|
12
|
+
rows = []
|
12
13
|
list.each do |lb|
|
13
|
-
|
14
|
-
|
15
|
-
lb.
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
puts " - #{inst}"
|
21
|
-
end
|
22
|
-
puts "- zones"
|
23
|
-
lb.availability_zones.each do |z|
|
24
|
-
puts " - #{z}"
|
25
|
-
end
|
14
|
+
listeners = lb.listeners.map { |l| "#{l.protocol}:#{l.lb_port} => #{l.instance_protocol}:#{l.instance_port}" }.join("\n")
|
15
|
+
instances = lb.instances.join("\n")
|
16
|
+
zones = lb.availability_zones.join("\n")
|
17
|
+
rows << [lb.id,
|
18
|
+
listeners,
|
19
|
+
instances,
|
20
|
+
zones]
|
26
21
|
end
|
22
|
+
|
23
|
+
print_table(%w{Name Listeners Instances Zones}, rows)
|
27
24
|
end
|
28
25
|
end
|
29
26
|
|
@@ -11,9 +11,8 @@ module Rig
|
|
11
11
|
parameter "TEMPLATE", "the template to use (solo, multi, etc)", :default => "solo"
|
12
12
|
|
13
13
|
def execute
|
14
|
-
|
15
|
-
|
16
|
-
#ap env.servers
|
14
|
+
Rig::Model::Environment.create(name, template.to_sym)
|
15
|
+
Rig::Log.info "environment created"
|
17
16
|
end
|
18
17
|
end
|
19
18
|
|
data/lib/rig/command/server.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
require 'rig'
|
2
|
-
require 'awesome_print'
|
3
2
|
|
4
3
|
module Rig
|
5
4
|
module Command
|
@@ -20,7 +19,7 @@ module Rig
|
|
20
19
|
|
21
20
|
def execute
|
22
21
|
# figure out if there are others of this role, if there are add a number to name to distinguish.
|
23
|
-
n = "#{name}1.#{environment}.
|
22
|
+
n = "#{name}1.#{environment}.#{Rig.get_config[:dns_subdomain]}"
|
24
23
|
chef = Rig.config[:chef] ? true : false
|
25
24
|
|
26
25
|
unless flavor
|
data/lib/rig/model/dns.rb
CHANGED
@@ -52,7 +52,7 @@ module Rig
|
|
52
52
|
|
53
53
|
def remove_environment(name)
|
54
54
|
zone = zone(Rig.get_config(:dns_zone))
|
55
|
-
list = zone.records.all.select {|e| e.attributes[:name] =~ /\.#{name}
|
55
|
+
list = zone.records.all.select {|e| e.attributes[:name] =~ /\.#{name}\.#{Rig.get_config[:dns_subdomain]}/ }
|
56
56
|
list.each do |e|
|
57
57
|
Rig::Log.info "record: #{e.attributes[:name]}"
|
58
58
|
destroy(e.attributes[:name])
|
@@ -65,7 +65,7 @@ module Rig
|
|
65
65
|
@template.servers.each do |s|
|
66
66
|
Rig::Log.debug "server[#{s.count}]= #{s.inspect}"
|
67
67
|
1.upto(s.count) do |i|
|
68
|
-
n = "#{s.name}#{i}.#@name.
|
68
|
+
n = "#{s.name}#{i}.#@name.#{Rig.get_config[:dns_subdomain]}"
|
69
69
|
Rig::Log.debug " name= #{n}"
|
70
70
|
userdata = s.userdata || Rig.get_config(:userdata)
|
71
71
|
o = {
|
@@ -111,8 +111,8 @@ module Rig
|
|
111
111
|
@balancers << balancer
|
112
112
|
|
113
113
|
if b.primary
|
114
|
-
Rig::Log.info ".. primary: #{name}.
|
115
|
-
Rig::Model::Dns.create("#{name}.
|
114
|
+
Rig::Log.info ".. primary: #{name}.#{Rig.get_config[:dns_subdomain]}.#@zone #{balancer.attributes[:dns_name]}"
|
115
|
+
Rig::Model::Dns.create("#{name}.#{Rig.get_config[:dns_subdomain]}.#@zone", balancer.attributes[:dns_name], :ttl => 30)
|
116
116
|
end
|
117
117
|
end
|
118
118
|
end
|
@@ -123,17 +123,9 @@ module Rig
|
|
123
123
|
if set[b.name]
|
124
124
|
if b.sticky
|
125
125
|
Rig::Log.info "#@name-#{b.name}: setting stickiness policy"
|
126
|
-
policy_name = 'RigLBStickinessPolicy'
|
127
126
|
type = b.sticky_type
|
128
|
-
|
129
|
-
|
130
|
-
when :app, :application
|
131
|
-
ap Rig::Connection.balancer.create_app_cookie_stickiness_policy("#@name-#{b.name}", policy_name, expires_or_cookie)
|
132
|
-
when :lb, :load_balancer
|
133
|
-
ap Rig::Connection.balancer.create_lb_cookie_stickiness_policy("#@name-#{b.name}", policy_name, expires_or_cookie)
|
134
|
-
else
|
135
|
-
raise "unknown sticky type #{type}"
|
136
|
-
end
|
127
|
+
expires = b.sticky_arg
|
128
|
+
Rig::Model::Balancer.sticky(b.name, type, expires, 443, "AWSConsolePolicy-1")
|
137
129
|
end
|
138
130
|
end
|
139
131
|
end
|
@@ -176,11 +168,11 @@ module Rig
|
|
176
168
|
roles = @servers.collect { |s| s.tags['Role'] }.compact
|
177
169
|
roles.each do |r|
|
178
170
|
Rig::Log.info "removing role balancer dns (#{r})"
|
179
|
-
Rig::Model::Dns.destroy("#{r}.#{name}.
|
171
|
+
Rig::Model::Dns.destroy("#{r}.#{name}.#{Rig.get_config[:dns_subdomain]}.#{Rig.get_config(:dns_zone)}")
|
180
172
|
end
|
181
173
|
|
182
174
|
Rig::Log.info "removing primary dns"
|
183
|
-
Rig::Model::Dns.destroy("#{name}.
|
175
|
+
Rig::Model::Dns.destroy("#{name}.#{Rig.get_config[:dns_subdomain]}.#{Rig.get_config(:dns_zone)}")
|
184
176
|
|
185
177
|
Rig::Log.info "destroying servers"
|
186
178
|
Rig::Model::Instance.destroy(@servers)
|
data/lib/rig/model/instance.rb
CHANGED
@@ -39,6 +39,8 @@ module Rig
|
|
39
39
|
end
|
40
40
|
|
41
41
|
def create(opts, tags={})
|
42
|
+
#Rig::Log.debug "instance create #{opts.inspect}"
|
43
|
+
#Rig::Log.debug "instance create #{tags.inspect}"
|
42
44
|
fog = Rig::Connection.compute
|
43
45
|
server = fog.servers.create(opts)
|
44
46
|
fog.create_tags(server.id, tags) if tags.count > 0
|
data/lib/rig/model/userdata.rb
CHANGED
data/lib/rig/plugin.rb
CHANGED
@@ -6,9 +6,12 @@ module Rig
|
|
6
6
|
@hooks.select { |e| e[:event] == event }.each do |plugin|
|
7
7
|
klass = plugin[:class]
|
8
8
|
block = plugin[:block]
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
begin
|
10
|
+
Rig::Log.debug "calling #{klass} :: #{event}"
|
11
|
+
block.call(args.dup)
|
12
|
+
rescue => e
|
13
|
+
Rig::Log.error "failed to run event #{event} for #{klass}"
|
14
|
+
end
|
12
15
|
end
|
13
16
|
end
|
14
17
|
|
data/lib/rig/template.rb
CHANGED
@@ -5,13 +5,13 @@ module Rig
|
|
5
5
|
@templates ||= { }
|
6
6
|
template_name = name.to_sym
|
7
7
|
template_file = "#{dir}/#{name}.rb"
|
8
|
-
|
9
8
|
raise "could not load template #{template_name} (#{template_file})" unless File.file?(template_file)
|
10
|
-
raise "template already loaded #{template_name}" if @templates[template_name]
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
9
|
+
#raise "template already loaded #{template_name}" if @templates[template_name]
|
10
|
+
@templates[template_name] ||= begin
|
11
|
+
t = Rig::Template::DSL.new(template_name)
|
12
|
+
t.instance_eval(File.read(template_file), "Template(#{template_file})")
|
13
|
+
@templates[template_name] = t
|
14
|
+
end
|
15
15
|
end
|
16
16
|
|
17
17
|
def load_yaml_file(path)
|
data/lib/rig/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rig
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-09-
|
12
|
+
date: 2012-09-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: clamp
|