Commits on Oct 28, 2011
  1. 10352 - Should support ruby-1.9.2-p290 and ruby-1.9.3-rc1

    ripienaar committed Oct 28, 2011
    - Make the SSL test case less fragile by checking the exception
      type and not the text
    - Handle changes introduced in the SSL API in a way that should cover
      ruby 1.8.6 - 1.9.3
    - Update vendored systemu to the latest to avoid RbConfig warnings
      printed to STDERR
Commits on Oct 27, 2011
  1. 10327 - callerids and identitied should only allow a limited set of c…

    ripienaar committed Oct 27, 2011
    To be certain we never attempt to read/write files we shouldn't for
    example in naive registration plugins the framework now ensures that
    callerids and identities can only be /\w\.\-/
    There's a new method valid_callerid? on the security base class so
    if there's some weird and wonderful need a security plugin could
    override this check but generally the current setting should be
    left alone as is.
Commits on Oct 25, 2011
  1. 10265 - When supplying discovery data to RPC::Client#discover always …

    ripienaar committed Oct 25, 2011
    …call reset
    Improve test isolation by allowing mock STDERR and STDOUT in the client
  2. 10265 - When supplying discovery data to RPC::Client#discover always …

    ripienaar committed Oct 25, 2011
    …call reset
    - Always call reset when :json or :hosts is given
    - Add test coverage for the discover method
Commits on Oct 24, 2011
  1. 10226 - ssl - replies fail TTL validation

    ripienaar committed Oct 22, 2011
    When the security plugin is initiated by a client we should
    not validate the TTL and Message Times on incoming messages
    as we do not send them from the nodes.
  2. 9902 - Support ruby primitive types in mcollective ddl

    ripienaar committed Oct 24, 2011
    - Add :number, :integer and :float types to the DDL.
    - When the rpc application gets one of these on the CLI it
      will try to convert the string from the CLI to the right type
    - Provide test coverage for the ddl class
    - Fix various bugs found while writing tests
    - Improve some wording etc in DDL errors
Commits on Oct 22, 2011
  1. 10133 - mcollective should stop discovery when discovered hosts == li…

    ripienaar committed Oct 22, 2011
    When limit_targets is specified to the RPC client and the
    limit method is set to :first then short circuit the discovery
    process early realizing a significant speed up.
    We did this by adding a limit option to the Client#discover method
    and passing in the value when appropriate from the RPC::Client#discover
    In order to make this usable from the CLI the options parser now handles
    pure numeric arguments as integer
Commits on Oct 18, 2011
  1. 10115 - providing hostlists for direct access mode doesnt work with l…

    ripienaar committed Oct 18, 2011
    …arge host lists
    Previously when :auto was given to the call_agent it would do discover
    and then force direct_requests off.
    If discover was called before and an array was supplied this would
    effectively overrule that setting and so cause a broadcast to be done
    when it was not supposed to be done.
    Now we don't force that since discover will do the right thing and
    force direct requests if it feels thats whats needed
Commits on Oct 11, 2011
  1. Merge pull request #23 from daniel-pittman/feature/master/whitespace-…

    ripienaar committed Oct 11, 2011
    Use 2-space indenting everywhere in MCollective.
Commits on Oct 6, 2011
  1. Use 2-space indenting everywhere in MCollective.

    slippycheeze committed Oct 6, 2011
    This brings the code into line with Puppet Labs coding standards.  There are
    no functional changes as part of this, just whitespace at the start of lines.
    Signed-off-by: Daniel Pittman <>
Commits on Oct 3, 2011
  1. 9399 - The TTL on message should be adjustable

    ripienaar committed Sep 27, 2011
    Allow the TTL to be set on the cli using --ttl and on the SimpleRPC
    API using client.ttl.
    Fix some test isolation problems around the Config class
Commits on Sep 27, 2011
  1. 9400 - Update security plugins where applicable to secure the TTL header

    ripienaar committed Sep 26, 2011
    Track :ttl and :msgtime in the AES and SSL plugins
    Previously the :body property of the request was simply serialized and
    encrypted or signed.  This was expanded to force that the :body is a
    hash, inside this hash we store the :ttl and :msgtime of the main request
    Later on the servers when receiving the request we decrypt/validate and
    then verify that the :ttl and :msgtime properties are what was encrypted
    against, this way we can effectively avoid people tampering with these
    properties and detect any such tampering.
    In both cases this change is backward incompatible and security is enforced
    by default.  Both plugins have a setting that would make them only warn
    on recieving bad/old data and not actually deny those requests.
Commits on Sep 20, 2011
  1. 9452 - Better configuration out of box in server.cfg and client.cfg

    ripienaar committed Sep 20, 2011
    Update the default shipped username, password and middleware locations
    to be in line with the activemq packages from
  2. 9402 - Remove deprecated mc-* scripts

    ripienaar committed Sep 20, 2011
    Remove the deprecated mc-* scripts and update spec file to package
    the application plugins in the client rpm only.  Also remove the
    mcollectived script from the client rpm
    Debian packaging was updated to only package applications in -client
  3. 9572 - Update getting started docs

    ripienaar committed Sep 20, 2011
    Update getting started guides to be correct for 1.2.x and mention the
    new yum repository
  4. 9456 - keep track of message counts that exceeded TTLs in the global …

    ripienaar committed Sep 20, 2011
    …stats and reoprt it
    Add a TTL failed stat to the RunnerStats and keep track of ttl failures in the
    M::Message object.
    Update the rpcutil agent, ddl and inventory application to give access to
    the new statistic
Commits on Sep 16, 2011
  1. 9403 - Release 1.3.1

    ripienaar committed Sep 16, 2011
    Fix markdown markup around code blocks and fix some escaping of underscores
Commits on Sep 14, 2011
  1. 9403 - Release 1.3.1

    ripienaar committed Sep 14, 2011
    Fix release date
  2. 9403 - Release 1.3.1

    ripienaar committed Sep 10, 2011
    Release notes, changelog, rakefile etc for release 1.3.1
Commits on Sep 12, 2011
  1. 8466 - When identities are supplied , do not do discovery

    ripienaar committed Aug 29, 2011
    Allow the Message object to be of type :direct_request which would force
    direct requests
    Change identity filters to be and and not or since that makes more sense
    for identities.  But also if we're sending messages with many identities
    attached we'd only want to match if ours is anywhere in the list, an
    and based selection would always fail.
    If identities are provided on the CLI then we use those and avoid discovery.
    The RPC::Client#discover function can now be passed a list of hosts in
    either string, array or JSON formats.  It will extract from this data
    discovery data and use that instead of the old discovery methods.  In
    this use case it will force direct_addressing mode.
    The rpc application can now take JSON on STDIN and will use the above
    capabilities to fill in discovery data
Commits on Aug 29, 2011
  1. 8325 - A default TTL should be supported

    ripienaar committed Aug 29, 2011
    Make tests more robust by sending in a hash where one is expected
    rather than an empty string which causes failures.
  2. 8325 - A default TTL should be supported

    ripienaar committed Aug 29, 2011
    Use UTC time for all calculations wrt TTL
    Also logs some more details about messages that fail TTL validation
  3. 8325 - A default TTL should be supported

    ripienaar committed Aug 29, 2011
    As messages are now possibly sent to queues and can hang around the
    middleware for a very long time we need to support a TTL.  Nodes that
    go off-line between discovery and request being sent may come back
    a month later and find these old messages sitting there and then take
    the actions which would not be desirable.
    Requests will now get a default TTL of 60 seconds and during validation
    of a message any messages older than this will not validate.
    The various security plugins will accept a TTL when encoding the messages
    and default to 60 if not given, similarly the Message object will default
    to 60 TTL.
    As a side effect security plugins now need a TTL when encoding requests
    which means we now need to upgrade all security plugins in use when going
    to a version running this version.
    Future tickets will allow the TTL to be set per message.
  4. 8775 - Give version precision for registration_collective feature

    ripienaar committed Aug 29, 2011
    Improve the documentation for the registration_collective configuration
    by adding hints about what versions support this and how older ones behave
  5. 9133 - Update classesfile default location

    ripienaar committed Aug 29, 2011
    Update changelog
  6. 9133 - Update classesfile default location

    Matt Robinson committed with ripienaar Aug 19, 2011
    The default classesfile location was set to a location that Puppet never
    defaulted to.  It was missing the state part of the path, and the more
    modern classesfile location in puppet also has lib in the path.  This is
    now the default.
Commits on Aug 6, 2011
  1. 7730 - Expose reload actions to EL init script

    ripienaar committed Aug 6, 2011
    Update changelog
  2. 7730 - Expose reload actions to EL init script

    dcarley committed with ripienaar Jun 1, 2011
    reload sends USR1 to reload agents.
    reload-loglevel sends USR2 to cycle logging level.
  3. 8703 - RPC::Agent#authorized_by loads auth plugins on each request

    ripienaar committed Aug 6, 2011
    The authorized_by helper creates a method called authorization_hook and
    loads up a class from disk that provides the implimentation as a plugin.
    We used to only create 1 instance of a agent so this only happened once
    but recently we started creating new instances of the agent on each
    request which means this steps gets done many times.
    This change avoids creating the hook if it's already defined thus avoiding
    the undesired disk loads
  4. 8799 - RPC Validators should include boolean

    ripienaar committed Aug 6, 2011
    DDL files can declare a input data item can be boolean which means
    we would like to validate that on the agent side.
    The validators had no boolean validation so this adds one.
    Also do a small bit of test maintenance to avoid spurious failures
  5. 8550 - Documentation out of date/misleading

    ploubser committed with ripienaar Jul 22, 2011
    Updated out of date documentation
  6. 8807 - printrpc should justify long text results better

    ripienaar committed Aug 6, 2011
    Tweak the justification of multi line text results so it all
    lines up nicely