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 +4 -4
- data/VERSION +1 -1
- data/lib/sfpagent/agent.rb +2 -2
- data/lib/sfpagent/bsig.rb +22 -15
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a0edf95f2387a7f187b450258e964f16bb1a9dca
|
4
|
+
data.tar.gz: e4df10b602436a7b8edd971c109ba1202c004f0f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 14b0d8589514d97d44dbb014547a995465a9c7c22022b98b81f6b46ad9290da9c8d192cf023c55cd9ebbaa0292463d68c48eaf123343d29acd3fb5f0368053e5
|
7
|
+
data.tar.gz: c32233497e0e74abd2de3fc2f409a4fc66c137eae57ffaddddb76ea76ec2561ffff6212ba8364a49667e7e78f346316f185cce8b2cf18899076c6ae7388454a2
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.4.
|
1
|
+
0.4.10
|
data/lib/sfpagent/agent.rb
CHANGED
@@ -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
|
}
|
data/lib/sfpagent/bsig.rb
CHANGED
@@ -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
|
-
|
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
|
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
|
-
|
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
|
-
|
561
|
-
_, agent_name, _ = operator['parameters']['$.vm'].split('.', 3)
|
559
|
+
_, agent_name, _ = operator['parameters']['$.vm'].split('.', 3)
|
562
560
|
|
563
|
-
|
561
|
+
Sfp::Agent.logger.info "Postprocess delete VM #{agent_name}"
|
564
562
|
|
565
|
-
|
566
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
618
|
+
code2, _ = put_data(address, port, '/bsig', {'bsig' => JSON.generate(model['bsig'])}) if code == '200'
|
612
619
|
|
613
|
-
return (
|
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.
|
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-
|
11
|
+
date: 2013-12-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sfp
|