Generating node configuration files with knife -- plugin or patch chef/ core?


#1

I was thinking of writing a knife plugin so that you could run $ knife
node create --to-file foo1 ; it writes a json doc to
chef-repo/nodes/foo1.json with a basic template

Or should i try to modify chef code itself to add this trivial piece of
functionality? I haven’t had a lot of luck with my pull requests lately. I
am not sure if it is because my code is crap (highly possible) or if you
the chef-devs are extremely busy (also highly possible)


#2

On Nov 27, 2011 2:30 PM, “Bryan Berry” bryan.berry@gmail.com wrote:

I was thinking of writing a knife plugin so that you could run $ knife
node create --to-file foo1 ; it writes a json doc to
chef-repo/nodes/foo1.json with a basic template

I am curious what your process is here. Do you create a node from this JSON
immediately thereafter?

Or should i try to modify chef code itself to add this trivial piece of
functionality? I haven’t had a lot of luck with my pull requests lately. I
am not sure if it is because my code is crap (highly possible) or if you
the chef-devs are extremely busy (also highly possible)

Busy, but what stage are your pull requests at? Do they have associated
tickets that are marked fixed/resolved?

We haven’t been merging much for 0.10.8 because were trying to get 0.10.6
out the door right now.

Bryan


#3

I am curious what your process is here. Do you create a node from this
JSON immediately thereafter?
Yes, exactly. Next I bootstrap the node. Ideally I would combine creating
in chefserver and bootstrapping the node.

The primary motivation is to give my users the ability to see which
recipes/roles. They are also used to everything being under version control
so they like the idea of having the node definitions under source control.

While they can’t actually see all the recipes applied to a node because of
roles, they understand roles so can read through the corresponding role
definitions.

Or should i try to modify chef code itself to add this trivial piece of
functionality? I haven’t had a lot of luck with my > pull requests lately.
I am not sure if it is because my code is crap (highly possible) or if you
the chef-devs are >extremely busy (also highly possible)

Busy, but what stage are your pull requests at? Do they have associated
tickets that are marked fixed/resolved?
I haven’t written it yet because I haven’t had much success with my pull
requests as of late. I thought I would gauge how much interest you have
before patching chef/ or writing a knife plugin.

lastly, what on earth is a “loftninja”?

On Mon, Nov 28, 2011 at 9:48 PM, Bryan McLellan btm@loftninjas.org wrote:

On Nov 27, 2011 2:30 PM, “Bryan Berry” bryan.berry@gmail.com wrote:

I was thinking of writing a knife plugin so that you could run $ knife
node create --to-file foo1 ; it writes a json doc to
chef-repo/nodes/foo1.json with a basic template

I am curious what your process is here. Do you create a node from this
JSON immediately thereafter?

Or should i try to modify chef code itself to add this trivial piece of
functionality? I haven’t had a lot of luck with my pull requests lately. I
am not sure if it is because my code is crap (highly possible) or if you
the chef-devs are extremely busy (also highly possible)

Busy, but what stage are your pull requests at? Do they have associated
tickets that are marked fixed/resolved?

We haven’t been merging much for 0.10.8 because were trying to get 0.10.6
out the door right now.

Bryan


#4

On Tue, Nov 29, 2011 at 1:44 AM, Bryan Berry bryan.berry@gmail.com wrote:

Busy, but what stage are your pull requests at? Do they have associated
tickets that are marked fixed/resolved?

I haven’t written it yet because I haven’t had much success with my pull
requests as of late. I thought I would gauge how much interest you have
before patching chef/ or writing a knife plugin.

Pull requests aren’t part of the established process for
contributions. While there is a little bit of benefit in them, like
being able to have access to a diff, they specifically view the open
source contribution process through Github tinted glasses.
Unfortunately, Github has expressed no interest in allowing them to be
configurable or able to be disabled.

The contribution process, which requires a ticket, is documented here:
http://wiki.opscode.com/display/chef/How+to+Contribute

In addition to the reasons listed in the FAQ for not using pull
requests [1], tickets on JIRA provide numerous features that we find
essential to the process, such as:

  • Easily determine if a user has a CLA (from JIRA groups)
  • Determine the release a fix was included in from ticket metadata easily
  • Custom workflows allow for tracking and recording triage and merge progress
  • Extensible via plugins and able to integrate with other systems,
    such as authentication and authorization
  • Provides a documented history of a fix/feature by associating a
    ticket with a branch or commit.

We would love to see your contributions, but due to the significant
amount of activity in the community we need to use the established
processes to do so. If you could please create tickets for each body
of work that describes the bug or feature, provide the link to the
pull request, and set the ticket to resolved/fixed, we will be happy
to look at it during our weekly triage meeting.

lastly, what on earth is a “loftninja”?

A ninja. In a loft.

A long time ago, years before gmail even existed, I registered the
domain along with with a bunch of friends that hung out at my "loft"
apartment I had built in a friends warehouse. Like many monikers, it
doesn’t fit the present so well, but having the same email address for
fifteen years is convenient.

Bryan

[1] http://wiki.opscode.com/display/chef/How+to+Contribute#HowtoContribute-YouuseGitHub%2Cwhydon'tyouuseGitHubPullRequests%3F