Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Systemd support (working) #59

Closed
wants to merge 47 commits into from

Commits on Oct 16, 2014

  1. Update kitchen-docker to v1.5.0

    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    b6f908e View commit details
    Browse the repository at this point in the history
  2. Convert _ALL_ configuration attributes to a flat namespace

    Oh this is just the beginning. FULL SPEED AHEAD!
    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    4c27449 View commit details
    Browse the repository at this point in the history
  3. Put all configuration attributes under a broker namespace

    Next stop, dynamically generate configuration properties.
    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    83259d7 View commit details
    Browse the repository at this point in the history
  4. Generate property keys from broker attributes

    Instead of defining _ALL_ possible configuration attributes in
    `attributes/default.rb` we’ll generate key-value pair from whatever
    attributes that are found under the `broker` namespace.
    
    The diffs in this commit are so _HORRIBLE_, but I couldn’t think of any
    other way to get this done. There are still some tests that needs to be
    rewritten / added, and I do believe that the configuration generation
    creates some unnecessary whitespace / newlines that needs to be dealt
    with, but everything has it’s time, mkay?
    
    This is going to be so much easier to maintain.
    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    790fb46 View commit details
    Browse the repository at this point in the history
  5. Allow dotted notation for broker configuration

    This commit makes it possible to use either underscored symbol keys for
    configuration attributes (i.e. attributes defined under `broker`), or to
    use a `dotted` String notation, i.e.
    
    ```
    node.set.broker = {‘log.dirs’ => %w[/some/dir-1 /some/dir-2]}
    ```
    
    Decided to get rid of support for using nested Hashes as it’ll become
    difficult to render Hash-based options (CSV strings) correctly, and due
    to the naming of some of the configuration parameters it’s not possible
    to use `node.default.this.attribute = ‘something’` as the parameters
    include `default`, `fetch` and whatever else.
    
    Removed a lot of unit tests that are unnecessary now that the broker
    configuration file is dynamically rendered.
    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    46bd6b0 View commit details
    Browse the repository at this point in the history
  6. Leave “mixed” configuration names as-is

    If there’s a configuration parameter that contains both underscore and
    dots we don’t want to convert underscores to dots (for obvious reasons).
    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    7618121 View commit details
    Browse the repository at this point in the history
  7. Allow nested Hash notation for broker configuration

    So, decided to re-introduce the nested Hash notation for accessing
    configuration attributes, as such:
    
    	`node.default.broker[:hash][:option] = ‘value’`
    
    It does however mean that the “per topic” attributes cannot use Hashes
    anymore, but either Arrays or just plain Strings.
    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    ad6c52f View commit details
    Browse the repository at this point in the history
  8. Update headers in template files

    Just a heads up.
    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    f6f080f View commit details
    Browse the repository at this point in the history
  9. Remove unused config. related partials

    Not used since the configuration rendering is done using helper methods
    rather than partials.
    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    81c18c8 View commit details
    Browse the repository at this point in the history
  10. Use dotted notation rather than hash notation

    Because I like it better, mkay?
    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    ce8bc9f View commit details
    Browse the repository at this point in the history
  11. Remove log4j_config attribute

    Was only needed for setting up ZooKeeper with a different configuration
    file from what Kafka was using.
    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    df27c88 View commit details
    Browse the repository at this point in the history
  12. Remove config attribute

    Was only needed for setting up ZooKeeper with a different configuration
    file from what Kafka was using.
    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    ab7f7d4 View commit details
    Browse the repository at this point in the history
  13. Use jmx_port directly from attribute

    Previously ZooKeeper and Kafka had different JMX ports, but used the
    same template for rendering the configuration file. Now that setting
    up ZooKeeper is out of the picture we don’t need this anymore.
    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    2d3454d View commit details
    Browse the repository at this point in the history
  14. Remove log_level attribute

    Rather define levels individually for loggers. Don’t forget those
    trailing commas, yo!
    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    c972e96 View commit details
    Browse the repository at this point in the history
  15. Update README w.r.t. new broker configuration attrs.

    Just a heads up for the peoples. Could be expanded to explain some
    corner cases and whatnot.
    
    [ci skip]
    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    9846634 View commit details
    Browse the repository at this point in the history
  16. Rename files in libraries

    The modules are already namespaced, no need to namespace the individual
    files as well.
    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    f17d9e4 View commit details
    Browse the repository at this point in the history
  17. Add header to libraries/log4j

    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    b6c8fb6 View commit details
    Browse the repository at this point in the history
  18. Fix kafka installation on Opsworks

    Chef's file cache path is apparently only readable by `root` on
    OpsWorks, so we have to extract the release archive as root and then
    manually set ownership.
    pfleidi authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    274eb97 View commit details
    Browse the repository at this point in the history
  19. Account for different ways of defining log.dirs

    The (obvious) downside of having too many ways of defining configuration
    attributes. Perhaps I’ll revise that decision in the future, but for now
    it’s not too much of a hassle.
    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    8455cec View commit details
    Browse the repository at this point in the history
  20. Version bump to v0.5.0

    Quite a “large” release with a ton of changes, ranging from a rewrite of
    how “configuration attributes” are managed to minor fixups:
    
    * Removal of `zookeeper` recipe. Use a dedicated cookbook for that.
    * Host all “configuration attributes” under a `broker` namespace.
    * Configurable and sane log4j properties (see `attributes/default.rb`
      for examples).
    * Configurable KAFKA_GC_LOG_OPTS environment variable through the
      `gc_log_opts` attribute.
    * Bugfix for using this cookbook with AWS OpsWorks (thanks to @pfleidi).
    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    95a37e3 View commit details
    Browse the repository at this point in the history
  21. Fix incorrect attribute syntax in README

    [ci skip]
    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    8bb6f0c View commit details
    Browse the repository at this point in the history
  22. Rewrite recipes intro. in README

    [ci skip]
    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    5e96d11 View commit details
    Browse the repository at this point in the history
  23. Remove unnecessary comment from default attributes

    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    1a90e34 View commit details
    Browse the repository at this point in the history
  24. Remove unnecessary log_dirs attribute

    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    0ef18d0 View commit details
    Browse the repository at this point in the history
  25. Set defaults in a separate (private) recipe

    Since one can define broker configuration options in a number of
    different ways we cannot really set broker defaults in an attributes
    file.
    
    Instead we set them in a `_defaults` recipe, but only if they aren’t
    already set to something, as we don’t want to override what a user has
    already set.
    
    Closes sous-chefs#55.
    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    bb0c633 View commit details
    Browse the repository at this point in the history
  26. Version bump to v0.5.1

    Bug fix release with a fix for sous-chefs#55.
    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    05061d0 View commit details
    Browse the repository at this point in the history
  27. Use SVG badge for build status

    [ci skip]
    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    6e3e946 View commit details
    Browse the repository at this point in the history
  28. Fix date_pattern fuck up for log4j appenders

    Wow, that sucked pretty bad, sorry about that.
    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    9fe9ea7 View commit details
    Browse the repository at this point in the history
  29. Version bump to v0.5.2

    Bug fix release for weird default `date_pattern` for log4j appenders.
    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    f1c0168 View commit details
    Browse the repository at this point in the history
  30. Add link to latest Kafka doc. in README

    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    198921f View commit details
    Browse the repository at this point in the history
  31. Add amazon to supported OSes

    It’s essentially CentOS, but since I’ve been testing this cookbook
    on EC2 with instances running Amazon Linux I might as well add it, as
    it seems like a thing people do.
    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    095040d View commit details
    Browse the repository at this point in the history
  32. Respect controlled.shutdown.enable in init scripts

    Basically don’t force-kill the Kafka process if `controlled.shutdown.
    enable` is set to true. While it’s not necessarily a problem to force-
    kill the process, it does take quite some time to verify all the logs
    when it starts up again, and sort of defeats the purpose of even setting
    the option in the first place.
    
    From what I can tell from the upstart documentation it doesn’t try to
    kill an application if it doesn’t shutdown from the first signal, though
    I haven’t verified that this is the case.
    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    a28be98 View commit details
    Browse the repository at this point in the history
  33. Add int. tests for pidfile creation/removal

    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    56021e4 View commit details
    Browse the repository at this point in the history
  34. Wait indef. for a controlled shutdown for RedHat distros

    Thought it would be a lot nicer to actually wait for Kafka to shutdown
    when `controlled.shutdown.enable` is set to `true`, so that one can use
    the `restart` action.
    
    Unfortunately I had to write a simplified version of `killproc` to
    actually get this to work. I hate init scripts.
    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    2a6363c View commit details
    Browse the repository at this point in the history
  35. Wait indef. for a controlled shutdown on Debian

    If I understand the documentation for `start-stop-daemon`, giving a
    `—signal` parameter it won’t force-kill a process.
    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    62e1f77 View commit details
    Browse the repository at this point in the history
  36. Update .kitchen.docker.yml

    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    6af2637 View commit details
    Browse the repository at this point in the history
  37. Remove duplicate mention of supported versions in README

    [ci skip]
    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    e7816c9 View commit details
    Browse the repository at this point in the history
  38. These changes add in ulimit for file descriptors.

    solarce authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    c685087 View commit details
    Browse the repository at this point in the history
  39. Making default for ulimit_file nil.

    It'll only apply if you set it.
    For sous-chefs#56.
    solarce authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    28499e8 View commit details
    Browse the repository at this point in the history
  40. Remove non-nil checks for ulimit_file option

    Not really necessary. If one set’s it to `false`, it’s their problem.
    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    d7e3f93 View commit details
    Browse the repository at this point in the history
  41. Add int. test(s) for ulimit_file option

    Definitely not the prettiest tests I’ve written, but they do the job.
    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    91569a1 View commit details
    Browse the repository at this point in the history
  42. Remove spurious newline in debian init template

    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    30b580b View commit details
    Browse the repository at this point in the history
  43. Version bump to v0.6.0

    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    76ee1a0 View commit details
    Browse the repository at this point in the history
  44. Add (experimental) support for systemd as an init_style

    First stab at getting `systemd` to work. Still not sure about a few
    things such as using an EnvironmentFile and the code for setting up
    everything related to init styles is even messier, so it could probably
    use some cleanup and rethinking.
    
    But hey, it works.
    mthssdrbrg authored and John M committed Oct 16, 2014
    Configuration menu
    Copy the full SHA
    e9a60df View commit details
    Browse the repository at this point in the history

Commits on Oct 17, 2014

  1. Cleanup

    John M committed Oct 17, 2014
    Configuration menu
    Copy the full SHA
    9ad7910 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    52568f2 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9b31127 View commit details
    Browse the repository at this point in the history