X-Git-Url: https://review.fuel-infra.org/gitweb?a=blobdiff_plain;f=doc%2FMCollective%2FPluginPackager%2FAgentDefinition.html;fp=doc%2FMCollective%2FPluginPackager%2FAgentDefinition.html;h=c95beeadf150574ffec0c0899f4f2a9d9c85c09c;hb=7c9314f502cde8daad23b61d10b24a542e04154a;hp=0000000000000000000000000000000000000000;hpb=d1f1649ba43c5cbc43c4beb2380096ba051d646a;p=packages%2Fprecise%2Fmcollective.git diff --git a/doc/MCollective/PluginPackager/AgentDefinition.html b/doc/MCollective/PluginPackager/AgentDefinition.html new file mode 100644 index 0000000..c95beea --- /dev/null +++ b/doc/MCollective/PluginPackager/AgentDefinition.html @@ -0,0 +1,820 @@ + + + + + + + Class: MCollective::PluginPackager::AgentDefinition + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+

Parent

+ + + +
+ + + + + + + +
+

Methods

+ +
+ + + + +
+ +
+ + + + + +
+

Class Index + [+]

+
+
+ Quicksearch + +
+
+ + + +
+ + +
+
+ +
+

MCollective::PluginPackager::AgentDefinition

+ +
+

+MCollective Agent Plugin package +

+ +
+ + + + + + +
+

Attributes

+ + +
+ + + + +
+ path[RW] +
+ +
+ +

(Not documented)

+ +
+
+ +
+ + + + +
+ packagedata[RW] +
+ +
+ +

(Not documented)

+ +
+
+ +
+ + + + +
+ metadata[RW] +
+ +
+ +

(Not documented)

+ +
+
+ +
+ + + + +
+ target_path[RW] +
+ +
+ +

(Not documented)

+ +
+
+ +
+ + + + +
+ vendor[RW] +
+ +
+ +

(Not documented)

+ +
+
+ +
+ + + + +
+ revision[RW] +
+ +
+ +

(Not documented)

+ +
+
+ +
+ + + + +
+ preinstall[RW] +
+ +
+ +

(Not documented)

+ +
+
+ +
+ + + + +
+ plugintype[RW] +
+ +
+ +

(Not documented)

+ +
+
+ +
+ + + + +
+ dependencies[RW] +
+ +
+ +

(Not documented)

+ +
+
+ +
+ + + + +
+ postinstall[RW] +
+ +
+ +

(Not documented)

+ +
+
+ +
+ + + + +
+ mcname[RW] +
+ +
+ +

(Not documented)

+ +
+
+ +
+ + + + +
+ mcversion[RW] +
+ +
+ +

(Not documented)

+ +
+
+ +
+ + + + +
+

Public Class Methods

+ + +
+ + +
+ + new(configuration, mcdependency, plugintype) + click to toggle source + +
+ +
+ +

(Not documented)

+ + + +
+
+    # File lib/mcollective/pluginpackager/agent_definition.rb, line 8
+ 8:       def initialize(configuration, mcdependency, plugintype)
+ 9:         @plugintype = plugintype
+10:         @path = configuration[:target]
+11:         @packagedata = {}
+12:         @revision = configuration[:revision] || 1
+13:         @preinstall = configuration[:preinstall]
+14:         @postinstall = configuration[:postinstall]
+15:         @vendor = configuration[:vendor] || "Puppet Labs"
+16:         @dependencies = configuration[:dependency] || []
+17:         @target_path = File.expand_path(@path)
+18:         @metadata, mcversion = PluginPackager.get_metadata(@path, "agent")
+19:         @mcname = mcdependency[:mcname] ||  "mcollective"
+20:         @mcversion = mcdependency[:mcversion] || mcversion
+21:         @metadata[:version] = (configuration[:version] || @metadata[:version])
+22:         @dependencies << {:name => "#{@mcname}-common", :version => @mcversion}
+23:         @metadata[:name] = (configuration[:pluginname] || @metadata[:name]).downcase.gsub(/\s+|_/, "-")
+24:         identify_packages
+25:       end
+
+ +
+ + +
+ + +
+ +
+

Public Instance Methods

+ + +
+ + +
+ + agent() + click to toggle source + +
+ +
+ +

+Obtain Agent package files and dependencies. +

+ + + +
+
+    # File lib/mcollective/pluginpackager/agent_definition.rb, line 38
+38:       def agent
+39:         agent = {:files => [],
+40:                  :dependencies => @dependencies.clone,
+41:                  :description => "Agent plugin for #{@metadata[:name]}"}
+42: 
+43:         agentdir = File.join(@path, "agent")
+44: 
+45:         if PluginPackager.check_dir_present agentdir
+46:           ddls = Dir.glob(File.join(agentdir, "*.ddl"))
+47:           agent[:files] = (Dir.glob(File.join(agentdir, "*")) - ddls)
+48:         else
+49:           return nil
+50:         end
+51:         agent[:plugindependency] = {:name => "#{@mcname}-#{@metadata[:name]}-common", :version => @metadata[:version], :revision => @revision}
+52:         agent
+53:       end
+
+ +
+ + +
+ + +
+ + +
+ + client() + click to toggle source + +
+ +
+ +

+Obtain client package files and dependencies. +

+ + + +
+
+    # File lib/mcollective/pluginpackager/agent_definition.rb, line 56
+56:       def client
+57:         client = {:files => [],
+58:                   :dependencies => @dependencies.clone,
+59:                   :description => "Client plugin for #{@metadata[:name]}"}
+60: 
+61:         clientdir = File.join(@path, "application")
+62:         aggregatedir = File.join(@path, "aggregate")
+63: 
+64:         client[:files] += Dir.glob(File.join(clientdir, "*")) if PluginPackager.check_dir_present clientdir
+65:         client[:files] += Dir.glob(File.join(aggregatedir, "*")) if PluginPackager.check_dir_present aggregatedir
+66:         client[:plugindependency] = {:name => "#{@mcname}-#{@metadata[:name]}-common", :version => @metadata[:version], :revision => @revision}
+67:         client[:files].empty? ? nil : client
+68:       end
+
+ +
+ + +
+ + +
+ + +
+ + common() + click to toggle source + +
+ +
+ +

+Obtain common package files and dependencies. +

+ + + +
+
+    # File lib/mcollective/pluginpackager/agent_definition.rb, line 71
+71:       def common
+72:         common = {:files =>[],
+73:                   :dependencies => @dependencies.clone,
+74:                   :description => "Common libraries for #{@metadata[:name]}"}
+75: 
+76:         datadir = File.join(@path, "data", "**")
+77:         utildir = File.join(@path, "util", "**", "**")
+78:         ddldir = File.join(@path, "agent", "*.ddl")
+79:         validatordir = File.join(@path, "validator", "**")
+80: 
+81:         [datadir, utildir, validatordir, ddldir].each do |directory|
+82:           common[:files] += Dir.glob(directory)
+83:         end
+84: 
+85:         # We fail if there is no ddl file present
+86:         if common[:files].grep(/^.*\.ddl$/).empty?
+87:           raise "cannot create package - No ddl file found in #{File.join(@path, "agent")}"
+88:         end
+89: 
+90:         common[:files].empty? ? nil : common
+91:       end
+
+ +
+ + +
+ + +
+ + +
+ + identify_packages() + click to toggle source + +
+ +
+ +

+Identify present packages and populate packagedata hash. +

+ + + +
+
+    # File lib/mcollective/pluginpackager/agent_definition.rb, line 28
+28:       def identify_packages
+29:         common_package = common
+30:         @packagedata[:common] = common_package if common_package
+31:         agent_package = agent
+32:         @packagedata[:agent] = agent_package if agent_package
+33:         client_package = client
+34:         @packagedata[:client] = client_package if client_package
+35:       end
+
+ +
+ + +
+ + +
+ + +
+ + +
+ +

Disabled; run with --debug to generate this.

+ +
+ +
+

[Validate]

+

Generated with the Darkfish + Rdoc Generator 1.1.6.

+
+ + + +