Call for testers - Mixlib CLI Release Candidate


#1

Hi Chefs,

I just pushed a release candidate for version 1.3.0 of mixlib-cli.

This version adds a new class method use_separate_default_options(true | false). When enabled, the default values specified in the option declarations[0] are stored in a different variable than user-supplied values parsed from the command line. The goal of this work is to allow knife plugin authors to specify default values for options in the mixlib-cli DSL while preserving the correct order of options overriding (default < config file < command line). For more detail about the issue, see the mixlib-cli pull request[1] and discussion in CHEF-3497[2]. Once this update to mixlib-cli is officially released, we’ll patch knife to use the new functionality.

Unfortunately, chef’s dependency on mixlib-cli is completely optimistic (>=1.2.0, IIRC), so the new version will be used for all chef installs once it’s released. I believe the change to mixlib-cli is implemented such that nothing will break, but I’d love it if you guys could give it a spin. Installing it on your workstation and using knife as normal should be enough to put it through its paces.

To install it:

gem install mixlib-cli --pre

If everything works out, I’ll ship a final release in a few days, so please let me know either way after you give it a go. Also feel free to ask questions if you’re using mixlib-cli in your own applications and want to know about the new functionality.

Thanks,


Daniel DeLeo

  1. e.g., code like this: https://github.com/opscode/knife-ec2/blob/master/lib/chef/knife/ec2_server_create.rb#L89-93
  2. https://github.com/opscode/mixlib-cli/pull/11
  3. http://tickets.opscode.com/browse/CHEF-3497