Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master

Jun 10, 2013

  1. Sylvain Kalache

    maint: this option is confusing because already declared

           in the previous config example and value shoud be /mcollective
    sylvainkalache authored committed

Jun 06, 2013

  1. R.I.Pienaar

    21104 - reply defaults should be cloned copies from the DDL

    Previously we copied the default values from the DDL directly
    into the reply structures for the data and agents.
    This opened us up to edge cases where the cached copy of the DDL
    could be modified for example:
    Given a DDL file with:
        output :foo,
               default => "foo"
    And an Agent with:
        action x do
           reply[:foo] << "a"
    The default in the DDL will become 'fooa'.
    We could freeze the default but if the default was a hash or nested
    hash we'd need to do nested freezez which might not really solve things
    either as not everything supports freezing and there's just too many
    edge cases.
    We now just use Marshal to deep clone the defaults out of the DDL into
    the agent and data replies, this avoid the problem completely at the
    expense of some performance

Jun 05, 2013

  1. R.I.Pienaar

    20233 - Make filters functions idempotent

  2. Pieter Loubser

    20233 - Make filters functions idempotent

    This commit makes the filter functions in the rpc client idempotent.
    ploubser authored committed

Jun 04, 2013

  1. nvalentine-puppetlabs

    maint: fix type in SimpleRPC Intro

    nvalentine-puppetlabs authored committed
  2. R.I.Pienaar

    17667 - run() call in an agent can return incorrect Process::Status

  3. 17667 - run() call in an agent can return incorrect Process::Status

    A child process can only be reaped once. Calling waitpid(cid) in a
    separate thread creates a race condition between the "main" systememu
    thread and the "guardian" thread.  In case the guardian thread reaps the
    child process, the $? variable is not properly updated in the "main"
    thread and the wrong exist status (of the previous reaped child process)
    is returned by systemu.
    By calling waitpid non-blocking in a loop we make sure the child process
    is always reaped by the main thread unless it was killed before the
    child finished.
    Fabian Ruff authored committed
  4. doc maint: missing dash on the vhost parameter

    Sylvain Kalache authored committed

Jun 03, 2013

  1. R.I.Pienaar

    20950 - Improve dependencies for Debian packages in MCollective plugi…

    …n package
  2. Raphaël Pinson

    20950 - Improve dependencies for Debian packages in MCollective plugi…

    …n package
    Use ${binary:Version} so upgrading packages still generates proper dependencies
    raphink authored committed

May 28, 2013

  1. R.I.Pienaar

    19905 - mcollective set timeout header on reply messages

  2. R.I.Pienaar

    19905 - mcollective set timeout header on reply messages

    When publishing messages over RabbitMQ this will set a TTL
    on the messages matching mcollective message ttl plus a few
    The kind of problem here is different than with ActiveMQ
    since we're concerned with messages sat in the per-node
    queues rather than reply queues but its related and worth
    fixing here
  3. R.I.Pienaar

    19905 - mcollective set timeout header on reply messages

    MCollective at present uses real queue named in a temporary fashion to
    handle replies this is due to some issues with temporary queues in
    ActiveMQ is configured to delete unused queues after some time - 30
    seconds in our recommended config - but this only works when those
    queues are completely empty.
    JMS messages have a message time stamp and a message expiry header which
    lines up with the creation time in MCollective and the TTL set on the
    message object but we never set these headers allowing ActiveMQ to clear
    out unconsumed expired messages and so in some cases we find these
    temporary queues stuck requiring human intervention.
    This commit adds the needed headers allowing ActiveMQ to do proper
    housekeeing of its internals

May 21, 2013

  1. R.I.Pienaar

    20592 - Release 2.2.4

    Update release notes and changelog for 2.2.4

May 16, 2013

  1. Docs: Add new deployment and configuration docs

    This commit adds:
    - index page for deploy docs
    - Installing MCollective page
    - standard deployment getting started guide
    - overview of roles and components
    - middleware options index
    - minor fixes to the ActiveMQ config reference
    - Minor fixes to the server config reference
    - client config reference
    - plugin deployment guide
    - Vagrant demo page
    Additionally, it makes the following changes:
    - Delete content of EC2 demo page
    - Mention using registration as a heartbeat (server config and standard deployment)
    - Add deprecation warning and links to the old getting started guides
      (and delete the most outdated one entirely.)
    Nick Fagerlund authored committed

May 10, 2013

  1. R.I.Pienaar

    20661 - Util#versioncmp fails in some cases

    The versioncmp helper failed to correctly compare 1.2.10 and 1.2.8
    but this has already been fixed in Puppet where we got our logic
    from first so we're just grabbing whats in Puppet now to resolve

May 07, 2013

  1. Justin Stoller

    maint: setup travis ci for PR testing

    justinstoller authored committed

May 02, 2013

  1. R.I.Pienaar

    maint: improve new line detection so tests pass on windows and unix


May 01, 2013

  1. Josh Cooper

    maint: update testing for windows

    Add some special handling and exclusions for windows based machines
    joshcooper authored committed
  2. Eric Sorenson

    maint: Update a few orphaned links to

    These links still live but the site's folded into
    so they were 404. This commit updates the text to point at the distro-specific
    dependencies repo and changes the DepRPMs link anchor to point at
    ahpook authored committed
  3. R.I.Pienaar

    20059 - Data matcher logs bad errors when query returns nil

    changelog update
  4. Pieter Loubser

    20059 - Data matcher logs bad errors when query returns nil

    In the past when a data query field did not get assigned a value it
    will default to nil which would log an non descriptive error when it gets
    Data query fields that default to nil will now immediately return false,
    meaning that all unset query values will evaluate to false.
    ploubser authored committed

Apr 29, 2013

  1. R.I.Pienaar

    20388 - Mcollective should have sane defaults for configfiles on windows

  2. Matthaus Owens

    20388 - Mcollective should have sane defaults for configfiles on windows

    This commit adds sane defaults for the server.cfg and client.cfg files.
    The other configuration files can then be specified in those two files.
    As these merely add defaults, any commandline flags for configfile
    location will override the default.
    haus authored committed

Apr 18, 2013

  1. R.I.Pienaar

    20282 - Puppet agent; nodes file with spaces

    Identities can only match /^[\w\.\-]+$/ which is enforced in the config
    The flatfile discovery method exist so that someone can put a bunch of
    identities in a file and use that for discovery, thus the identities
    have to adhere to the same rules but this check was never done which in
    some circumstances could result in incorrect 'No responses from' errors
    This commit enforces the same check when reading flatfiles resulting in
    an error to the user when they have an error in their file

Apr 11, 2013

  1. R.I.Pienaar

    17930 - mcollective: direct addressing mode when using reply queue

    And handle the case where the 'mc' discovery method is used and specific
    node information is supplied that is not a regex
  2. R.I.Pienaar

    17930 - mcollective: direct addressing mode when using reply queue

    Also handle the case where a discoverer forces direct mode but no
    discovery has been done yet
  3. R.I.Pienaar

    17930 - mcollective: direct addressing mode when using reply queue

    The fire_and_forget mode of requests were not made direct_request
    aware while adding the direct addressing communiations mode.
    The result of this was that setting :process_results => false and
    doing direct requests would result in the request always being broadcast
    and not sent out only to the nodes supplied via the discovery layer
    This addresses that and adds tests around this method

Apr 03, 2013

  1. R.I.Pienaar

    19694 - Remove plugin.discovery.timeout

    Remove another example from the docs that reference this option we've

Mar 22, 2013

  1. R.I.Pienaar

    19673 - remove topicprefix, queueprefix, and topicsep

    The old stomp connector tried to be configurable by letting you
    pick how a target like /topic/ would look using the topicprefix
    and topicsep options.  Ditto for queues using queueprefix.
    We've come to the conclusion that a generic stomp connector will just
    never work well and removed that connector.  This commit removes these
    unused settings too

Mar 21, 2013

  1. R.I.Pienaar

    19694 - Remove plugin.discovery.timeout

    The plugin.discovery.timeout option used to be useful a long time
    ago as a way to influence default discovery time.
    It's not been used for this for a long time and now doesn't really
    change anything in a meaningful way, this commit removes this feature
  2. R.I.Pienaar

    19827 - Application#halt does not work if discovery data is supplied

    Prior to version 2 the discovery situation was real simple, discovery
    time == 0 means there were no discovery done at all.
    Since version 2 things are a lot more complex as discovery time can be
    zero if someone supplied specific discovery data either through --nodes,
    or -I or through the API.
    The halt() helper needed updating for the post 2 world and unfortunately
    this means the behaviour also had to change slightly
    it would exit with 0 when no discovery done but any responses were
    received, effectively masking situations with no discovery but with some
    This refactors the code and changes the meaning of 0 slightly in the
    case of no discovery to: no discovery were done and > 0 responses were
    received, all ok.
    Thus in cases where discovery isn't done for whatever reason you still
    get correct exit codes in the case where any results were failures.

Mar 20, 2013

  1. R.I.Pienaar

    19752 - Friendly and informative errors when there's no libdir

    There is no default libdir so when users do not set it they get
    very unfriendly errors from File.exist etc which does not really
    say what is wrong.
    This commit adds a better error message when libdir is not set

Mar 19, 2013

  1. Docs: New server configuration reference

    This page describes all of the server settings most users will need, including
    info about the connector and security plugins.
    Nick Fagerlund authored committed

Mar 14, 2013

  1. R.I.Pienaar

    19734 - Make default port 61613 in connector plugins, to match conven…

Something went wrong with that request. Please try again.