-
Notifications
You must be signed in to change notification settings - Fork 585
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
Documentation on kitchen functions #439
Comments
|
I'm aware of the cli help. However, it really isn't clear what 'setup', 'test', 'verify' and 'converge' and so on actually do. |
If you describe what you would like to see in the descriptions, we can update them. It's rather unclear to me what you are asking. |
I think the kitchen.ci site actually has a pretty good description of the commands and what they do in relation to a workflow. It also has some extra examples and steps that are common, but it does go into detail about create, converge, verify, test, etc. A good place to start is here: http://kitchen.ci/docs/getting-started/creating-cookbook |
I'm not seeing anything. I guess I'll write a script to crawl all the docs, and then grep for 'kitchen setup' and 'kitchen verify' to plead my case. |
... @dgarstang why the passive aggressive attitude? I asked you to clarify what you are looking for and you come back angry. What would you expect to see? Where do you expect to see it? You've effectively said "it's broken", but have given me no indication of where/what to fix or would you think the fix should be. We would love to help, but you need to clearly explain the issue. |
I had to spend a couple days in the code to figure out what the kitchen commands did. Most of the people I'm trying to get to use test-kitchen are not going to do that. I'm working a group of brand new chef users and the test-kitchen documentation and cli help are not making enough sense. Here's a couple places we are running into difficulties. I've tried writing up my notes a couple times and never came up with anything that made sense to contribute.
|
Thanks Mark. I completely agree with your assessment. Thanks for taking the time to write that. I got as far as this before I saw your reply... wget --limit-rate=200k --no-clobber --convert-links --random-wait -r -p -E -e robots=off -U mozilla http://kitchen.ci/docs/getting-started/ Doug. |
Let's keep this out of this conversation. I do agree the options are a bit magical, but let's keep this to CLI documentation to avoid going down a rabbit hole. Please open another issue to track the lack of docs around |
I think the problem for a lot of people coming to kitchen are there are a lot of commands. Don't take this harshly I just think a lot of people won't use every function and for a new user it can be scary to see too many knobs. kitchen help
Starting Out:
kitchen init # Adds some configuration to your cookbook
Setting it up:
kitchen converge [INSTANCE|REGEXP|all] # Converge one or more
Using it:
kitchen converge [INSTANCE|REGEXP|all] # Converge one or more
kitchen test [INSTANCE|REGEXP|all] # Test one or more instances
kitchen verify [INSTANCE|REGEXP|all] # Verify one or more instances
Shutting it Down:
kitchen destroy [INSTANCE|REGEXP|all] # Destroy one or more instances
When it breaks:
kitchen diagnose [INSTANCE|REGEXP|all] # Show computed diagnostic configuration
kitchen login INSTANCE|REGEXP # Log in to one instance
Everything else:
kitchen list [INSTANCE|REGEXP|all] # Lists one or more instances
kitchen --help --all
Commands:
kitchen console # Kitchen Console!
kitchen converge [INSTANCE|REGEXP|all] # Converge one or more instances
kitchen create [INSTANCE|REGEXP|all] # Create one or more instances
kitchen destroy [INSTANCE|REGEXP|all] # Destroy one or more instances
kitchen diagnose [INSTANCE|REGEXP|all] # Show computed diagnostic configuration
kitchen driver # Driver subcommands
kitchen driver create [NAME] # Create a new Kitchen Driver gem project
kitchen driver discover # Discover Test Kitchen drivers published on RubyGems
kitchen driver help [COMMAND] # Describe subcommands or one specific subcommand
kitchen help [COMMAND] # Describe available commands or one specific command
kitchen init # Adds some configuration to your cookbook so Kitchen can rock
kitchen list [INSTANCE|REGEXP|all] # Lists one or more instances
kitchen login INSTANCE|REGEXP # Log in to one instance
kitchen setup [INSTANCE|REGEXP|all] # Setup one or more instances
kitchen test [INSTANCE|REGEXP|all] # Test one or more instances
kitchen verify [INSTANCE|REGEXP|all] # Verify one or more instances
kitchen version # Print Kitchen's version information Better descriptions could help; but a short help / long help maybe the quickest way to make it easier without removing any options. |
I'm good with that if the long help tells me what the difference is between 'kitchen converge' and 'kitchen setup' and 'kitchen verify' and so on. |
The long help isn't very helpful.
Which is exactly the same thing that Even if there was no redundancy it's a big vague. |
I'd much prefer an issue in https://github.com/test-kitchen/kitchen-docs to address these questions, please. While reference docs are still in the process of being written, I'm sure you can imagine it's a lot of work to maintain an OSS project when it's not your primary day job. @dgarstang would a page explaining each of the kitchen actions (i.e. create, converge, setup, verify, destroy, and test) help to address this? |
fnichol, I think it would. It would need to detail the specifics of what it does. I.e., when is the run_list from the platform used? When is the run_list from the test suite used? Which actions are combinations of other actions, and so forth. |
I have been and will always be a HUGE fan of this project and all the other stuff that @fnichol and @sethvargo have written for the chef community. It has literally changed my life as an infrastructure/automation engineer every single day. That being said I have to agree with @MarkGibbons and others that the documentation could use a bit of clarity in regards to the .kitchen.yml file and it's sections. I think the kitchen commands themselves are not terribly difficult to understand but some could use a bit of clarity as well. In the end we all want these projects to thrive so I think everybody that has suggested ideas in regards to the docs in this issue should take it upon themselves to help contribute better documentation via pull requests. |
I don't think anyone is saying "no, we don't want documentation". But as an author of such a tool, it is very easy to make assumptions about your user's level of understanding. That's why having a list of things that are unclear will make it more apparent where we need to focus documentation efforts. |
That's why having your Users contribute back what they expect and deal with; helps the developer understand how their tools are used (better). Without that you have a deaf ear trying to listen to something you are not hearing. Contribute Back
|
@damn, if your suggesting that I, as a user contribute back to the documentation, I could do that. However, since I have no idea whatsoever what, say 'kitchen setup' does (because there's no reference besides the source), my contribution would be something like 'kitchen setup - does something but I don't know what'. |
@dgarstang I'm suggesting you've done a great deal by just creating the issue and making @fnichol aware of your feelings. Now if there's anyway you can help improve the documentation it is more than welcome but I don't feel that is required. |
I'll have a pull request that covers the issues I brought up within the week. I'm pushing it past a mix of beginners and experienced users for feedback. I'll have a working draft on github soon. Mark |
Pull request #450 covers the problems I had with test-kitchen documentation. Mark |
Fixed in #450. Thanks @MarkGibbons! |
Would it possible to provide some documentation on what all the kitchen commands are and specifically what they do? i.e. 'converge', 'verify', 'test' etc. I can't find this anywhere including the getting started guide.
The text was updated successfully, but these errors were encountered: