sfpagent 0.4.9 → 0.4.10

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of sfpagent might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 94a46954e0baa7fad3685faae5e88b9a2f7d769f
4
- data.tar.gz: edf671fc44ffb00b0067bd09e1a7f59f051a2719
3
+ metadata.gz: a0edf95f2387a7f187b450258e964f16bb1a9dca
4
+ data.tar.gz: e4df10b602436a7b8edd971c109ba1202c004f0f
5
5
  SHA512:
6
- metadata.gz: 4d4c45a2879ea273dd9ca19151ab01cfaada5475eadd81df40306be9856a2d4b46b17bba81e7babafaa8afdc704d713f4ed383ae4e13ee894acaa74bfb4f7d05
7
- data.tar.gz: 3ada473126c4d2a3bde62295d255977c173f2de73d7bd6e7df80255482cc32a27480699f003f6b031dbeec1d6a3a8152a461929baed3632a9a6c0f942565d8ec
6
+ metadata.gz: 14b0d8589514d97d44dbb014547a995465a9c7c22022b98b81f6b46ad9290da9c8d192cf023c55cd9ebbaa0292463d68c48eaf123343d29acd3fb5f0368053e5
7
+ data.tar.gz: c32233497e0e74abd2de3fc2f409a4fc66c137eae57ffaddddb76ea76ec2561ffff6212ba8364a49667e7e78f346316f185cce8b2cf18899076c6ae7388454a2
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.9
1
+ 0.4.10
@@ -629,8 +629,8 @@ module Sfp
629
629
  begin
630
630
  code, _ = NetHelper.put_data(agent['sfpAddress'], agent['sfpPort'], '/agents', http_data, 5, 20)
631
631
  raise Exception if code != '200'
632
- rescue Exception => e
633
- Sfp::Agent.logger.warn "Push agents list to #{agent['sfpAddress']}:#{agent['sfpPort']} [Failed]"
632
+ rescue #Exception => e
633
+ #Sfp::Agent.logger.warn "Push agents list to #{agent['sfpAddress']}:#{agent['sfpPort']} [Failed]"
634
634
  end
635
635
  }
636
636
  }
@@ -16,7 +16,6 @@ class Sfp::BSig
16
16
  @lock = Mutex.new
17
17
  @enabled = false
18
18
  @status = :stopped
19
- @lock_postprocess = Mutex.new
20
19
  end
21
20
 
22
21
  def stop
@@ -176,7 +175,7 @@ class Sfp::BSig
176
175
  lock.synchronize { status << stat }
177
176
  }
178
177
  end
179
- wait? { (status.length >= selected_operators.length) }
178
+ wait_until? { (status.length >= selected_operators.length) }
180
179
  Sfp::Agent.logger.info "[#{mode}] exec status: #{status.inspect}"
181
180
  status.each { |stat|
182
181
  return :failure if stat == :failure
@@ -185,7 +184,7 @@ class Sfp::BSig
185
184
  :repaired
186
185
  end
187
186
 
188
- def wait?
187
+ def wait_until?
189
188
  until yield do
190
189
  sleep 1
191
190
  end
@@ -256,7 +255,7 @@ class Sfp::BSig
256
255
  lock.synchronize { status << stat }
257
256
  }
258
257
  end
259
- wait? { status.length >= agents_goal.length }
258
+ wait_until? { status.length >= agents_goal.length }
260
259
  Sfp::Agent.logger.info "[#{mode}] achieve_remote_goal: #{status}"
261
260
  status.each { |stat| return false if !stat }
262
261
  end
@@ -557,18 +556,16 @@ class Sfp::BSig
557
556
  end
558
557
 
559
558
  def postprocess_delete_vm(operator)
560
- @lock_postprocess.synchronize {
561
- _, agent_name, _ = operator['parameters']['$.vm'].split('.', 3)
559
+ _, agent_name, _ = operator['parameters']['$.vm'].split('.', 3)
562
560
 
563
- Sfp::Agent.logger.info "Postprocess delete VM #{agent_name}"
561
+ Sfp::Agent.logger.info "Postprocess delete VM #{agent_name}"
564
562
 
565
- # update agents database (automatically broadcast to other agents)
566
- Sfp::Agent.set_agents({agent_name => nil})
567
- }
563
+ # update agents database (automatically broadcast to other agents)
564
+ Sfp::Agent.set_agents({agent_name => nil})
568
565
  end
569
566
 
570
567
  def postprocess_create_vm(operator)
571
- @lock_postprocess.synchronize {
568
+ 3.times do |i|
572
569
  refs = operator['name'].split('.')
573
570
  vms_ref = refs[0..-2].join('.') + '.vms'
574
571
 
@@ -598,6 +595,16 @@ class Sfp::BSig
598
595
  address = data[agent_name]['sfpAddress']
599
596
  port = data[agent_name]['sfpPort']
600
597
 
598
+ # wait until agent is running
599
+ wait_until? {
600
+ begin
601
+ code, _ = get_data(address, port, '/')
602
+ true
603
+ rescue
604
+ false
605
+ end
606
+ }
607
+
601
608
  # push required modules
602
609
  push_modules(model, address, port)
603
610
 
@@ -605,14 +612,14 @@ class Sfp::BSig
605
612
  code, _ = put_data(address, port, '/agents', {'agents' => JSON.generate(Sfp::Agent.get_agents)})
606
613
 
607
614
  # push new agent's model
608
- code, _ = put_data(address, port, '/model', {'model' => JSON.generate({agent_name => model['model']})})
615
+ code1, _ = put_data(address, port, '/model', {'model' => JSON.generate({agent_name => model['model']})})
609
616
 
610
617
  # push new agent's BSig model
611
- code, _ = put_data(address, port, '/bsig', {'bsig' => JSON.generate(model['bsig'])}) if code == '200'
618
+ code2, _ = put_data(address, port, '/bsig', {'bsig' => JSON.generate(model['bsig'])}) if code == '200'
612
619
 
613
- return (code == '200')
620
+ return (code1 == '200' and code2 == '200')
614
621
  end
615
- }
622
+ end
616
623
  false
617
624
  end
618
625
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sfpagent
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.9
4
+ version: 0.4.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Herry
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-09 00:00:00.000000000 Z
11
+ date: 2013-12-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sfp