1 <?xml version="1.0" encoding="utf-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
5 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7 <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
9 <title>File: en.yml [mcollective version 2.3.3]</title>
11 <link type="text/css" media="screen" href="../../../rdoc.css" rel="stylesheet" />
13 <script src="../../../js/jquery.js" type="text/javascript"
14 charset="utf-8"></script>
15 <script src="../../../js/thickbox-compressed.js" type="text/javascript"
16 charset="utf-8"></script>
17 <script src="../../../js/quicksearch.js" type="text/javascript"
18 charset="utf-8"></script>
19 <script src="../../../js/darkfish.js" type="text/javascript"
20 charset="utf-8"></script>
25 <div id="project-metadata">
28 <div id="fileindex-section" class="section project-section">
29 <h3 class="section-header">Files</h3>
32 <li class="file"><a href="../../../COPYING.html">COPYING</a></li>
34 <li class="file"><a href="../../../Gemfile.html">Gemfile</a></li>
36 <li class="file"><a href="../../../README.html">README</a></li>
38 <li class="file"><a href="../../../Rakefile.html">Rakefile</a></li>
40 <li class="file"><a href="../../../etc/client_cfg_dist.html">client.cfg.dist</a></li>
42 <li class="file"><a href="../../../etc/data-help_erb.html">data-help.erb</a></li>
44 <li class="file"><a href="../../../etc/discovery-help_erb.html">discovery-help.erb</a></li>
46 <li class="file"><a href="../../../etc/facts_yaml_dist.html">facts.yaml.dist</a></li>
48 <li class="file"><a href="../../../etc/metadata-help_erb.html">metadata-help.erb</a></li>
50 <li class="file"><a href="../../../etc/msg-help_erb.html">msg-help.erb</a></li>
52 <li class="file"><a href="../../../etc/rpc-help_erb.html">rpc-help.erb</a></li>
54 <li class="file"><a href="../../../etc/server_cfg_dist.html">server.cfg.dist</a></li>
56 <li class="file"><a href="../../../etc/ssl/PLACEHOLDER.html">PLACEHOLDER</a></li>
58 <li class="file"><a href="../../../etc/ssl/clients/PLACEHOLDER.html">PLACEHOLDER</a></li>
60 <li class="file"><a href="../../../lib/mcollective/generators/templates/action_snippet_erb.html">action_snippet.erb</a></li>
62 <li class="file"><a href="../../../lib/mcollective/generators/templates/data_input_snippet_erb.html">data_input_snippet.erb</a></li>
64 <li class="file"><a href="../../../lib/mcollective/generators/templates/ddl_erb.html">ddl.erb</a></li>
66 <li class="file"><a href="../../../lib/mcollective/generators/templates/plugin_erb.html">plugin.erb</a></li>
68 <li class="file"><a href="../../../lib/mcollective/locales/en_yml.html">en.yml</a></li>
70 <li class="file"><a href="../../../mcollective_init.html">mcollective.init</a></li>
76 <div id="classindex-section" class="section project-section">
77 <h3 class="section-header">Class Index
78 <span class="search-toggle"><img src="../../../images/find.png"
79 height="16" width="16" alt="[+]"
80 title="show/hide quicksearch" /></span></h3>
81 <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
83 <legend>Quicksearch</legend>
84 <input type="text" name="quicksearch" value=""
85 class="quicksearch-field" />
89 <ul class="link-list">
91 <li><a href="../../../MCollective.html">MCollective</a></li>
93 <li><a href="../../../MCollective/Agent.html">MCollective::Agent</a></li>
95 <li><a href="../../../MCollective/Agents.html">MCollective::Agents</a></li>
97 <li><a href="../../../MCollective/Aggregate.html">MCollective::Aggregate</a></li>
99 <li><a href="../../../MCollective/Aggregate/Base.html">MCollective::Aggregate::Base</a></li>
101 <li><a href="../../../MCollective/Aggregate/Result.html">MCollective::Aggregate::Result</a></li>
103 <li><a href="../../../MCollective/Aggregate/Result/Base.html">MCollective::Aggregate::Result::Base</a></li>
105 <li><a href="../../../MCollective/Aggregate/Result/CollectionResult.html">MCollective::Aggregate::Result::CollectionResult</a></li>
107 <li><a href="../../../MCollective/Aggregate/Result/NumericResult.html">MCollective::Aggregate::Result::NumericResult</a></li>
109 <li><a href="../../../MCollective/Application.html">MCollective::Application</a></li>
111 <li><a href="../../../MCollective/Applications.html">MCollective::Applications</a></li>
113 <li><a href="../../../MCollective/Cache.html">MCollective::Cache</a></li>
115 <li><a href="../../../MCollective/Client.html">MCollective::Client</a></li>
117 <li><a href="../../../MCollective/CodedError.html">MCollective::CodedError</a></li>
119 <li><a href="../../../MCollective/Config.html">MCollective::Config</a></li>
121 <li><a href="../../../MCollective/Connector.html">MCollective::Connector</a></li>
123 <li><a href="../../../MCollective/Connector/Base.html">MCollective::Connector::Base</a></li>
125 <li><a href="../../../MCollective/DDL.html">MCollective::DDL</a></li>
127 <li><a href="../../../MCollective/DDL/AgentDDL.html">MCollective::DDL::AgentDDL</a></li>
129 <li><a href="../../../MCollective/DDL/Base.html">MCollective::DDL::Base</a></li>
131 <li><a href="../../../MCollective/DDL/DataDDL.html">MCollective::DDL::DataDDL</a></li>
133 <li><a href="../../../MCollective/DDL/DiscoveryDDL.html">MCollective::DDL::DiscoveryDDL</a></li>
135 <li><a href="../../../MCollective/DDL/ValidatorDDL.html">MCollective::DDL::ValidatorDDL</a></li>
137 <li><a href="../../../MCollective/DDLValidationError.html">MCollective::DDLValidationError</a></li>
139 <li><a href="../../../MCollective/Data.html">MCollective::Data</a></li>
141 <li><a href="../../../MCollective/Data/Base.html">MCollective::Data::Base</a></li>
143 <li><a href="../../../MCollective/Data/Result.html">MCollective::Data::Result</a></li>
145 <li><a href="../../../MCollective/Discovery.html">MCollective::Discovery</a></li>
147 <li><a href="../../../MCollective/Facts.html">MCollective::Facts</a></li>
149 <li><a href="../../../MCollective/Facts/Base.html">MCollective::Facts::Base</a></li>
151 <li><a href="../../../MCollective/Generators.html">MCollective::Generators</a></li>
153 <li><a href="../../../MCollective/Generators/AgentGenerator.html">MCollective::Generators::AgentGenerator</a></li>
155 <li><a href="../../../MCollective/Generators/Base.html">MCollective::Generators::Base</a></li>
157 <li><a href="../../../MCollective/Generators/DataGenerator.html">MCollective::Generators::DataGenerator</a></li>
159 <li><a href="../../../MCollective/InvalidRPCData.html">MCollective::InvalidRPCData</a></li>
161 <li><a href="../../../MCollective/Log.html">MCollective::Log</a></li>
163 <li><a href="../../../MCollective/Logger.html">MCollective::Logger</a></li>
165 <li><a href="../../../MCollective/Logger/Base.html">MCollective::Logger::Base</a></li>
167 <li><a href="../../../MCollective/Logger/Console_logger.html">MCollective::Logger::Console_logger</a></li>
169 <li><a href="../../../MCollective/Logger/File_logger.html">MCollective::Logger::File_logger</a></li>
171 <li><a href="../../../MCollective/Logger/Syslog_logger.html">MCollective::Logger::Syslog_logger</a></li>
173 <li><a href="../../../MCollective/Matcher.html">MCollective::Matcher</a></li>
175 <li><a href="../../../MCollective/Matcher/Parser.html">MCollective::Matcher::Parser</a></li>
177 <li><a href="../../../MCollective/Matcher/Scanner.html">MCollective::Matcher::Scanner</a></li>
179 <li><a href="../../../MCollective/Message.html">MCollective::Message</a></li>
181 <li><a href="../../../MCollective/MissingRPCData.html">MCollective::MissingRPCData</a></li>
183 <li><a href="../../../MCollective/MsgDoesNotMatchRequestID.html">MCollective::MsgDoesNotMatchRequestID</a></li>
185 <li><a href="../../../MCollective/MsgTTLExpired.html">MCollective::MsgTTLExpired</a></li>
187 <li><a href="../../../MCollective/NotTargettedAtUs.html">MCollective::NotTargettedAtUs</a></li>
189 <li><a href="../../../MCollective/Optionparser.html">MCollective::Optionparser</a></li>
191 <li><a href="../../../MCollective/PluginManager.html">MCollective::PluginManager</a></li>
193 <li><a href="../../../MCollective/PluginPackager.html">MCollective::PluginPackager</a></li>
195 <li><a href="../../../MCollective/PluginPackager/AgentDefinition.html">MCollective::PluginPackager::AgentDefinition</a></li>
197 <li><a href="../../../MCollective/PluginPackager/StandardDefinition.html">MCollective::PluginPackager::StandardDefinition</a></li>
199 <li><a href="../../../MCollective/RPC.html">MCollective::RPC</a></li>
201 <li><a href="../../../MCollective/RPC/ActionRunner.html">MCollective::RPC::ActionRunner</a></li>
203 <li><a href="../../../MCollective/RPC/Agent.html">MCollective::RPC::Agent</a></li>
205 <li><a href="../../../MCollective/RPC/Audit.html">MCollective::RPC::Audit</a></li>
207 <li><a href="../../../MCollective/RPC/Client.html">MCollective::RPC::Client</a></li>
209 <li><a href="../../../MCollective/RPC/Helpers.html">MCollective::RPC::Helpers</a></li>
211 <li><a href="../../../MCollective/RPC/Progress.html">MCollective::RPC::Progress</a></li>
213 <li><a href="../../../MCollective/RPC/Reply.html">MCollective::RPC::Reply</a></li>
215 <li><a href="../../../MCollective/RPC/Request.html">MCollective::RPC::Request</a></li>
217 <li><a href="../../../MCollective/RPC/Result.html">MCollective::RPC::Result</a></li>
219 <li><a href="../../../MCollective/RPC/Stats.html">MCollective::RPC::Stats</a></li>
221 <li><a href="../../../MCollective/RPCAborted.html">MCollective::RPCAborted</a></li>
223 <li><a href="../../../MCollective/RPCError.html">MCollective::RPCError</a></li>
225 <li><a href="../../../MCollective/Registration.html">MCollective::Registration</a></li>
227 <li><a href="../../../MCollective/Registration/Base.html">MCollective::Registration::Base</a></li>
229 <li><a href="../../../MCollective/Runner.html">MCollective::Runner</a></li>
231 <li><a href="../../../MCollective/RunnerStats.html">MCollective::RunnerStats</a></li>
233 <li><a href="../../../MCollective/SSL.html">MCollective::SSL</a></li>
235 <li><a href="../../../MCollective/Security.html">MCollective::Security</a></li>
237 <li><a href="../../../MCollective/Security/Base.html">MCollective::Security::Base</a></li>
239 <li><a href="../../../MCollective/SecurityValidationFailed.html">MCollective::SecurityValidationFailed</a></li>
241 <li><a href="../../../MCollective/Shell.html">MCollective::Shell</a></li>
243 <li><a href="../../../MCollective/Translatable.html">MCollective::Translatable</a></li>
245 <li><a href="../../../MCollective/UnixDaemon.html">MCollective::UnixDaemon</a></li>
247 <li><a href="../../../MCollective/UnknownRPCAction.html">MCollective::UnknownRPCAction</a></li>
249 <li><a href="../../../MCollective/UnknownRPCError.html">MCollective::UnknownRPCError</a></li>
251 <li><a href="../../../MCollective/Util.html">MCollective::Util</a></li>
253 <li><a href="../../../MCollective/Validator.html">MCollective::Validator</a></li>
255 <li><a href="../../../MCollective/ValidatorError.html">MCollective::ValidatorError</a></li>
257 <li><a href="../../../MCollective/WindowsDaemon.html">MCollective::WindowsDaemon</a></li>
259 <li><a href="../../../Array.html">Array</a></li>
261 <li><a href="../../../Dir.html">Dir</a></li>
263 <li><a href="../../../Object.html">Object</a></li>
265 <li><a href="../../../String.html">String</a></li>
267 <li><a href="../../../Symbol.html">Symbol</a></li>
270 <div id="no-class-search-results" style="display: none;">No matching classes.</div>
277 <div id="documentation">
283 example: "The Marionette Collective version 2.2.2 started by /usr/bin/mco using config file /etc/mcollective/client.cfg"
284 expanded: "This message gets logged each time MCollective reads it's config file. Generally this only happens once per process. It shows the version, process name and config file as a simple debugging aid"
285 pattern: "The Marionette Collective version %{version} started by %{name} using config file %{config}"
287 example: "Failed to handle message: RuntimeError: none.rb:15:in `decodemsg': Could not decrypt message "
289 When a message arrives from the middleware it gets decoded, security validated and then dispatched to the agent code.
291 There exist a number of errors that can happen here, some are handled specifically others will be logged by this "catch all" handler.
293 Generally there should not be many messages logged here but we include a stack trace to assist with debugging these.
295 The messages here do not tend to originate from your Agents unless they are syntax error related but more likely to be situations like security failures due to incorrect SSL keys and so forth
297 Should you come across one that is a regular accorance in your logs please open a ticket including your backtrace and we will improve the handling of that situation
298 pattern: "Failed to handle message: %{error}"
300 example: "Cache expired on 'ddl' key 'agent/nrpe'"
302 MCollective has an internal Cache used to speed up operations like parsing of DDL files. The cache is also usable from the agents and other plugins you write.
304 Each entry in the cache has an associated TTL or maximum life time, once the maximum time on an item is reached it is considered expired. Next time anything attempts to read this entry from the cache this log line will be logged.
306 This is part of the normal operations of MCollective and doesn't indicate any problem. We log this debug message to help you debug your own use of the cache.
307 pattern: "Cache expired on '%{cache_name}' key '%{item}'"
309 example: "Cache hit on 'ddl' key 'agent/nrpe'"
311 MCollective has an internal Cache used to speed up operations like parsing of DDL files. The cache is also usable from the agents and other plugins you write.
313 Each entry in the cache has an associated TTL or maximum life time, once the maximum time on an item is reached it is considered expired.
315 This log line indicates that a request for a cache entry was made, the entry had not yet expired and so the cached data is being returned.
317 It does not indicate a problem, it's just a debugging aid
318 pattern: "Cache hit on '%{cache_name}' key '%{item}'"
320 example: "Could not find a cache called 'my_cache'"
322 MCollective has an internal Cache used to speed up operations like parsing of DDL files. The cache is also usable from the agents and other plugins you write.
324 The cache is made up of many named caches, this error indicates that a cache has not yet been setup prior to trying to use it.
325 pattern: "Could not find a cache called '%{cache_name}'"
327 example: "No block supplied to synchronize on cache 'my_cache'"
329 When using the Cache to synchronize your own code across agents or other plugins you have to supply a block to synchronise.
331 Correct usage would be:
333 Cache.setup(:customer, 600)
334 Cache(:customer).synchronize do
335 # update customer record
338 This error is raise when the logic to update the customer record is not in a block as in the example
339 pattern: "No block supplied to synchronize on cache '%{cache_name}'"
341 example: "No item called 'nrpe_agent' for cache 'ddl'"
343 MCollective has an internal Cache used to speed up operations like parsing of DDL files. The cache is also usable from the agents and other plugins you write.
345 The cache stored items using a key, this error will be logged and raised when you try to access a item that does not yet exist in the cache.
346 pattern: "No item called '%{item}' for cache '%{cache_name}'"
348 example: "'hello' does not look like a numeric value"
350 When MCollective receives an argument from the command line like port=fello it consults the DDL file to determine the desired type of this parameter, it then tries to convert the input string into the correct numeric value.
352 This error indicates the input you provided could not be converted into the desired format.
354 You'll usually see this when using the 'mco rpc' command to interact with an agent. This is usually a fatal error, the request will not be sent if it does not validate against the DDL.
355 pattern: "'%{value}' does not look like a numeric value"
357 example: "'flase' does not look like a boolean value"
359 When MCollective receives an argument from the command line like force=true it consults the DDL file to determine the desired type of this parameter, it then tries to convert the input string into the correct boolean value.
361 This error indicates the input you provided could not be converted into the desired boolean format. It wil accept "true", "t", "yes", "y" and "1" as being true. It will accept "false", "f", "no", "n", "0" as being false.
363 You'll usually see this when using the 'mco rpc' command to interact with an agent. This is usually a fatal error, the request will not be sent if it does not validate against the DDL.
364 pattern: "'%{value}' does not look like a boolean value"
366 example: "Found 'rpcutil' ddl at '/usr/libexec/mcollective/mcollective/agent/rpcutil.ddl'"
368 Most plugin types have a DDL file that needs to be correctly installed for the plugin to function. There can be multiple libdirs that can provide the DDL file for a specific plugin.
370 This message is a message designed to help you debug issues when you think the wrong DDL file is being used.
371 pattern: "Found '%{ddlname}' ddl at '%{ddlfile}'"
374 Usually when MCollective run it validates all requirements are met before publishing a request or processing a request against the DDL file for the agent.
376 This can be difficult to satisfy in development perhaps because you are still writing your DDL files or debugging issues.
378 This message indicates that when MCollective detects it's running against an unreleased version of MCollective - like directly out of a Git clone - it will skip the DDL validation steps. It is logged at a warning level as this significantly changes the behaviour of the client and server.
379 pattern: "DDL requirements validation being skipped in development"
381 expanded: "When sending the mcollectived process the USR1 signal on a Unix based machine this message will indicate that the signal got received and all agents are being reloaded from disk\n"
382 pattern: "Reloading all agents after receiving USR1 signal"
384 example: "Agent plugin 'example' requires MCollective version 2.2.1 or newer"
386 MCollective plugins can declare a minimum version of MCollective that they require to be functional.
388 MCollective validates this when it loads the plugin and this error will be logged or shown to the user when this requirement cannot be satisfied.
389 pattern: "%{type} plugin '%{name}' requires MCollective version %{requirement} or newer"
391 example: "Cannot validate input 'service': Input string is longer than 40 character(s)"
393 Every input you provide to a RPC request is validated against it's DDL file. This error will be shown when the supplied data does not pass validation against the DDL.
395 Consult the 'mco plugin doc' command to view the DDL file for your action and input.
396 pattern: "Cannot validate input '%{input}: %{error}"
398 example: "Cannot determine what entity input 'port' belongs to"
400 When writing a DDL you declare inputs into plugins using the input keyword. Each input has to belong to a wrapping entity like in the example below:
402 action "get_data", :description => "Get data from a data plugin" do
404 :prompt => "Data Source",
405 :description => "The data plugin to retrieve information from",
407 :validation => '^\w+$',
408 :optional => false,
412 Here the input belongs to the action entity "get_data", this error indicates that an input were found without it belonging to any specific entity
413 pattern: "Cannot determine what entity input '%{input}' belongs to"
415 example: "Input needs a :prompt property"
416 expanded: "When writing a DDL you declare inputs for all data that you pass into the plugin. Inputs have a minimally required field set and this error indicate that you did not provide some key field while describing the input."
417 pattern: "Input needs a :%{property} property"
419 example: "Failed to load DDL for the 'rpcutil' agent, DDLs are required: RuntimeError: failed to parse DDL file"
421 As of version 2.0.0 DDL files are required by the MCollective server. This server indicates that it either could not find the DDL for the rpcutil agent or that there was a syntax error.
423 Confirm that the DDL file is installed in the agent directory and that it parses correctly using the 'mco plugin doc' command.
424 pattern: "Failed to load DDL for the '%{agent}' agent, DDLs are required: %{error_class}: %{error}"
426 example: "aggregate method for action 'rpcutil' is missing a function parameter"
428 DDL files can declare aggregation rules for the data returned by actions as seen below:
431 aggregate summary(:collectives)
434 This error indicates that you did not supply the argument - :collectives in this example.
435 pattern: "aggregate method for action '%{action}' is missing a function parameter"
438 Internally when MCollective parse the DDL it converts the aggregate functions into a hash with the function name and any arguments.
440 This error indicates that the internal translation failed, this is a critical error and would probably indicate a structure problem in your DDL or a bug in MCollective
441 pattern: "Functions supplied to aggregate should be a hash"
444 DDL aggregate functions can take a custom format as in the example below:
446 aggregate average(:total_resources, :format => "Average: %d")
448 This error indicate that the :format above could not be correctly parsed.
449 pattern: "Formats supplied to aggregation functions must have a :format key"
452 DDL aggregate functions can take a custom format as in the example below:
454 aggregate average(:total_resources, :format => "Average: %d")
456 This error indicate that the :format above was not supplied as a hash as in the above example
457 pattern: "Formats supplied to aggregation functions should be a hash"
459 example: "Attempted to call action 'yum_clean' for 'package' but it's not declared in the DDL"
461 Every agent has a DDL file that describes valid actions that they can perform
463 This error indicates you attempted to perform an action that does not exist. Review the plugin documentation using 'mco plugin doc' for correct usage
464 pattern: "Attempted to call action '%{action}' for '%{plugin}' but it's not declared in the DDL"
467 When sending the mcollectived process the USR2 signal on a Unix based machine this message indicates that the signal for received and the logging level is being adjusted to the next higher level or back down to debug if it was already at it's highest level.
469 This message will be followed by another message similar to the one below:
471 Logging level is now WARN
472 pattern: "Cycling logging level due to USR2 signal"
474 example: "Action 'get_fact' needs a 'fact' argument"
475 expanded: "Actions can declare that they expect a required input, this error indicates that you did not supply the required input"
476 pattern: "Action '%{action}' needs a '%{key}' argument"
478 example: "No dataquery has been defined in the DDL for data plugin 'package'"
480 Each data plugin requires a DDL that has a 'dataquery' block in it.
482 dataquery :description => "Agent Meta Data" do
487 This error indicates that the DDL file for a specific data plugin did not contain this block.
488 pattern: "No dataquery has been defined in the DDL for data plugin '%{plugin}'"
490 expanded: "Data plugins must return data. The DDL files for a data plugin must declare at least one output parameter else you will see this error."
491 pattern: "No output has been defined in the DDL for data plugin '%{plugin}'"
493 example: "No data plugin argument was declared in the 'puppet' DDL but an input was supplied"
495 Data plugins can take an optional input argument. This error indicate that you supplied an input argument but the plugin does not actually expect any input.
497 Review the documentation for the data plugin using 'mco plugin doc'
498 pattern: "No data plugin argument was declared in the '%{plugin}' DDL but an input was supplied"
500 example: "setting meta data in agents have been deprecated, DDL files are now being used for this information. Please update the 'package' agent"
502 In the past each MCollective agent had a metadata section containing information like the timeout.
504 As of 2.2.0 the agents will now consult the DDL files that ship with each agent for this purpose so the metadata in agents are not used at all.
506 In order to remove confusing duplication setting metadata in agents have been deprecated and from version 2.4.0 will not be supported at all.
508 Please update your agent by removing the metadata section from it and make sure the DDL file has the correct information instead.
509 pattern: "setting meta data in agents have been deprecated, DDL files are now being used for this information. Please update the '%{agent}' agent"
512 The MCollective client can ask that the agent just performs the action and never respond. Like when supplying the --no-results option to the 'mco rpc' application.
514 This log line indicates that the request was received and interpreted as such and no reply will be sent. This does not indicate a problem generally it's just there to assist with debugging of problems.
515 pattern: "Client did not request a response, surpressing reply"
517 example: "Unknown action 'png' for agent 'rpcutil'"
519 Agents are made up of a number of named actions. When the MCollective Server receives a request it double checks if the agent in question actually implements the logic for a specific action.
521 When it cannot find the implementation this error will be raised. This is an unusual situation since at this point on both the client and the server the DDL will already have been used to validate the request and the DDL would have indicated that the action is valid.
523 Check your agent code and make sure you have code like:
525 action "the_action" do
529 pattern: "Unknown action '%{action}' for agent '%{agent}'"
531 example: "Starting default activation checks for the 'rpcutil' agent"
533 Each time the MCollective daemon starts it loads each agent from disk. It then tries to determine if the agent should start on this node by using the activate_when method or per-agent configuration.
535 This is a debug statement that shows you it is about to start interacting with the logic in the agent to determine if it should be made available or not.
536 pattern: "Starting default activation checks for the '%{agent}' agent"
538 example: "Found plugin configuration 'exim.activate_agent' with value 'y'"
540 The administrator can choose that a certain agent that is deployed on this machine should not be made available to the network.
542 To do this you would add a configuration value like this example to the mcollective server.cfg:
544 plugin.exim.activate_agent = n
546 If this value is "1", "y" or "true" the agent will be activated else it will be disabled.
547 pattern: "Found plugin configuration '%{agent}.activate_agent' with value '%{should_activate}'"
549 example: "Audit failed with an error, processing the request will continue."
551 Every MCollective request can be audited. In the event where the auditing fails the processing continues.
553 At present the failure handling is not configurable, in future the administrator might elect to not run unaudited requests via configuration.
555 example: "Failed to start registration plugin: ArgumentError: meta.rb:6:in `gsub': wrong number of arguments (0 for 2)"
557 Registration plugins are loaded into the MCollective daemon at startup and ran on a regular interval.
559 This message indicate that on first start this plugin failed to run, it will show the exception class, line and exception message to assist with debugging
560 pattern: "Failed to start registration plugin: %{error}"
562 example: "Can't find DDL for agent plugin 'puppet'"
564 MCollective plugins come with DDL files that describe their behaviours, versions, capabilities and requirements.
566 This error indicate that a DDL file for the plugin mentioned could not be found - it could be that you have a typing error in your command line or an installation error.
567 pattern: "Can't find DDL for %{type} plugin '%{name}'"
569 example: "Data plugin 'agent()' function does not return a 'foo' value"
571 Data functions return a set of values which can be identified by name.
573 This message indicates that the specified value has not been defined in the Data plugin's DDL.
574 pattern: "Data plugin '%{functionname}()' does not return a '%{value}' value"
576 example: "Cannot convert string value 'hello' into a boolean. "
578 This error gets logged when there is an attempt to convert a string value into a boolean, but the string does not match the boolean pattern.
580 Strings that match "1", "y", "yes", "YES", "t", "true" and "TRUE" will be transformed into a boolean true.
582 Strings that match "0", "n", "no", "NO", "f", "false" and "FALSE" will be transformed into a boolean false.
583 pattern: "Cannot convert string value '%{value}' into a boolean. "
586 In previous versions of MCollective a application called 'controller' were included that had the ability to request agent reloads and other commands that would control the runner.
588 Unfortunately this method of controlling the daemon was never considered stable or reliable and has since been deprecate for removal during the 2.3.x development series
589 pattern: "Received a control message, possibly via 'mco controller' but this has been deprecated"
592 When a specific MCollective daemon receives a message from a network it validates the filter before processing the message. The filter is the list of classes, facts or other conditions that are associated with any message.
594 In the case where the filter does not match the specific host this line gets logged.
596 It's often the case for broadcast messages that all MCollective nodes will receive a message but only a subset of nodes are targetted using the filters, in that situation the nodes that received the request but should not respond to it will see this log line.
598 It does not indicate anything to be concerned about but if you find debugging a problem and expect a node to have responded when it shouldn't this log line will give you a hint that some condition specified in the filter did not match the local host
599 pattern: "Message does not pass filters, ignoring"
601 example: "Exiting after signal: SignalException: runner.rb:6:in `run': Interrupt"
603 When the MCollective daemon gets a signal from the Operating System that it does not specifically handle it will log this line before exiting.
605 You would see this whenever the daemon is stopped by init script or when sending it a kill signal, it will then proceed to disconnect from the middleware and exit its main loop
606 pattern: "Exiting after signal: %{error}"
608 example: "Handling message for agent 'rpcutil' on collective 'eu_collective' with requestid 'a8a78d0ff555c931f045b6f448129846'"
610 After receiving a message from the middleware, decoding it, validating it's security credentials and doing other checks on it the MCollective daemon will pass it off to the actual agent code for processing.
612 Prior to doing so it will log this line indicating the agent name and sub-collective and other information that will assist in correlating the message sent from the client with those in the server logs being processed.
613 pattern: "Handling message for agent '%{agent}' on collective '%{collective} with requestid '%{requestid}'"
615 example: "Expired Message: message 8b4fe522f0d0541dabe83ec10b7fa446 from cert=client@node created at 1358840888 is 653 seconds old, TTL is 60"
617 Requests sent from clients to servers all have a creation time and a maximum validity time called a TTL.
619 This message indicates that a message was received from the network but that it was determined to be too based on the TTL settings.
621 Usually this happens because your clocks are not in sync - something that can be fixed by rolling out a tool like ntp across your server estate.
623 It might also happen during very slow network conditions or when the TTL is set too low for your general network latency.
624 pattern: "Expired Message: %{error}"
629 <div id="validator-badges">
630 <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
631 <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
632 Rdoc Generator</a> 1.1.6</small>.</p>