Updated mcollective.init according to OSCI-658
[packages/precise/mcollective.git] / plugins / mcollective / agent / discovery.rb
diff --git a/plugins/mcollective/agent/discovery.rb b/plugins/mcollective/agent/discovery.rb
new file mode 100644 (file)
index 0000000..ede2ec4
--- /dev/null
@@ -0,0 +1,39 @@
+module MCollective
+  module Agent
+    # Discovery agent for The Marionette Collective
+    #
+    # Released under the Apache License, Version 2
+    class Discovery
+      attr_reader :timeout, :meta
+
+      def initialize
+        config = Config.instance.pluginconf
+
+        @timeout = 5
+        @timeout = config["discovery.timeout"].to_i if config.include?("discovery.timeout")
+
+        @meta = {:license => "Apache License, Version 2",
+                 :author => "R.I.Pienaar <rip@devco.net>",
+                 :timeout => @timeout,
+                 :name => "Discovery Agent",
+                 :version => MCollective.version,
+                 :url => "http://www.marionette-collective.org",
+                 :description => "MCollective Discovery Agent"}
+      end
+
+      def handlemsg(msg, stomp)
+        reply = "unknown request"
+
+        case msg[:body]
+          when "ping"
+            reply = "pong"
+
+          else
+            reply = "Unknown Request: #{msg[:body]}"
+        end
+
+        reply
+      end
+    end
+  end
+end