Commits on Jun 10, 2013
  1. @sylvainkalache

    maint: this option is confusing because already declared

           in the previous config example and value shoud be /mcollective
    sylvainkalache committed with Jun 7, 2013
Commits on Jun 6, 2013
  1. 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
    committed Jun 6, 2013
Commits on Jun 5, 2013
  1. 20233 - Make filters functions idempotent

    committed Jun 5, 2013
  2. @ploubser

    20233 - Make filters functions idempotent

    This commit makes the filter functions in the rpc client idempotent.
    ploubser committed with Jun 4, 2013
Commits on Jun 4, 2013
  1. @nvalentine-puppetlabs
  2. @databus23

    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.
    databus23 committed with May 26, 2013
  3. doc maint: missing dash on the vhost parameter

    Sylvain Kalache committed with Jun 3, 2013
Commits on Jun 3, 2013
  1. @raphink

    20950 - Improve dependencies for Debian packages in MCollective plugi…

    …n package
    Use ${binary:Version} so upgrading packages still generates proper dependencies
    raphink committed with May 29, 2013
Commits on May 28, 2013
  1. 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
    committed May 28, 2013
  2. 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
    committed May 28, 2013
Commits on May 21, 2013
  1. 20592 - Release 2.2.4

    Update release notes and changelog for 2.2.4
    committed May 21, 2013
Commits on May 16, 2013
  1. @nfagerlund

    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.)
    nfagerlund committed with Mar 20, 2013
Commits on May 10, 2013
  1. 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
    committed May 10, 2013
Commits on May 7, 2013
  1. @justinstoller
Commits on May 2, 2013
Commits on May 1, 2013
  1. @joshcooper

    maint: update testing for windows

    Add some special handling and exclusions for windows based machines
    joshcooper committed with Apr 30, 2013
  2. @ahpook

    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 committed with Apr 25, 2013
  3. 20059 - Data matcher logs bad errors when query returns nil

    changelog update
    committed May 1, 2013
  4. @ploubser

    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 committed with Apr 3, 2013
Commits on Apr 29, 2013
  1. @haus

    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 committed with Apr 10, 2013
Commits on Apr 18, 2013
  1. 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
    committed Apr 18, 2013
Commits on Apr 11, 2013
  1. 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
    committed Apr 11, 2013
  2. 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
    committed Apr 11, 2013
  3. 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
    committed Apr 11, 2013
Commits on Apr 3, 2013
  1. 19694 - Remove plugin.discovery.timeout

    Remove another example from the docs that reference this option we've
    committed Apr 3, 2013
Commits on Mar 22, 2013
  1. 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
    committed Mar 22, 2013
Commits on Mar 21, 2013
  1. 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
    committed Mar 21, 2013
  2. 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.
    committed Mar 21, 2013
Commits on Mar 20, 2013
  1. 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
    committed Mar 20, 2013
Commits on Mar 19, 2013
  1. @nfagerlund

    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.
    nfagerlund committed with Mar 9, 2013
Commits on Mar 14, 2013