right_link 5.9.2 → 5.9.5
Sign up to get free protection for your applications and to get access to all the features.
- data/INSTALL.rdoc +91 -304
- data/LICENSE +1 -1
- data/README.rdoc +10 -1
- data/RELEASES.rdoc +48 -1
- data/actors/instance_setup.rb +19 -9
- data/bin/rs_state +31 -0
- data/lib/chef/providers/right_link_tag_provider.rb +1 -1
- data/lib/chef/providers/server_collection_provider.rb +3 -3
- data/lib/clouds/clouds/rackspace.rb +10 -1
- data/lib/instance/agent_config.rb +4 -1
- data/lib/instance/cook/repose_downloader.rb +1 -1
- data/lib/instance/executable_sequence_proxy.rb +0 -3
- data/lib/instance/instance_state.rb +12 -11
- data/lib/instance/login_user_manager.rb +0 -123
- data/lib/instance/right_scripts_cookbook.rb +3 -3
- data/lib/repo_conf_generators/yum_conf_generators.rb +2 -1
- data/lib/right_link/version.rb +5 -1
- data/scripts/bundle_runner.rb +3 -3
- data/scripts/command_helper.rb +10 -5
- data/scripts/log_level_manager.rb +2 -2
- data/scripts/reenroller.rb +2 -5
- data/scripts/shutdown_client.rb +0 -1
- data/scripts/state_controller.rb +98 -0
- data/scripts/system_configurator.rb +4 -0
- data/scripts/tagger.rb +14 -17
- data/scripts/thunker.rb +12 -28
- metadata +45 -45
- data/lib/clouds/clouds/rackspace-ng.rb +0 -54
@@ -68,11 +68,11 @@ module RightScale
|
|
68
68
|
recipe_name = File.basename(path)
|
69
69
|
@recipes[recipe_name] = script.nickname
|
70
70
|
recipe_content = <<-EOS
|
71
|
-
right_script
|
72
|
-
parameters(node[
|
71
|
+
right_script #{script.nickname.inspect} do
|
72
|
+
parameters(node[#{script.nickname.inspect}]["parameters"])
|
73
73
|
cache_dir '#{cache_dir(script)}'
|
74
74
|
source_file '#{path}'
|
75
|
-
display_version
|
75
|
+
display_version #{script.display_version.to_s.strip.inspect}
|
76
76
|
end
|
77
77
|
EOS
|
78
78
|
File.open(path, 'w') { |f| f.puts script.source }
|
@@ -116,10 +116,11 @@ module Yum
|
|
116
116
|
arch = Yum::execute("uname -i").strip
|
117
117
|
|
118
118
|
major_ver = ver.strip.split(".").first
|
119
|
-
repo_path = "#{major_ver}/#{opts[:repo_subpath]}/#{arch}"
|
120
119
|
|
121
120
|
opts = { :enabled => true, :gpgkey_file => RPM_GPG_KEY_CentOS + major_ver, :frozen_date => "latest"}
|
122
121
|
opts.merge!(params)
|
122
|
+
repo_path = "#{major_ver}/#{opts[:repo_subpath]}/#{arch}"
|
123
|
+
|
123
124
|
raise "missing parameters to generate file!" unless opts[:repo_filename] && opts[:repo_name] && opts[:repo_subpath] &&
|
124
125
|
opts[:base_urls] && opts[:frozen_date] && opts[:enabled] && opts[:gpgkey_file]
|
125
126
|
# Old CentOS versions 5.0 and 5.1 were not versioned...so we just point to the base of the repo instead.
|
data/lib/right_link/version.rb
CHANGED
data/scripts/bundle_runner.rb
CHANGED
@@ -100,7 +100,7 @@ module RightScale
|
|
100
100
|
cmd[:name] = options[:bundle_type] == :right_script ? 'run_right_script' : 'run_recipe'
|
101
101
|
AgentConfig.cfg_dir = options[:cfg_dir]
|
102
102
|
|
103
|
-
exit_code = true
|
103
|
+
exit_code = true
|
104
104
|
callback ||= lambda do |r|
|
105
105
|
response = serialize_operation_result(r) rescue nil
|
106
106
|
if r == 'OK'
|
@@ -120,7 +120,7 @@ module RightScale
|
|
120
120
|
rescue Exception => e
|
121
121
|
fail(e.message)
|
122
122
|
end
|
123
|
-
exit_code
|
123
|
+
exit_code
|
124
124
|
rescue SystemExit => e
|
125
125
|
raise e
|
126
126
|
rescue Exception => e
|
@@ -257,7 +257,7 @@ protected
|
|
257
257
|
end
|
258
258
|
result
|
259
259
|
end
|
260
|
-
|
260
|
+
|
261
261
|
# Version information
|
262
262
|
#
|
263
263
|
# === Return
|
data/scripts/command_helper.rb
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
lib = File.expand_path('../lib', __FILE__)
|
2
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
|
+
require 'right_link/version'
|
4
|
+
require 'right_agent/scripts/usage'
|
5
|
+
|
1
6
|
module RightScale
|
2
7
|
module CommandHelper
|
3
8
|
def check_privileges
|
@@ -55,7 +60,7 @@ module RightScale
|
|
55
60
|
#
|
56
61
|
# === Return
|
57
62
|
# R.I.P. does not return
|
58
|
-
def fail(reason=nil)
|
63
|
+
def fail(reason=nil, print_usage=false)
|
59
64
|
case reason
|
60
65
|
when Errno::EACCES
|
61
66
|
STDERR.puts reason.message
|
@@ -63,7 +68,7 @@ module RightScale
|
|
63
68
|
code = 2
|
64
69
|
when Exception
|
65
70
|
STDERR.puts reason.message
|
66
|
-
code = reason.respond_to(:code) ? reason.code : 50
|
71
|
+
code = reason.respond_to?(:code) ? reason.code : 50
|
67
72
|
when String
|
68
73
|
STDERR.puts reason
|
69
74
|
code = 50
|
@@ -73,6 +78,7 @@ module RightScale
|
|
73
78
|
code = 1
|
74
79
|
end
|
75
80
|
|
81
|
+
puts usage if print_usage
|
76
82
|
exit(code)
|
77
83
|
end
|
78
84
|
|
@@ -86,7 +92,7 @@ module RightScale
|
|
86
92
|
STDOUT.puts(usage)
|
87
93
|
succeed
|
88
94
|
rescue Trollop::CommandlineError => e
|
89
|
-
puts e.message + "\nUse --help for additional information"
|
95
|
+
STDERR.puts e.message + "\nUse --help for additional information"
|
90
96
|
fail
|
91
97
|
rescue SystemExit => e
|
92
98
|
raise e
|
@@ -94,8 +100,7 @@ module RightScale
|
|
94
100
|
end
|
95
101
|
|
96
102
|
def right_link_version
|
97
|
-
|
98
|
-
gemspec.version
|
103
|
+
RightLink.version
|
99
104
|
end
|
100
105
|
end
|
101
106
|
end
|
@@ -17,7 +17,7 @@
|
|
17
17
|
#
|
18
18
|
# Options:
|
19
19
|
# --log-level, -l LVL Set log level(for Chef/RightScript by default)
|
20
|
-
# --agent
|
20
|
+
# --agent, -a Set/get log level of RightLink agent
|
21
21
|
# --verbose, -v Display debug information
|
22
22
|
# --help: Display help
|
23
23
|
# --version: Display version information
|
@@ -97,7 +97,7 @@ module RightScale
|
|
97
97
|
options
|
98
98
|
end
|
99
99
|
end
|
100
|
-
|
100
|
+
|
101
101
|
protected
|
102
102
|
|
103
103
|
# Writes to STDOUT (and a placeholder for spec mocking).
|
data/scripts/reenroller.rb
CHANGED
@@ -41,6 +41,7 @@ module RightScale
|
|
41
41
|
# === Return
|
42
42
|
# true:: Always return true
|
43
43
|
def run(options)
|
44
|
+
check_privileges
|
44
45
|
AgentConfig.root_dir = AgentConfig.right_link_root_dirs
|
45
46
|
|
46
47
|
if RightScale::Platform.windows?
|
@@ -81,10 +82,6 @@ module RightScale
|
|
81
82
|
res = system("/etc/init.d/rightlink #{action} > /dev/null")
|
82
83
|
end
|
83
84
|
true
|
84
|
-
rescue Errno::EACCES => e
|
85
|
-
STDERR.puts e.message
|
86
|
-
STDERR.puts "Try elevating privilege (sudo/runas) before invoking this command."
|
87
|
-
exit(2)
|
88
85
|
end
|
89
86
|
|
90
87
|
# Create options hash from command line arguments
|
@@ -149,7 +146,7 @@ module RightScale
|
|
149
146
|
rescue Errno::ESRCH
|
150
147
|
false
|
151
148
|
end
|
152
|
-
|
149
|
+
|
153
150
|
# Version information
|
154
151
|
#
|
155
152
|
# === Return
|
data/scripts/shutdown_client.rb
CHANGED
@@ -0,0 +1,98 @@
|
|
1
|
+
# === Synopsis:
|
2
|
+
# RightScale run state reporter (rs_state) - (c) 2013 RightScale Inc
|
3
|
+
#
|
4
|
+
# Report current run state of an instance
|
5
|
+
#
|
6
|
+
# === Examples:
|
7
|
+
# Print the run state:
|
8
|
+
# rs_state --type=run
|
9
|
+
# Possible values: booting, booting:reboot, operational, stranded,
|
10
|
+
# shutting-down:reboot, shutting-down:terminate, shutting-down:stop
|
11
|
+
#
|
12
|
+
# Print the agent state:
|
13
|
+
# rs_state --type=agent
|
14
|
+
# Possible values: pending, booting, operational, stranded, decommissioning, decommissioned
|
15
|
+
#
|
16
|
+
# === Usage
|
17
|
+
# rs_state --type <type>
|
18
|
+
#
|
19
|
+
# Options:
|
20
|
+
# --type, -t TYPE Display desired state(run or agent)
|
21
|
+
# --help: Display help
|
22
|
+
# --version: Display version information
|
23
|
+
#
|
24
|
+
#
|
25
|
+
require 'trollop'
|
26
|
+
require 'right_agent'
|
27
|
+
require File.expand_path(File.join(File.dirname(__FILE__), 'command_helper'))
|
28
|
+
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib', 'instance', 'json_utilities'))
|
29
|
+
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib', 'instance', 'agent_config'))
|
30
|
+
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib', 'instance', 'instance_state'))
|
31
|
+
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib', 'instance', 'shutdown_request'))
|
32
|
+
|
33
|
+
module RightScale
|
34
|
+
|
35
|
+
class RightLinkStateController
|
36
|
+
include CommandHelper
|
37
|
+
|
38
|
+
def self.run
|
39
|
+
m = RightLinkStateController.new
|
40
|
+
m.control(m.parse_args)
|
41
|
+
end
|
42
|
+
|
43
|
+
def silence_stdout
|
44
|
+
save_stdout = STDOUT.dup
|
45
|
+
STDOUT.reopen(RUBY_PLATFORM =~ /mswin/ ? 'NUL:' : '/dev/null')
|
46
|
+
STDOUT.sync = true
|
47
|
+
yield
|
48
|
+
ensure
|
49
|
+
STDOUT.reopen(save_stdout)
|
50
|
+
end
|
51
|
+
|
52
|
+
def control(options)
|
53
|
+
silence_stdout { InstanceState.init(nil, true) } # RightScale::Log will log to STDOUT if no log file is provided
|
54
|
+
result = case options[:type]
|
55
|
+
when 'run'
|
56
|
+
case InstanceState.value
|
57
|
+
when 'booting'
|
58
|
+
"booting#{InstanceState.reboot? ? ':reboot' : ''}"
|
59
|
+
when 'operational'
|
60
|
+
"operational"
|
61
|
+
when 'stranded'
|
62
|
+
"stranded"
|
63
|
+
when 'decommissioning', 'decommissioned'
|
64
|
+
decom_reason = "unknown"
|
65
|
+
decom_reason = InstanceState.decommission_type if ShutdownRequest::LEVELS.include?(InstanceState.decommission_type)
|
66
|
+
"shutting-down:#{decom_reason}"
|
67
|
+
end
|
68
|
+
when 'agent'
|
69
|
+
InstanceState.value
|
70
|
+
end
|
71
|
+
fail("Failed to get #{options[:type]} state") unless result
|
72
|
+
puts result
|
73
|
+
rescue Exception => e
|
74
|
+
fail(e)
|
75
|
+
end
|
76
|
+
|
77
|
+
def parse_args
|
78
|
+
parser = Trollop::Parser.new do
|
79
|
+
opt :type, "", :type => :string
|
80
|
+
version ""
|
81
|
+
end
|
82
|
+
parse do
|
83
|
+
options = parser.parse
|
84
|
+
fail("No type specified on the command line.") unless options[:type]
|
85
|
+
fail("Unknown state type '#{options[:type]}'. Use 'run' or 'agent'") unless ['run', 'agent'].include?(options[:type])
|
86
|
+
options
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
def usage
|
91
|
+
Usage.scan(__FILE__)
|
92
|
+
end
|
93
|
+
|
94
|
+
def version
|
95
|
+
"rs_state #{right_link_version} - RightLink's run state reporter(c) 2013 RightScale"
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
data/scripts/tagger.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
# RightScale Tagger (rs_tag) - (c) 2009-2013 RightScale Inc
|
3
3
|
#
|
4
4
|
# Tagger allows listing, adding and removing tags on the current instance and
|
5
|
-
# querying for
|
5
|
+
# querying for instances with a given set of tags
|
6
6
|
#
|
7
7
|
# === Examples:
|
8
8
|
# Retrieve all tags:
|
@@ -17,9 +17,9 @@
|
|
17
17
|
# rs_tag --remove a_tag
|
18
18
|
# rs_tag -r a_tag
|
19
19
|
#
|
20
|
-
# Retrieve
|
21
|
-
# rs_tag --query "a_tag
|
22
|
-
# rs_tag -q "a_tag
|
20
|
+
# Retrieve instances with any of the tags in a set:
|
21
|
+
# rs_tag --query "a_tag b:machine=tag"
|
22
|
+
# rs_tag -q "a_tag b:machine=tag"
|
23
23
|
#
|
24
24
|
# === Usage
|
25
25
|
# rs_tag (--list, -l | --add, -a TAG | --remove, -r TAG | --query, -q TAG_LIST)
|
@@ -28,8 +28,8 @@
|
|
28
28
|
# --list, -l List current server tags
|
29
29
|
# --add, -a TAG Add tag named TAG
|
30
30
|
# --remove, -r TAG Remove tag named TAG
|
31
|
-
# --query, -q TAG_LIST Query for
|
32
|
-
# with the TAG_LIST being quoted if it contains spaces
|
31
|
+
# --query, -q TAG_LIST Query for instances that have any of the tags in TAG_LIST
|
32
|
+
# with the TAG_LIST being quoted if it contains spaces used as delimiter
|
33
33
|
# --die, -e Exit with error if query/list fails
|
34
34
|
# --format, -f FMT Output format: json, yaml, text
|
35
35
|
# --verbose, -v Display debug information
|
@@ -228,11 +228,13 @@ protected
|
|
228
228
|
STDERR.puts(message)
|
229
229
|
end
|
230
230
|
|
231
|
-
# Splits the TAG_LIST parameter on
|
232
|
-
#
|
233
|
-
#
|
234
|
-
#
|
235
|
-
#
|
231
|
+
# Splits the TAG_LIST parameter on tags
|
232
|
+
# ATTENTION: Tag value should not contains space(s)).
|
233
|
+
# The "x:y=a b c:d=x y" case will be interpreted as 4 tags:
|
234
|
+
# 1. namespace=x, predicate=y, value=a
|
235
|
+
# 2. b
|
236
|
+
# 3. namespace=c, predicate=d, value=x
|
237
|
+
# 4. y
|
236
238
|
#
|
237
239
|
# === Parameters
|
238
240
|
# @param [String] tag_list to parse
|
@@ -240,12 +242,7 @@ protected
|
|
240
242
|
# === Return
|
241
243
|
# @return [Array] tags to query
|
242
244
|
def parse_tag_list(tag_list)
|
243
|
-
tag_list = tag_list.to_s
|
244
|
-
if tag_list.index('=')
|
245
|
-
[tag_list.strip]
|
246
|
-
else
|
247
|
-
tag_list.split
|
248
|
-
end
|
245
|
+
tag_list = tag_list.to_s.strip.split
|
249
246
|
end
|
250
247
|
|
251
248
|
# Format output for display to user
|
data/scripts/thunker.rb
CHANGED
@@ -54,10 +54,10 @@ module RightScale
|
|
54
54
|
# === Return
|
55
55
|
# true:: Always return true
|
56
56
|
def run(options)
|
57
|
-
check_privileges
|
58
57
|
@log_sink = StringIO.new
|
59
58
|
@log = Logger.new(@log_sink)
|
60
59
|
RightScale::Log.force_logger(@log)
|
60
|
+
check_privileges
|
61
61
|
|
62
62
|
username = options.delete(:username)
|
63
63
|
email = options.delete(:email)
|
@@ -86,14 +86,11 @@ module RightScale
|
|
86
86
|
# Create user just-in-time; idempotent if user already exists
|
87
87
|
# Note that username == chosen here, they just get used in two different contexts
|
88
88
|
username = LoginUserManager.create_user(username, uuid, superuser ? true : false) do |chosen|
|
89
|
-
|
90
|
-
puts "Creating your user profile (#{chosen}) on this machine."
|
91
|
-
end
|
89
|
+
puts "Creating your user profile (#{chosen}) on this machine." if (:shell == access)
|
92
90
|
end
|
93
91
|
|
94
92
|
create_audit_entry(email, username, access, orig, client_ip)
|
95
93
|
chown_tty(username)
|
96
|
-
create_profile(access, username, profile, force) if profile
|
97
94
|
|
98
95
|
# Note that when execing sudo we use the N-argument form of Kernel.exec,
|
99
96
|
# which does not invoke a shell, but rather directly invokes the command specified
|
@@ -174,13 +171,19 @@ module RightScale
|
|
174
171
|
# R.I.P. does not return
|
175
172
|
def fail(reason=nil, options={})
|
176
173
|
case reason
|
174
|
+
when Errno::EACCES
|
175
|
+
STDERR.puts reason.message
|
176
|
+
STDERR.puts "Try elevating privilege (sudo/runas) before invoking this command."
|
177
|
+
code = 2
|
177
178
|
when Exception
|
178
179
|
STDOUT.puts "Unexpected #{reason.class.name}: #{reason.message}"
|
179
180
|
STDOUT.puts "We apologize for the inconvenience. You may try connecting as root"
|
180
181
|
STDOUT.puts "to work around this problem, if you have sufficient privilege."
|
181
|
-
|
182
|
-
|
183
|
-
|
182
|
+
unless @log_sink.string.empty?
|
183
|
+
STDERR.puts
|
184
|
+
STDERR.puts("Debugging information:")
|
185
|
+
STDERR.puts(@log_sink.string)
|
186
|
+
end
|
184
187
|
code = 50
|
185
188
|
when String
|
186
189
|
STDOUT.puts reason
|
@@ -254,25 +257,6 @@ module RightScale
|
|
254
257
|
false
|
255
258
|
end
|
256
259
|
|
257
|
-
# Download an archive from given path; extracts files and moves
|
258
|
-
# them to username's home directory.
|
259
|
-
#
|
260
|
-
# === Parameters
|
261
|
-
# username(String):: account's username
|
262
|
-
# custom_data(String):: custom data, e.g. personal tarball URL
|
263
|
-
# force(Boolean):: rewrite existing files if true; otherwise skip them
|
264
|
-
#
|
265
|
-
# === Return
|
266
|
-
# extracted(Boolean):: true if profile downloaded and copied; false
|
267
|
-
# if profile has been created earlier or error occured
|
268
|
-
def create_profile(access, username, custom_data, force = false)
|
269
|
-
home_dir = Etc.getpwnam(username).dir
|
270
|
-
|
271
|
-
LoginUserManager.setup_profile(username, home_dir, custom_data, force) do |msg|
|
272
|
-
puts msg if [:command, :shell].include?(access)
|
273
|
-
end
|
274
|
-
end
|
275
|
-
|
276
260
|
# Display the Message of the Day if it exists.
|
277
261
|
def display_motd
|
278
262
|
if File.exist?(MOTD)
|
@@ -307,7 +291,7 @@ module RightScale
|
|
307
291
|
def usage
|
308
292
|
Usage.scan(__FILE__)
|
309
293
|
end
|
310
|
-
|
294
|
+
|
311
295
|
end # Thunker
|
312
296
|
|
313
297
|
end # RightScale
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: right_link
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 25
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 5
|
8
8
|
- 9
|
9
|
-
-
|
10
|
-
version: 5.9.
|
9
|
+
- 5
|
10
|
+
version: 5.9.5
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- RightScale
|
@@ -15,11 +15,12 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2013-
|
19
|
-
default_executable:
|
18
|
+
date: 2013-12-31 00:00:00 Z
|
20
19
|
dependencies:
|
21
20
|
- !ruby/object:Gem::Dependency
|
22
|
-
|
21
|
+
name: right_agent
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
23
24
|
none: false
|
24
25
|
requirements:
|
25
26
|
- - ~>
|
@@ -29,12 +30,12 @@ dependencies:
|
|
29
30
|
- 0
|
30
31
|
- 10
|
31
32
|
version: "0.10"
|
32
|
-
requirement: *id001
|
33
33
|
type: :runtime
|
34
|
-
|
35
|
-
prerelease: false
|
34
|
+
version_requirements: *id001
|
36
35
|
- !ruby/object:Gem::Dependency
|
37
|
-
|
36
|
+
name: right_scraper
|
37
|
+
prerelease: false
|
38
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
38
39
|
none: false
|
39
40
|
requirements:
|
40
41
|
- - ~>
|
@@ -44,12 +45,12 @@ dependencies:
|
|
44
45
|
- 3
|
45
46
|
- 2
|
46
47
|
version: "3.2"
|
47
|
-
requirement: *id002
|
48
48
|
type: :runtime
|
49
|
-
|
50
|
-
prerelease: false
|
49
|
+
version_requirements: *id002
|
51
50
|
- !ruby/object:Gem::Dependency
|
52
|
-
|
51
|
+
name: right_popen
|
52
|
+
prerelease: false
|
53
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
53
54
|
none: false
|
54
55
|
requirements:
|
55
56
|
- - ~>
|
@@ -59,12 +60,12 @@ dependencies:
|
|
59
60
|
- 1
|
60
61
|
- 1
|
61
62
|
version: "1.1"
|
62
|
-
requirement: *id003
|
63
63
|
type: :runtime
|
64
|
-
|
65
|
-
prerelease: false
|
64
|
+
version_requirements: *id003
|
66
65
|
- !ruby/object:Gem::Dependency
|
67
|
-
|
66
|
+
name: right_http_connection
|
67
|
+
prerelease: false
|
68
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
68
69
|
none: false
|
69
70
|
requirements:
|
70
71
|
- - ~>
|
@@ -74,12 +75,12 @@ dependencies:
|
|
74
75
|
- 1
|
75
76
|
- 3
|
76
77
|
version: "1.3"
|
77
|
-
requirement: *id004
|
78
78
|
type: :runtime
|
79
|
-
|
80
|
-
prerelease: false
|
79
|
+
version_requirements: *id004
|
81
80
|
- !ruby/object:Gem::Dependency
|
82
|
-
|
81
|
+
name: right_support
|
82
|
+
prerelease: false
|
83
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
83
84
|
none: false
|
84
85
|
requirements:
|
85
86
|
- - ~>
|
@@ -89,12 +90,12 @@ dependencies:
|
|
89
90
|
- 2
|
90
91
|
- 0
|
91
92
|
version: "2.0"
|
92
|
-
requirement: *id005
|
93
93
|
type: :runtime
|
94
|
-
|
95
|
-
prerelease: false
|
94
|
+
version_requirements: *id005
|
96
95
|
- !ruby/object:Gem::Dependency
|
97
|
-
|
96
|
+
name: chef
|
97
|
+
prerelease: false
|
98
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
98
99
|
none: false
|
99
100
|
requirements:
|
100
101
|
- - ">="
|
@@ -105,12 +106,12 @@ dependencies:
|
|
105
106
|
- 10
|
106
107
|
- 10
|
107
108
|
version: 0.10.10
|
108
|
-
requirement: *id006
|
109
109
|
type: :runtime
|
110
|
-
|
111
|
-
prerelease: false
|
110
|
+
version_requirements: *id006
|
112
111
|
- !ruby/object:Gem::Dependency
|
113
|
-
|
112
|
+
name: encryptor
|
113
|
+
prerelease: false
|
114
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
114
115
|
none: false
|
115
116
|
requirements:
|
116
117
|
- - ~>
|
@@ -120,12 +121,12 @@ dependencies:
|
|
120
121
|
- 1
|
121
122
|
- 1
|
122
123
|
version: "1.1"
|
123
|
-
requirement: *id007
|
124
124
|
type: :runtime
|
125
|
-
|
126
|
-
prerelease: false
|
125
|
+
version_requirements: *id007
|
127
126
|
- !ruby/object:Gem::Dependency
|
128
|
-
|
127
|
+
name: trollop
|
128
|
+
prerelease: false
|
129
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
129
130
|
none: false
|
130
131
|
requirements:
|
131
132
|
- - ">="
|
@@ -134,12 +135,12 @@ dependencies:
|
|
134
135
|
segments:
|
135
136
|
- 0
|
136
137
|
version: "0"
|
137
|
-
requirement: *id008
|
138
138
|
type: :runtime
|
139
|
-
|
140
|
-
prerelease: false
|
139
|
+
version_requirements: *id008
|
141
140
|
- !ruby/object:Gem::Dependency
|
142
|
-
|
141
|
+
name: extlib
|
142
|
+
prerelease: false
|
143
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
143
144
|
none: false
|
144
145
|
requirements:
|
145
146
|
- - ~>
|
@@ -150,10 +151,8 @@ dependencies:
|
|
150
151
|
- 9
|
151
152
|
- 15
|
152
153
|
version: 0.9.15
|
153
|
-
requirement: *id009
|
154
154
|
type: :runtime
|
155
|
-
|
156
|
-
prerelease: false
|
155
|
+
version_requirements: *id009
|
157
156
|
description: A daemon that connects systems to the RightScale cloud management platform.
|
158
157
|
email: support@rightscale.com
|
159
158
|
executables:
|
@@ -171,6 +170,7 @@ executables:
|
|
171
170
|
- rs_run_recipe
|
172
171
|
- rs_run_right_script
|
173
172
|
- rs_shutdown
|
173
|
+
- rs_state
|
174
174
|
- rs_tag
|
175
175
|
- rs_thunk
|
176
176
|
- rstat
|
@@ -204,6 +204,7 @@ files:
|
|
204
204
|
- bin/rs_run_recipe
|
205
205
|
- bin/rs_run_right_script
|
206
206
|
- bin/rs_shutdown
|
207
|
+
- bin/rs_state
|
207
208
|
- bin/rs_tag
|
208
209
|
- bin/rs_thunk
|
209
210
|
- bin/rstat
|
@@ -301,7 +302,6 @@ files:
|
|
301
302
|
- lib/clouds/clouds/google.rb
|
302
303
|
- lib/clouds/clouds/none.rb
|
303
304
|
- lib/clouds/clouds/openstack.rb
|
304
|
-
- lib/clouds/clouds/rackspace-ng.rb
|
305
305
|
- lib/clouds/clouds/rackspace.rb
|
306
306
|
- lib/clouds/clouds/softlayer.rb
|
307
307
|
- lib/clouds/metadata_formatter.rb
|
@@ -380,11 +380,11 @@ files:
|
|
380
380
|
- scripts/reenroller.rb
|
381
381
|
- scripts/server_importer.rb
|
382
382
|
- scripts/shutdown_client.rb
|
383
|
+
- scripts/state_controller.rb
|
383
384
|
- scripts/system_configurator.rb
|
384
385
|
- scripts/tagger.rb
|
385
386
|
- scripts/thunker.rb
|
386
387
|
- lib/instance/cook/ca-bundle.crt
|
387
|
-
has_rdoc: true
|
388
388
|
homepage: https://github.com/rightscale/right_link
|
389
389
|
licenses: []
|
390
390
|
|
@@ -416,7 +416,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
416
416
|
requirements: []
|
417
417
|
|
418
418
|
rubyforge_project:
|
419
|
-
rubygems_version: 1.
|
419
|
+
rubygems_version: 1.8.15
|
420
420
|
signing_key:
|
421
421
|
specification_version: 3
|
422
422
|
summary: RightScale management agent.
|