cirrocumulus 0.6.3 → 0.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. data/README.rdoc +1 -22
  2. data/lib/cirrocumulus.rb +8 -2
  3. data/lib/cirrocumulus/{message.rb → agents/message.rb} +0 -0
  4. data/lib/cirrocumulus/channels.rb +129 -0
  5. data/lib/cirrocumulus/channels/jabber.rb +168 -0
  6. data/lib/cirrocumulus/environment.rb +46 -0
  7. data/lib/cirrocumulus/facts.rb +135 -0
  8. data/lib/cirrocumulus/identifier.rb +84 -0
  9. data/lib/cirrocumulus/ontology.rb +333 -49
  10. data/lib/cirrocumulus/pattern_matching.rb +175 -0
  11. data/lib/cirrocumulus/remote_console.rb +29 -0
  12. data/lib/cirrocumulus/rule_queue.rb +69 -0
  13. data/lib/cirrocumulus/rules/engine.rb +7 -5
  14. data/lib/cirrocumulus/rules/fact.rb +22 -0
  15. data/lib/cirrocumulus/rules/pattern_matcher.rb +19 -0
  16. data/lib/cirrocumulus/rules/run_queue.rb +1 -0
  17. data/lib/cirrocumulus/saga.rb +44 -25
  18. data/lib/console.rb +96 -0
  19. metadata +79 -72
  20. data/.document +0 -5
  21. data/.idea/.name +0 -1
  22. data/.idea/.rakeTasks +0 -7
  23. data/.idea/cirrocumulus.iml +0 -87
  24. data/.idea/encodings.xml +0 -5
  25. data/.idea/misc.xml +0 -5
  26. data/.idea/modules.xml +0 -9
  27. data/.idea/scopes/scope_settings.xml +0 -5
  28. data/.idea/vcs.xml +0 -7
  29. data/.idea/workspace.xml +0 -614
  30. data/Gemfile +0 -18
  31. data/Gemfile.lock +0 -43
  32. data/Rakefile +0 -37
  33. data/VERSION +0 -1
  34. data/cirrocumulus.gemspec +0 -106
  35. data/lib/.gitignore +0 -5
  36. data/lib/cirrocumulus/agent_wrapper.rb +0 -67
  37. data/lib/cirrocumulus/jabber_bus.rb +0 -140
  38. data/lib/cirrocumulus/rule_engine.rb +0 -2
  39. data/lib/cirrocumulus/rule_server.rb +0 -49
  40. data/test/Gemfile +0 -3
  41. data/test/Gemfile.lock +0 -27
  42. data/test/helper.rb +0 -18
  43. data/test/test.rb +0 -85
  44. data/test/test2.rb +0 -30
  45. data/test/test_cirrocumulus.rb +0 -7
@@ -1,3 +0,0 @@
1
- source "http://rubygems.org"
2
-
3
- gem 'cirrocumulus'
@@ -1,27 +0,0 @@
1
- GEM
2
- remote: http://rubygems.org/
3
- specs:
4
- activesupport (2.3.14)
5
- cirrocumulus (0.6.1)
6
- activesupport (~> 2.3.11)
7
- deil_sexpistol
8
- eventmachine
9
- guid
10
- log4r (~> 1.1.9)
11
- systemu
12
- xmpp4r (~> 0.5)
13
- xmpp4r-simple
14
- deil_sexpistol (0.0.8)
15
- eventmachine (0.12.10)
16
- guid (0.1.1)
17
- log4r (1.1.10)
18
- systemu (2.4.2)
19
- xmpp4r (0.5)
20
- xmpp4r-simple (0.8.8)
21
- xmpp4r (>= 0.3.2)
22
-
23
- PLATFORMS
24
- ruby
25
-
26
- DEPENDENCIES
27
- cirrocumulus
@@ -1,18 +0,0 @@
1
- require 'rubygems'
2
- require 'bundler'
3
- begin
4
- Bundler.setup(:default, :development)
5
- rescue Bundler::BundlerError => e
6
- $stderr.puts e.message
7
- $stderr.puts "Run `bundle install` to install missing gems"
8
- exit e.status_code
9
- end
10
- require 'test/unit'
11
- require 'shoulda'
12
-
13
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
14
- $LOAD_PATH.unshift(File.dirname(__FILE__))
15
- require 'cirrocumulus'
16
-
17
- class Test::Unit::TestCase
18
- end
@@ -1,85 +0,0 @@
1
- require 'bundler/setup'
2
- require 'active_support'
3
- require 'cirrocumulus/rule_engine'
4
-
5
- class Test < RuleEngine::Base
6
- rule 'convert', [[:temperature, :X, 'F']] do |engine, params|
7
- puts "qqq"
8
- x = params[:X].to_i
9
- engine.retract([:temperature, x, 'F'])
10
- y = 5*(x - 32)/9
11
- engine.assert([:temperature, y, 'C'])
12
- end
13
-
14
- rule 'test', [ [:a, :B, :c], [:c, :B, :a]], :for => 5.seconds do |engine, params|
15
- p "test"
16
- p params
17
- end
18
- =begin
19
- rule 'guest_powered_off', [[:guest, :X, :powered_off]], :for => 5.seconds do |engine, params|
20
- puts "guest_powered_off"
21
- end
22
-
23
- rule 'monitor_md', [[:virtual_disk, :X, :active], [:mdraid, :X, :failed]] do |engine, params|
24
- # md devices is failed, but virtual disk should be up
25
- p params
26
- puts "virtual disk #{params[:X]} should be up, but corresponding md devices is failed!"
27
- end
28
- =end
29
- end
30
-
31
- #RuleEngine::Server.run()
32
-
33
- e = Test.new
34
-
35
- #e.assert [:i, :will, :expire, :soon], :expires => 10.seconds
36
- #e.replace [:guest, :X, :powered_off], "q1w2", :expires => 2.seconds
37
- e.assert [:a, 'b', :c]
38
- e.assert [:a, 'haha', :c], :expires => 3.seconds
39
- e.assert [:c, 'b', :a], :expires => 6.seconds
40
-
41
- e.start()
42
-
43
- while true
44
- sleep 1
45
- end
46
-
47
- exit 0
48
-
49
- e.assert [:guest, "233bed174ab0802fd908f981d64d185b", :powered_off]
50
- e.assert [:guest, "233bed174ab0802fd908f981d64d185b", :running]
51
- e.assert [:guest, "233bed174ab0802fd908f981d64d185b", :state, :powered_on]
52
- e.replace [:guest, "233bed174ab0802fd908f981d64d185b", :state, :STATE], :powered_off
53
-
54
- p e.match [:guest, "233bed174ab0802fd908f981d64d185b", :running]
55
- #while true do
56
- e.tick()
57
- # sleep 1
58
- #end
59
-
60
- gets
61
- e.dump_kb()
62
- exit(0)
63
-
64
- e.assert [:virtual_disk, 163, :active]
65
- #e.assert [:virtual_disk, 139, :active]
66
- #e.assert [:virtual_disk, 145, :active]
67
- #e.assert [:virtual_disk, 146, :active]
68
- #e.assert [:virtual_disk, 149, :active]
69
- e.assert [:virtual_disk, 153, :active]
70
- #e.assert [:virtual_disk, 154, :active]
71
- #e.assert [:virtual_disk, 156, :active]
72
- e.assert [:virtual_disk, 158, :active]
73
- #e.assert [:virtual_disk, 137, :active]
74
- #e.assert [:virtual_disk, 135, :active]
75
- #e.assert [:virtual_disk, 159, :active]
76
- #e.assert [:virtual_disk, 103, :active]
77
- #e.assert [:virtual_disk, 102, :active]
78
- #e.assert [:virtual_disk, 20, :active]
79
- #e.assert [:virtual_disk, 2, :active]
80
- #e.assert [:virtual_disk, 777, :active]
81
- #e.assert [:virtual_disk, 90, :active]
82
- e.assert [:mdraid, 153, :failed], true
83
- e.assert [:mdraid, 158, :failed], true
84
- e.execute()
85
- gets
@@ -1,30 +0,0 @@
1
- require 'rubygems'
2
- require 'sexpistol'
3
-
4
- def map_sub(arr)
5
- return [] if arr.nil?
6
- return arr if !arr.is_a?(Array)
7
- return [] if arr.size == 0
8
- return {arr[0] => []} if arr.size == 1
9
- return {arr[0] => map_sub(arr[1])} if arr.size == 2
10
-
11
- res = {arr[0] => []}
12
-
13
- arr.each_with_index do |item,i|
14
- next if i == 0
15
- res[arr[0]] << map_sub(item)
16
- end
17
-
18
- res
19
- end
20
-
21
- def map(arr)
22
- return map_sub(arr[0]) if arr.size == 1
23
- return map_sub(arr)
24
- end
25
-
26
- s = Sexpistol.new
27
- e = s.parse_string "(create (vds (ram 256) (eth \"1\" \"2\")))"
28
-
29
- p e
30
- p map(e)
@@ -1,7 +0,0 @@
1
- require 'helper'
2
-
3
- class TestCirrocumulus < Test::Unit::TestCase
4
- should "probably rename this file and start testing for real" do
5
- flunk "hey buddy, you should probably rename this file and start testing for real"
6
- end
7
- end