right_agent 2.4.6 → 2.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -676,12 +676,10 @@ module RightScale
676
676
  when "Push"
677
677
  packet = RightScale::Push.new(event[:path], event[:data], {:from => event[:from], :token => event[:uuid]})
678
678
  packet.expires_at = event[:expires_at].to_i if event.has_key?(:expires_at)
679
- packet.skewed_by = event[:skewed_by].to_i if event.has_key?(:skewed_by)
680
679
  when "Request"
681
680
  options = {:from => event[:from], :token => event[:uuid], :reply_to => event[:reply_to], :tries => event[:tries]}
682
681
  packet = RightScale::Request.new(event[:path], event[:data], options)
683
682
  packet.expires_at = event[:expires_at].to_i if event.has_key?(:expires_at)
684
- packet.skewed_by = event[:skewed_by].to_i if event.has_key?(:skewed_by)
685
683
  end
686
684
  packet
687
685
  end
@@ -462,10 +462,19 @@ module RightScale
462
462
  @attempted_connect_at = Time.now
463
463
  @close_code = @close_reason = nil
464
464
 
465
+ # Initialize use of proxy if defined
466
+ if (v = BalancedHttpClient::PROXY_ENVIRONMENT_VARIABLES.detect { |v| ENV.has_key?(v) })
467
+ proxy_uri = ENV[v].match(/^[[:alpha:]]+:\/\//) ? URI.parse(ENV[v]) : URI.parse("http://" + ENV[v])
468
+ @proxy = { :origin => proxy_uri.to_s }
469
+ end
470
+
465
471
  options = {
466
472
  # Limit to .auth_header here (rather than .headers) to keep WebSockets happy
467
473
  :headers => {"X-API-Version" => API_VERSION}.merge(@auth_client.auth_header),
468
474
  :ping => @options[:listen_timeout] }
475
+
476
+ options[:proxy] = @proxy if @proxy
477
+
469
478
  url = URI.parse(@auth_client.router_url)
470
479
  url.scheme = url.scheme == "https" ? "wss" : "ws"
471
480
  url.path = url.path + "/connect"
@@ -168,7 +168,6 @@ module RightScale
168
168
  # token(String):: Token uniquely identifying request
169
169
  # expires_at(Integer):: Time in seconds in Unix-epoch when this request expires and
170
170
  # is to be ignored by the receiver; value 0 means never expire
171
- # skewed_by(Integer):: Amount of skew already applied to expires_at in seconds
172
171
  #
173
172
  # === Block
174
173
  # Optional block used to process response asynchronously with the following parameter:
@@ -176,10 +175,9 @@ module RightScale
176
175
  #
177
176
  # === Return
178
177
  # true:: Always return true
179
- def queue_request(kind, type, payload, target, token, expires_at, skewed_by, &callback)
178
+ def queue_request(kind, type, payload, target, token, expires_at, &callback)
180
179
  request = {:kind => kind, :type => type, :payload => payload, :target => target,
181
- :token => token, :expires_at => expires_at, :skewed_by => skewed_by,
182
- :callback => callback}
180
+ :token => token, :expires_at => expires_at, :callback => callback}
183
181
  Log.info("[offline] Queuing request: #{request.inspect}")
184
182
  vote_to_restart if (@restart_vote_count += 1) >= MAX_QUEUED_REQUESTS
185
183
  if @state == :initializing
@@ -285,7 +285,7 @@ module RightScale
285
285
  class Request < Packet
286
286
 
287
287
  attr_accessor :from, :scope, :payload, :type, :token, :reply_to, :selector, :target, :persistent, :expires_at,
288
- :skewed_by, :tags, :tries
288
+ :tags, :tries
289
289
 
290
290
  DEFAULT_OPTIONS = {:selector => :any}
291
291
 
@@ -306,7 +306,6 @@ module RightScale
306
306
  # by the AMQP broker
307
307
  # :expires_at(Integer|nil):: Time in seconds in Unix-epoch when this request expires and
308
308
  # is to be ignored by the receiver; value 0 means never expire; defaults to 0
309
- # :skewed_by(Integer|nil):: Amount of skew already applied to expires_at in seconds
310
309
  # :tags(Array(Symbol)):: List of tags to be used for selecting target for this request
311
310
  # :tries(Array):: List of tokens for previous attempts to send this request
312
311
  # version(Array):: Protocol version of the original creator of the packet followed by the
@@ -325,7 +324,6 @@ module RightScale
325
324
  @target = opts[:target]
326
325
  @persistent = opts[:persistent]
327
326
  @expires_at = opts[:expires_at] || 0
328
- @skewed_by = opts[:skewed_by] || 0
329
327
  @tags = opts[:tags] || []
330
328
  @tries = opts[:tries] || []
331
329
  @version = version
@@ -350,17 +348,16 @@ module RightScale
350
348
  def self.create(o)
351
349
  i = o['data']
352
350
  expires_at = if i.has_key?('created_at')
353
- created_at = i['created_at'].to_i
354
- created_at > 0 ? created_at + (15 * 60) : 0
355
- else
356
- i['expires_at']
357
- end
351
+ created_at = i['created_at'].to_i
352
+ created_at > 0 ? created_at + (15 * 60) : 0
353
+ else
354
+ i['expires_at']
355
+ end
358
356
  new(i['type'], i['payload'], { :from => self.compatible(i['from']), :scope => i['scope'],
359
357
  :token => i['token'], :reply_to => self.compatible(i['reply_to']),
360
358
  :selector => i['selector'], :target => self.compatible(i['target']),
361
359
  :persistent => i['persistent'], :tags => i['tags'],
362
- :expires_at => expires_at, :skewed_by => i['skewed_by'],
363
- :tries => i['tries'] },
360
+ :expires_at => expires_at, :tries => i['tries'] },
364
361
  i['version'] || [DEFAULT_VERSION, DEFAULT_VERSION], o['size'])
365
362
  end
366
363
 
@@ -419,7 +416,7 @@ module RightScale
419
416
  class Push < Packet
420
417
 
421
418
  attr_accessor :from, :scope, :payload, :type, :token, :selector, :target, :persistent, :confirm,
422
- :expires_at, :skewed_by, :tags
419
+ :expires_at, :tags
423
420
 
424
421
  DEFAULT_OPTIONS = {:selector => :any}
425
422
 
@@ -440,7 +437,6 @@ module RightScale
440
437
  # to which request was published but not necessarily delivered
441
438
  # :expires_at(Integer|nil):: Time in seconds in Unix-epoch when this request expires and
442
439
  # is to be ignored by the receiver; value 0 means never expire; defaults to 0
443
- # :skewed_by(Integer|nil):: Amount of skew already applied to expires_at in seconds
444
440
  # :tags(Array(Symbol)):: List of tags to be used for selecting target for this request
445
441
  # version(Array):: Protocol version of the original creator of the packet followed by the
446
442
  # protocol version of the packet contents to be used when sending
@@ -458,7 +454,6 @@ module RightScale
458
454
  @persistent = opts[:persistent]
459
455
  @confirm = opts[:confirm]
460
456
  @expires_at = opts[:expires_at] || 0
461
- @skewed_by = opts[:skewed_by] || 0
462
457
  @tags = opts[:tags] || []
463
458
  @version = version
464
459
  @size = size
@@ -490,11 +485,11 @@ module RightScale
490
485
  # (Push):: New packet
491
486
  def self.create(o)
492
487
  i = o['data']
493
- new(i['type'], i['payload'], { :from => self.compatible(i['from']), :scope => i['scope'],
494
- :token => i['token'], :selector => i['selector'],
495
- :target => self.compatible(i['target']), :persistent => i['persistent'],
496
- :confirm => i['confirm'], :expires_at => i['expires_at'],
497
- :skewed_by => i['skewed_by'], :tags => i['tags'] },
488
+ new(i['type'], i['payload'], { :from => self.compatible(i['from']), :scope => i['scope'],
489
+ :token => i['token'], :selector => i['selector'],
490
+ :target => self.compatible(i['target']), :persistent => i['persistent'],
491
+ :confirm => i['confirm'], :expires_at => i['expires_at'],
492
+ :tags => i['tags']},
498
493
  i['version'] || [DEFAULT_VERSION, DEFAULT_VERSION], o['size'])
499
494
  end
500
495
 
@@ -346,7 +346,7 @@ module RightScale
346
346
  end
347
347
 
348
348
  if queueing?
349
- @offline_handler.queue_request(kind, type, payload, target, packet.token, packet.expires_at, packet.skewed_by, &callback)
349
+ @offline_handler.queue_request(kind, type, payload, target, packet.token, packet.expires_at, &callback)
350
350
  nil
351
351
  else
352
352
  packet
@@ -637,7 +637,7 @@ module RightScale
637
637
  result = error_result(e.message)
638
638
  rescue Exceptions::ConnectivityFailure => e
639
639
  if queueing?
640
- @offline_handler.queue_request(kind, packet.type, packet.payload, target, packet.token, packet.expires_at, packet.skewed_by, &callback)
640
+ @offline_handler.queue_request(kind, packet.type, packet.payload, target, packet.token, packet.expires_at, &callback)
641
641
  result = nil
642
642
  else
643
643
  result = retry_result(e.message)
@@ -696,7 +696,7 @@ module RightScale
696
696
  rescue TemporarilyOffline => e
697
697
  if queueing?
698
698
  # Queue request until come back online
699
- @offline_handler.queue_request(kind, packet.type, packet.payload, target, packet.token, packet.expires_at, packet.skewed_by, &callback)
699
+ @offline_handler.queue_request(kind, packet.type, packet.payload, target, packet.token, packet.expires_at, &callback)
700
700
  @pending_requests.delete(packet.token) if callback
701
701
  else
702
702
  # Send retry response so that requester, e.g., RetryableRequest, can retry
@@ -25,8 +25,8 @@ require 'rbconfig'
25
25
 
26
26
  Gem::Specification.new do |spec|
27
27
  spec.name = 'right_agent'
28
- spec.version = '2.4.6'
29
- spec.date = '2015-09-16'
28
+ spec.version = '2.5.0'
29
+ spec.date = '2015-02-24'
30
30
  spec.authors = ['Lee Kirchhoff', 'Raphael Simon', 'Tony Spataro', 'Scott Messier']
31
31
  spec.email = 'lee@rightscale.com'
32
32
  spec.homepage = 'https://github.com/rightscale/right_agent'
@@ -41,7 +41,7 @@ Gem::Specification.new do |spec|
41
41
  spec.add_dependency('right_support', ['>= 2.4.1', '< 3.0'])
42
42
  spec.add_dependency('right_amqp', '~> 0.8')
43
43
  spec.add_dependency('rest-client', '~> 1.7.0.3')
44
- spec.add_dependency('faye-websocket', '~> 0.7.0')
44
+ spec.add_dependency('faye-websocket', '~> 0.8.0')
45
45
  spec.add_dependency('eventmachine', ['>= 0.12.10', '< 2.0'])
46
46
  spec.add_dependency('net-ssh', '~> 2.0')
47
47
 
@@ -196,15 +196,14 @@ describe RightScale::OfflineHandler do
196
196
  @now = Time.now
197
197
  flexmock(Time).should_receive(:now).and_return(@now)
198
198
  @expires_at = @now + 25
199
- @skewed_by = 1
200
199
  @callback = lambda { |_| }
201
200
  end
202
201
 
203
202
  it "queues request at head of queue if still initializing" do
204
203
  @handler.init
205
- @handler.queue_request(@kind, @type, @payload, "target1", "token1", @expires_at, @skewed_by, &@callback).should be_true
204
+ @handler.queue_request(@kind, @type, @payload, "target1", "token1", @expires_at, &@callback).should be_true
206
205
  @handler.queue.size.should == 1
207
- @handler.queue_request(@kind, @type, @payload, "target2", "token2", @expires_at, @skewed_by, &@callback).should be_true
206
+ @handler.queue_request(@kind, @type, @payload, "target2", "token2", @expires_at, &@callback).should be_true
208
207
  @handler.queue.size.should == 2
209
208
  @handler.queue.first[:target] == "target2"
210
209
  end
@@ -212,9 +211,9 @@ describe RightScale::OfflineHandler do
212
211
  it "queues request at end of queue if no longer initializing" do
213
212
  @handler.init
214
213
  @handler.start
215
- @handler.queue_request(@kind, @type, @payload, "target1", "token1", @expires_at, @skewed_by, &@callback)
214
+ @handler.queue_request(@kind, @type, @payload, "target1", "token1", @expires_at, &@callback)
216
215
  @handler.queue.size.should == 1
217
- @handler.queue_request(@kind, @type, @payload, "target2", "token2", @expires_at, @skewed_by, &@callback)
216
+ @handler.queue_request(@kind, @type, @payload, "target2", "token2", @expires_at, &@callback)
218
217
  @handler.queue.size.should == 2
219
218
  @handler.queue.first[:target] == "target1"
220
219
  end
@@ -224,7 +223,7 @@ describe RightScale::OfflineHandler do
224
223
  @handler.start
225
224
  flexmock(@handler).should_receive(:vote_to_restart).once
226
225
  RightScale::OfflineHandler::MAX_QUEUED_REQUESTS.times do |i|
227
- @handler.queue_request(@kind, @type, @payload, @target, @token, @expires_at, @skewed_by, &@callback)
226
+ @handler.queue_request(@kind, @type, @payload, @target, @token, @expires_at, &@callback)
228
227
  end
229
228
  end
230
229
  end
@@ -250,7 +249,6 @@ describe RightScale::OfflineHandler do
250
249
  @now = Time.now
251
250
  flexmock(Time).should_receive(:now).and_return(@now)
252
251
  @expires_at = (@now + 25).to_i
253
- @skewed_by = 1
254
252
  @result = nil
255
253
  @callback = lambda { |result| @result = result }
256
254
  end
@@ -261,9 +259,9 @@ describe RightScale::OfflineHandler do
261
259
  @handler.start
262
260
  flexmock(@handler).should_receive(:start_timer)
263
261
  @handler.enable
264
- @handler.queue_request(:send_push, @type, @payload, @target, @token, 0, 0)
265
- @handler.queue_request(:send_request, @type, @payload, @target, @token, @expires_at, @skewed_by, &@callback)
266
- @handler.queue_request(:send_request, @type, @payload, @target, @token, @now.to_i, @skewed_by, &@callback)
262
+ @handler.queue_request(:send_push, @type, @payload, @target, @token, 0)
263
+ @handler.queue_request(:send_request, @type, @payload, @target, @token, @expires_at, &@callback)
264
+ @handler.queue_request(:send_request, @type, @payload, @target, @token, @now.to_i, &@callback)
267
265
  @handler.queue.size.should == 3
268
266
  flexmock(EM).should_receive(:next_tick).and_yield.twice
269
267
  @sender.should_receive(:send_push).with(@type, @payload, @target, {:token => @token}).once.ordered
@@ -427,7 +427,7 @@ describe RightScale::Sender do
427
427
  @sender = create_sender(:http, :offline_queueing => true)
428
428
  flexmock(@sender.offline_handler).should_receive(:queueing?).and_return(true)
429
429
  flexmock(@sender.offline_handler).should_receive(:queue_request).
430
- with(kind, @type, @payload, @target, @token, (@now + @ttl).to_i, 0, @callback).once
430
+ with(kind, @type, @payload, @target, @token, (@now + @ttl).to_i, @callback).once
431
431
  @sender.build_packet(kind, @type, @payload, @target, @options, &@callback).should be nil
432
432
  end
433
433
  end
@@ -779,7 +779,7 @@ describe RightScale::Sender do
779
779
  @sender.enable_offline_mode
780
780
  @client.should_receive(:request).and_raise(RightScale::Exceptions::ConnectivityFailure, "disconnected").once
781
781
  flexmock(@sender.offline_handler).should_receive(:queue_request).
782
- with(:send_push, @type, @payload, @target, @token, (@now + @ttl).to_i, 0).once
782
+ with(:send_push, @type, @payload, @target, @token, (@now + @ttl).to_i).once
783
783
  flexmock(@sender).should_receive(:handle_response).never
784
784
  @sender.send(:http_send_once, :send_push, @target, @packet, @received_at).should be_true
785
785
  end
@@ -792,7 +792,7 @@ describe RightScale::Sender do
792
792
  @sender.enable_offline_mode
793
793
  @client.should_receive(:request).and_raise(RightScale::Exceptions::ConnectivityFailure, "disconnected").once
794
794
  flexmock(@sender.offline_handler).should_receive(:queue_request).
795
- with(:send_request, @type, @payload, @target, @token, (@now + @ttl).to_i, 0, @callback).once
795
+ with(:send_request, @type, @payload, @target, @token, (@now + @ttl).to_i, @callback).once
796
796
  flexmock(@sender).should_receive(:handle_response).never
797
797
  @sender.send(:http_send_once, :send_request, @target, @packet, @received_at, &@callback).should be_true
798
798
  end
@@ -886,7 +886,7 @@ describe RightScale::Sender do
886
886
  @sender.initialize_offline_queue
887
887
  @sender.enable_offline_mode
888
888
  flexmock(@sender.offline_handler).should_receive(:queue_request).
889
- with(:send_push, @type, @payload, @target, @token, (@now + @ttl).to_i, 0).once
889
+ with(:send_push, @type, @payload, @target, @token, (@now + @ttl).to_i).once
890
890
  flexmock(@sender).should_receive(:amqp_send_once).and_raise(RightScale::Sender::TemporarilyOffline).once
891
891
  @sender.send(:amqp_send, :send_push, @target, @packet, @received_at).should be_true
892
892
  @sender.pending_requests[@token].should be_nil
@@ -103,5 +103,5 @@ def version_can_handle_msgpack_result; 12 end
103
103
  def version_cannot_handle_non_delivery_result; 12 end
104
104
  def version_can_handle_non_delivery_result; 13 end
105
105
 
106
- def version_cannot_handle_http_result; 22 end
107
- def version_can_handle_http_result; 23 end
106
+ def version_cannot_handle_http; 22 end
107
+ def version_can_handle_http; 23 end
metadata CHANGED
@@ -1,7 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: right_agent
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.6
4
+ version: 2.5.0
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Lee Kirchhoff
@@ -11,164 +12,194 @@ authors:
11
12
  autorequire:
12
13
  bindir: bin
13
14
  cert_chain: []
14
- date: 2015-09-16 00:00:00.000000000 Z
15
+ date: 2015-02-24 00:00:00.000000000 Z
15
16
  dependencies:
16
17
  - !ruby/object:Gem::Dependency
17
18
  name: right_support
18
19
  requirement: !ruby/object:Gem::Requirement
20
+ none: false
19
21
  requirements:
20
- - - ">="
22
+ - - ! '>='
21
23
  - !ruby/object:Gem::Version
22
24
  version: 2.4.1
23
- - - "<"
25
+ - - <
24
26
  - !ruby/object:Gem::Version
25
27
  version: '3.0'
26
28
  type: :runtime
27
29
  prerelease: false
28
30
  version_requirements: !ruby/object:Gem::Requirement
31
+ none: false
29
32
  requirements:
30
- - - ">="
33
+ - - ! '>='
31
34
  - !ruby/object:Gem::Version
32
35
  version: 2.4.1
33
- - - "<"
36
+ - - <
34
37
  - !ruby/object:Gem::Version
35
38
  version: '3.0'
36
39
  - !ruby/object:Gem::Dependency
37
40
  name: right_amqp
38
41
  requirement: !ruby/object:Gem::Requirement
42
+ none: false
39
43
  requirements:
40
- - - "~>"
44
+ - - ~>
41
45
  - !ruby/object:Gem::Version
42
46
  version: '0.8'
43
47
  type: :runtime
44
48
  prerelease: false
45
49
  version_requirements: !ruby/object:Gem::Requirement
50
+ none: false
46
51
  requirements:
47
- - - "~>"
52
+ - - ~>
48
53
  - !ruby/object:Gem::Version
49
54
  version: '0.8'
50
55
  - !ruby/object:Gem::Dependency
51
56
  name: rest-client
52
57
  requirement: !ruby/object:Gem::Requirement
58
+ none: false
53
59
  requirements:
54
- - - "~>"
60
+ - - ~>
55
61
  - !ruby/object:Gem::Version
56
62
  version: 1.7.0.3
57
63
  type: :runtime
58
64
  prerelease: false
59
65
  version_requirements: !ruby/object:Gem::Requirement
66
+ none: false
60
67
  requirements:
61
- - - "~>"
68
+ - - ~>
62
69
  - !ruby/object:Gem::Version
63
70
  version: 1.7.0.3
64
71
  - !ruby/object:Gem::Dependency
65
72
  name: faye-websocket
66
73
  requirement: !ruby/object:Gem::Requirement
74
+ none: false
67
75
  requirements:
68
- - - "~>"
76
+ - - ~>
69
77
  - !ruby/object:Gem::Version
70
- version: 0.7.0
78
+ version: 0.8.0
71
79
  type: :runtime
72
80
  prerelease: false
73
81
  version_requirements: !ruby/object:Gem::Requirement
82
+ none: false
74
83
  requirements:
75
- - - "~>"
84
+ - - ~>
76
85
  - !ruby/object:Gem::Version
77
- version: 0.7.0
86
+ version: 0.8.0
78
87
  - !ruby/object:Gem::Dependency
79
88
  name: eventmachine
80
89
  requirement: !ruby/object:Gem::Requirement
90
+ none: false
81
91
  requirements:
82
- - - ">="
92
+ - - ! '>='
83
93
  - !ruby/object:Gem::Version
84
94
  version: 0.12.10
85
- - - "<"
95
+ - - <
86
96
  - !ruby/object:Gem::Version
87
97
  version: '2.0'
88
98
  type: :runtime
89
99
  prerelease: false
90
100
  version_requirements: !ruby/object:Gem::Requirement
101
+ none: false
91
102
  requirements:
92
- - - ">="
103
+ - - ! '>='
93
104
  - !ruby/object:Gem::Version
94
105
  version: 0.12.10
95
- - - "<"
106
+ - - <
96
107
  - !ruby/object:Gem::Version
97
108
  version: '2.0'
98
109
  - !ruby/object:Gem::Dependency
99
110
  name: net-ssh
100
111
  requirement: !ruby/object:Gem::Requirement
112
+ none: false
101
113
  requirements:
102
- - - "~>"
114
+ - - ~>
103
115
  - !ruby/object:Gem::Version
104
116
  version: '2.0'
105
117
  type: :runtime
106
118
  prerelease: false
107
119
  version_requirements: !ruby/object:Gem::Requirement
120
+ none: false
108
121
  requirements:
109
- - - "~>"
122
+ - - ~>
110
123
  - !ruby/object:Gem::Version
111
124
  version: '2.0'
112
125
  - !ruby/object:Gem::Dependency
113
126
  name: ffi
114
127
  requirement: !ruby/object:Gem::Requirement
128
+ none: false
115
129
  requirements:
116
- - - ">="
130
+ - - ! '>='
117
131
  - !ruby/object:Gem::Version
118
132
  version: '0'
119
133
  type: :runtime
120
134
  prerelease: false
121
135
  version_requirements: !ruby/object:Gem::Requirement
136
+ none: false
122
137
  requirements:
123
- - - ">="
138
+ - - ! '>='
124
139
  - !ruby/object:Gem::Version
125
140
  version: '0'
126
141
  - !ruby/object:Gem::Dependency
127
142
  name: msgpack
128
143
  requirement: !ruby/object:Gem::Requirement
144
+ none: false
129
145
  requirements:
130
- - - ">="
146
+ - - ! '>='
131
147
  - !ruby/object:Gem::Version
132
148
  version: 0.4.4
133
- - - "<"
149
+ - - <
134
150
  - !ruby/object:Gem::Version
135
151
  version: '0.6'
136
152
  type: :runtime
137
153
  prerelease: false
138
154
  version_requirements: !ruby/object:Gem::Requirement
155
+ none: false
139
156
  requirements:
140
- - - ">="
157
+ - - ! '>='
141
158
  - !ruby/object:Gem::Version
142
159
  version: 0.4.4
143
- - - "<"
160
+ - - <
144
161
  - !ruby/object:Gem::Version
145
162
  version: '0.6'
146
163
  - !ruby/object:Gem::Dependency
147
164
  name: json
148
165
  requirement: !ruby/object:Gem::Requirement
166
+ none: false
149
167
  requirements:
150
- - - "~>"
168
+ - - ~>
151
169
  - !ruby/object:Gem::Version
152
170
  version: '1.4'
153
171
  type: :runtime
154
172
  prerelease: false
155
173
  version_requirements: !ruby/object:Gem::Requirement
174
+ none: false
156
175
  requirements:
157
- - - "~>"
176
+ - - ~>
158
177
  - !ruby/object:Gem::Version
159
178
  version: '1.4'
160
- description: |
161
- RightAgent provides a foundation for running an agent on a server to interface
179
+ description: ! 'RightAgent provides a foundation for running an agent on a server
180
+ to interface
181
+
162
182
  in a secure fashion with other agents in the RightScale system using RightNet,
183
+
163
184
  which operates in either HTTP or AMQP mode. When using HTTP, RightAgent
185
+
164
186
  makes requests to RightApi servers and receives requests using long-polling or
187
+
165
188
  WebSockets via the RightNet router. To respond to requests it posts to the
189
+
166
190
  HTTP router. When using AMQP, RightAgent uses RabbitMQ as the message bus and
191
+
167
192
  the RightNet router as the routing node to make requests; to receives requests
193
+
168
194
  routed to it by the RightNet router, it establishes a queue on startup. The
195
+
169
196
  packets are structured to invoke services in the agent represented by actors
197
+
170
198
  and methods. The RightAgent may respond to these requests with a result packet
199
+
171
200
  that the router then routes to the originator.
201
+
202
+ '
172
203
  email: lee@rightscale.com
173
204
  executables: []
174
205
  extensions: []
@@ -362,29 +393,33 @@ files:
362
393
  - spec/tracer_spec.rb
363
394
  homepage: https://github.com/rightscale/right_agent
364
395
  licenses: []
365
- metadata: {}
366
396
  post_install_message:
367
397
  rdoc_options:
368
- - "--main"
398
+ - --main
369
399
  - README.rdoc
370
- - "--title"
400
+ - --title
371
401
  - RightAgent
372
402
  require_paths:
373
403
  - lib
374
404
  required_ruby_version: !ruby/object:Gem::Requirement
405
+ none: false
375
406
  requirements:
376
- - - ">="
407
+ - - ! '>='
377
408
  - !ruby/object:Gem::Version
378
409
  version: 1.8.7
379
410
  required_rubygems_version: !ruby/object:Gem::Requirement
411
+ none: false
380
412
  requirements:
381
- - - ">="
413
+ - - ! '>='
382
414
  - !ruby/object:Gem::Version
383
415
  version: '0'
416
+ segments:
417
+ - 0
418
+ hash: 1759897669862666077
384
419
  requirements: []
385
420
  rubyforge_project:
386
- rubygems_version: 2.2.3
421
+ rubygems_version: 1.8.26
387
422
  signing_key:
388
- specification_version: 4
423
+ specification_version: 3
389
424
  summary: Agent for interfacing server with RightScale system
390
425
  test_files: []
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 8180837ab6a7f6c7ad3368c26feafb8718dcca20
4
- data.tar.gz: 7a32eab4484c4d5bb46c150813caa1a9ecd46f56
5
- SHA512:
6
- metadata.gz: 1ec91b652cdd3da73329e0618bd27f75d98fa6d0ddc5fa31e6a4680a8ac663c36019bd65a595d636b24005d24b3de2a2ad9640875776d66ac8ca8d822329b3b8
7
- data.tar.gz: 28919cf8fc17ca7b23d0c96d05911b7fac92c3b9d14bfb35d616762cbee026e6f64d7a6261cf322ec7833261ae70ec3cb5238bdc791b9d0250c810a1e65f98df