i would be greatfull for help. I do not understand at all, how should i manage the Node data locally with my Git versioning system?

Exceprt from the Chef Documentation: http://wiki.opscode.com/display/chef/Nodes

knife node create foobar


{
    "normal": {
    },
    "name": "foobar",
    "override": {
    },
    "default": {
    },
    "json_class": "Chef::Node",
    "automatic": {
    },
    "run_list": [
       "recipe[zsh]",
       "role[webserver]"
    ],
    "chef_type": "node"
}

I have understood, I can manage this data on the server via knife over the editor!!. And there seem to be a command line option to the local chef-client (most likely -j JSON_ATTRIBS). => But chef-client runs locally and I need to upload the data to the server and then these node-attributes need to be pushed to the client. this is the only viable solution in an larger environment

But how to upload this data with knife? It seems there is no option for this? (only the option with the editor in knife seems to be present?)

Thanks Francois

link|improve this question
feedback

1 Answer

In Chef, the node is the authority. The best practice is to use knife bootstrap to get a system set up to run chef and integrate it with the Chef server.

The majority of the node attribute data is generated dynamically by the node when chef-client runs, where it uses ohai to discover information about itself. Other data can come from cookbooks and roles. Your cookbooks and roles should certainly be stored in your version control repository, in what is typically called the Chef Repository.

The main reason to store nodes locally is to capture their run lists. We recommend that you have a runbook document in your repository (like a README :)) that describes what kinds of servers you have and what their roles are.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown