[Puppet - Bug #16651] Installing the cloud provisioner module breaks the node subcommand
Issue #16651 has been updated by Andrew Parker. Target version deleted (3.0.x) Bug #16651: Installing the cloud provisioner module breaks the node subcommand https://projects.puppetlabs.com/issues/16651#change-80555 Author: Jeff McCune Status: Duplicate Priority: Normal Assignee: Category: Faces Target version: Affected Puppet version: 3.0.0 Keywords: faces node face subcommand cloud_provisioner Branch: # Overview In Puppet 3.0.0, installing the official `puppetlabs-cloud_provisioner` module from the forge breaks the `puppet node` subcommand. # Expected behavior Installing the cloud_provisioner module should not breaking any existing functionality of Puppet core. # Actual Behavior root@pe-centos6:~# puppet help node Error: Could not autoload puppet/face/node/classify: no such file to load -- puppet/cloudpack Error: Could not load help for the face node. Please check the error logs for more information. Detail: "Could not autoload puppet/face/node/classify: no such file to load -- puppet/cloudpack" Error: Try 'puppet help help help' for usage # Steps to reproduce 1. Install Puppet 3.0.0 from official release RPM's on CentOS 6.3: `yum install --enablerepo=puppetlabs-devel puppet puppet-server` 1. Install the cloud provisoner module: `puppet module install puppetlabs-cloud_provisioner` At this point, the node subcommand shows up as having errors in `puppet help`. `puppet help node` is totally broken as well. -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://projects.puppetlabs.com/my/account -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To post to this group, send email to puppet-bugs@googlegroups.com. To unsubscribe from this group, send email to puppet-bugs+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
[Puppet - Bug #16651] Installing the cloud provisioner module breaks the node subcommand
Issue #16651 has been updated by Josh Cooper. Andrew Parker wrote: > There is a bug (#15165) filed against cloud provisioner to fix the `--tags` > option. Changing from an error to a warning might be a good change though, so > that we don't continually hit this. Yep, all settings are automagically exposed as command line arguments. So just creating a new setting could potentially break a face, and you'd have no way of knowing. > I just don't know what kind of unintended consequences there are for allowing > a subcommand override a setting. Does it even parse correctly? Where does the > value show up? I **think** the option is parsed and applied to the global settings. Of course, it may have completely different semantics (single vs multi-valued), validation hook may fail, etc. Really I would expect that global options be specified between `puppet` and the `application` name, e.g. `puppet --tags global node --tags face`, effectively creating separate namespaces, but I don't think puppet works that way... Bug #16651: Installing the cloud provisioner module breaks the node subcommand https://projects.puppetlabs.com/issues/16651#change-78435 Author: Jeff McCune Status: Accepted Priority: Normal Assignee: Category: Faces Target version: 3.0.x Affected Puppet version: 3.0.0 Keywords: faces node face subcommand cloud_provisioner Branch: # Overview In Puppet 3.0.0, installing the official `puppetlabs-cloud_provisioner` module from the forge breaks the `puppet node` subcommand. # Expected behavior Installing the cloud_provisioner module should not breaking any existing functionality of Puppet core. # Actual Behavior root@pe-centos6:~# puppet help node Error: Could not autoload puppet/face/node/classify: no such file to load -- puppet/cloudpack Error: Could not load help for the face node. Please check the error logs for more information. Detail: "Could not autoload puppet/face/node/classify: no such file to load -- puppet/cloudpack" Error: Try 'puppet help help help' for usage # Steps to reproduce 1. Install Puppet 3.0.0 from official release RPM's on CentOS 6.3: `yum install --enablerepo=puppetlabs-devel puppet puppet-server` 1. Install the cloud provisoner module: `puppet module install puppetlabs-cloud_provisioner` At this point, the node subcommand shows up as having errors in `puppet help`. `puppet help node` is totally broken as well. -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://projects.puppetlabs.com/my/account -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To post to this group, send email to puppet-bugs@googlegroups.com. To unsubscribe from this group, send email to puppet-bugs+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
[Puppet - Bug #16651] Installing the cloud provisioner module breaks the node subcommand
Issue #16651 has been updated by Andrew Parker. There is a bug (#15165) filed against cloud provisioner to fix the `--tags` option. Changing from an error to a warning might be a good change though, so that we don't continually hit this. I just don't know what kind of unintended consequences there are for allowing a subcommand override a setting. Does it even parse correctly? Where does the value show up? Bug #16651: Installing the cloud provisioner module breaks the node subcommand https://projects.puppetlabs.com/issues/16651#change-78434 Author: Jeff McCune Status: Accepted Priority: Normal Assignee: Category: Faces Target version: 3.0.x Affected Puppet version: 3.0.0 Keywords: faces node face subcommand cloud_provisioner Branch: # Overview In Puppet 3.0.0, installing the official `puppetlabs-cloud_provisioner` module from the forge breaks the `puppet node` subcommand. # Expected behavior Installing the cloud_provisioner module should not breaking any existing functionality of Puppet core. # Actual Behavior root@pe-centos6:~# puppet help node Error: Could not autoload puppet/face/node/classify: no such file to load -- puppet/cloudpack Error: Could not load help for the face node. Please check the error logs for more information. Detail: "Could not autoload puppet/face/node/classify: no such file to load -- puppet/cloudpack" Error: Try 'puppet help help help' for usage # Steps to reproduce 1. Install Puppet 3.0.0 from official release RPM's on CentOS 6.3: `yum install --enablerepo=puppetlabs-devel puppet puppet-server` 1. Install the cloud provisoner module: `puppet module install puppetlabs-cloud_provisioner` At this point, the node subcommand shows up as having errors in `puppet help`. `puppet help node` is totally broken as well. -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://projects.puppetlabs.com/my/account -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To post to this group, send email to puppet-bugs@googlegroups.com. To unsubscribe from this group, send email to puppet-bugs+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
[Puppet - Bug #16651] Installing the cloud provisioner module breaks the node subcommand
Issue #16651 has been updated by Josh Cooper. And the trace: Error: Could not autoload puppet/face/node_aws/bootstrap: "--tags=": already defined in puppet /Users/josh/work/puppet/lib/puppet/interface/option.rb:31:in `initialize' /Users/josh/work/puppet/lib/puppet/interface/option.rb:13:in `each' /Users/josh/work/puppet/lib/puppet/interface/option.rb:13:in `initialize' /Users/josh/work/puppet/lib/puppet/interface/option_builder.rb:13:in `new' /Users/josh/work/puppet/lib/puppet/interface/option_builder.rb:13:in `initialize' /Users/josh/work/puppet/lib/puppet/interface/option_builder.rb:7:in `new' /Users/josh/work/puppet/lib/puppet/interface/option_builder.rb:7:in `build' /Users/josh/work/puppet/lib/puppet/interface/action_builder.rb:30:in `option' /private/tmp/modules/user/cloud_provisioner/lib/puppet/cloudpack.rb:109:in `add_tags_option' /private/tmp/modules/user/cloud_provisioner/lib/puppet/cloudpack.rb:100:in `add_create_options' /private/tmp/modules/user/cloud_provisioner/lib/puppet/cloudpack.rb:256:in `add_bootstrap_options' /private/tmp/modules/user/cloud_provisioner/lib/puppet/face/node_aws/bootstrap.rb:12 /Users/josh/work/puppet/lib/puppet/interface/action_builder.rb:76:in `instance_eval' /Users/josh/work/puppet/lib/puppet/interface/action_builder.rb:76:in `initialize' /Users/josh/work/puppet/lib/puppet/interface/action_builder.rb:9:in `new' /Users/josh/work/puppet/lib/puppet/interface/action_builder.rb:9:in `build' /Users/josh/work/puppet/lib/puppet/interface/action_manager.rb:11:in `action' /private/tmp/modules/user/cloud_provisioner/lib/puppet/face/node_aws/bootstrap.rb:5 /Users/josh/work/puppet/lib/puppet/interface.rb:48:in `instance_eval' /Users/josh/work/puppet/lib/puppet/interface.rb:48:in `define' /private/tmp/modules/user/cloud_provisioner/lib/puppet/face/node_aws/bootstrap.rb:4 /Users/josh/work/puppet/lib/puppet/util/autoload.rb:68:in `load' /Users/josh/work/puppet/lib/puppet/util/autoload.rb:68:in `load_file' /Users/josh/work/puppet/lib/puppet/util/autoload.rb:83:in `loadall' /Users/josh/work/puppet/lib/puppet/util/autoload.rb:81:in `each' /Users/josh/work/puppet/lib/puppet/util/autoload.rb:81:in `loadall' /Users/josh/work/puppet/lib/puppet/util/autoload.rb:214:in `loadall' /Users/josh/work/puppet/lib/puppet/interface.rb:109:in `load_actions' /Users/josh/work/puppet/lib/puppet/interface.rb:45:in `define' /private/tmp/modules/user/cloud_provisioner/lib/puppet/face/node_aws.rb:3 ... Bug #16651: Installing the cloud provisioner module breaks the node subcommand https://projects.puppetlabs.com/issues/16651#change-78368 Author: Jeff McCune Status: Accepted Priority: Normal Assignee: Category: Faces Target version: 3.0.x Affected Puppet version: 3.0.0 Keywords: faces node face subcommand cloud_provisioner Branch: # Overview In Puppet 3.0.0, installing the official `puppetlabs-cloud_provisioner` module from the forge breaks the `puppet node` subcommand. # Expected behavior Installing the cloud_provisioner module should not breaking any existing functionality of Puppet core. # Actual Behavior root@pe-centos6:~# puppet help node Error: Could not autoload puppet/face/node/classify: no such file to load -- puppet/cloudpack Error: Could not load help for the face node. Please check the error logs for more information. Detail: "Could not autoload puppet/face/node/classify: no such file to load -- puppet/cloudpack" Error: Try 'puppet help help help' for usage # Steps to reproduce 1. Install Puppet 3.0.0 from official release RPM's on CentOS 6.3: `yum install --enablerepo=puppetlabs-devel puppet puppet-server` 1. Install the cloud provisoner module: `puppet module install puppetlabs-cloud_provisioner` At this point, the node subcommand shows up as having errors in `puppet help`. `puppet help node` is totally broken as well. -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://projects.puppetlabs.com/my/account -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To post to this group, send email to puppet-bugs@googlegroups.com. To unsubscribe from this group, send email to puppet-bugs+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
[Puppet - Bug #16651] Installing the cloud provisioner module breaks the node subcommand
Issue #16651 has been updated by Josh Cooper. The fix in progress for #7136 adds the current environment's modulepath to the $LOAD_PATH prior to requiring the face. This enables the face application to require utility code (require 'puppet/cloudpack'). However, we are now running into #13898, which prevents a face from defining options that conflict with global puppet options, in this case `--tags`. So to resolve this particular issue, we either need to revert #13898 (and address whatever issue it was trying to fix, perhaps just warn?), or fix cloud pack to use different options. Bug #16651: Installing the cloud provisioner module breaks the node subcommand https://projects.puppetlabs.com/issues/16651#change-78314 Author: Jeff McCune Status: Accepted Priority: Normal Assignee: Category: Faces Target version: 3.0.x Affected Puppet version: 3.0.0 Keywords: faces node face subcommand cloud_provisioner Branch: # Overview In Puppet 3.0.0, installing the official `puppetlabs-cloud_provisioner` module from the forge breaks the `puppet node` subcommand. # Expected behavior Installing the cloud_provisioner module should not breaking any existing functionality of Puppet core. # Actual Behavior root@pe-centos6:~# puppet help node Error: Could not autoload puppet/face/node/classify: no such file to load -- puppet/cloudpack Error: Could not load help for the face node. Please check the error logs for more information. Detail: "Could not autoload puppet/face/node/classify: no such file to load -- puppet/cloudpack" Error: Try 'puppet help help help' for usage # Steps to reproduce 1. Install Puppet 3.0.0 from official release RPM's on CentOS 6.3: `yum install --enablerepo=puppetlabs-devel puppet puppet-server` 1. Install the cloud provisoner module: `puppet module install puppetlabs-cloud_provisioner` At this point, the node subcommand shows up as having errors in `puppet help`. `puppet help node` is totally broken as well. -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://projects.puppetlabs.com/my/account -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To post to this group, send email to puppet-bugs@googlegroups.com. To unsubscribe from this group, send email to puppet-bugs+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
[Puppet - Bug #16651] Installing the cloud provisioner module breaks the node subcommand
Issue #16651 has been updated by Jeff McCune. Keywords set to faces node face subcommand cloud_provisioner Bug #16651: Installing the cloud provisioner module breaks the node subcommand https://projects.puppetlabs.com/issues/16651#change-72088 Author: Jeff McCune Status: Unreviewed Priority: Normal Assignee: Category: Faces Target version: 3.0.x Affected Puppet version: 3.0.0 Keywords: faces node face subcommand cloud_provisioner Branch: # Overview In Puppet 3.0.0, installing the official `puppetlabs-cloud_provisioner` module from the forge breaks the `puppet node` subcommand. # Expected behavior Installing the cloud_provisioner module should not breaking any existing functionality of Puppet core. # Actual Behavior root@pe-centos6:~# puppet help node Error: Could not autoload puppet/face/node/classify: no such file to load -- puppet/cloudpack Error: Could not load help for the face node. Please check the error logs for more information. Detail: "Could not autoload puppet/face/node/classify: no such file to load -- puppet/cloudpack" Error: Try 'puppet help help help' for usage # Steps to reproduce 1. Install Puppet 3.0.0 from official release RPM's on CentOS 6.3: `yum install --enablerepo=puppetlabs-devel puppet puppet-server` 1. Install the cloud provisoner module: `puppet module install puppetlabs-cloud_provisioner` At this point, the node subcommand shows up as having errors in `puppet help`. `puppet help node` is totally broken as well. -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://projects.puppetlabs.com/my/account -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To post to this group, send email to puppet-bugs@googlegroups.com. To unsubscribe from this group, send email to puppet-bugs+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
[Puppet - Bug #16651] Installing the cloud provisioner module breaks the node subcommand
Issue #16651 has been updated by Jeff McCune. # Trace root@pe-centos6:~# puppet help node --trace Error: Could not autoload puppet/face/node/classify: no such file to load -- puppet/cloudpack /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' /etc/puppet/modules/cloud_provisioner/lib/puppet/face/node/classify.rb:1 /usr/lib/ruby/site_ruby/1.8/puppet/util/autoload.rb:68:in `load' /usr/lib/ruby/site_ruby/1.8/puppet/util/autoload.rb:68:in `load_file' /usr/lib/ruby/site_ruby/1.8/puppet/util/autoload.rb:83:in `loadall' /usr/lib/ruby/site_ruby/1.8/puppet/util/autoload.rb:81:in `each' /usr/lib/ruby/site_ruby/1.8/puppet/util/autoload.rb:81:in `loadall' /usr/lib/ruby/site_ruby/1.8/puppet/util/autoload.rb:214:in `loadall' /usr/lib/ruby/site_ruby/1.8/puppet/interface.rb:108:in `load_actions' /usr/lib/ruby/site_ruby/1.8/puppet/interface.rb:45:in `define' /usr/lib/ruby/site_ruby/1.8/puppet/face/node.rb:2 /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' /usr/lib/ruby/site_ruby/1.8/puppet/interface/face_collection.rb:103:in `safely_require' /usr/lib/ruby/site_ruby/1.8/puppet/interface/face_collection.rb:59:in `load_face' /usr/lib/ruby/site_ruby/1.8/puppet/interface/face_collection.rb:20:in `[]' /usr/lib/ruby/site_ruby/1.8/puppet/interface.rb:58:in `[]' /usr/lib/ruby/site_ruby/1.8/puppet/face/help.rb:90:in `load_face_help' /usr/lib/ruby/site_ruby/1.8/puppet/face/help.rb:84:in `render_face_help' /usr/lib/ruby/site_ruby/1.8/puppet/face/help.rb:74:in `help implementation, required on Ruby 1.8' /usr/lib/ruby/site_ruby/1.8/puppet/interface/action.rb+eval[wrapper]:210:in `__send__' /usr/lib/ruby/site_ruby/1.8/puppet/interface/action.rb+eval[wrapper]:210:in `help' /usr/lib/ruby/site_ruby/1.8/puppet/application/face_base.rb:229:in `send' /usr/lib/ruby/site_ruby/1.8/puppet/application/face_base.rb:229:in `main' /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:354:in `run_command' /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:346:in `run' /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:438:in `plugin_hook' /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:346:in `run' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:500:in `exit_on_fail' /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:346:in `run' /usr/lib/ruby/site_ruby/1.8/puppet/util/command_line.rb:76:in `execute' /usr/bin/puppet:10 Error: Could not load help for the face node. Please check the error logs for more information. Detail: "Could not autoload puppet/face/node/classify: no such file to load -- puppet/cloudpack" /usr/lib/ruby/site_ruby/1.8/puppet/face/help.rb:92:in `load_face_help' /usr/lib/ruby/site_ruby/1.8/puppet/face/help.rb:84:in `render_face_help' /usr/lib/ruby/site_ruby/1.8/puppet/face/help.rb:74:in `help implementation, required on Ruby 1.8' /usr/lib/ruby/site_ruby/1.8/puppet/interface/action.rb+eval[wrapper]:210:in `__send__' /usr/lib/ruby/site_ruby/1.8/puppet/interface/action.rb+eval[wrapper]:210:in `help' /usr/lib/ruby/site_ruby/1.8/puppet/application/face_base.rb:229:in `send' /usr/lib/ruby/site_ruby/1.8/puppet/application/face_base.rb:229:in `main' /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:354:in `run_command' /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:346:in `run' /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:438:in `plugin_hook' /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:346:in `run' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:500:in `exit_on_fail' /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:346:in `run' /usr/lib/ruby/site_ruby/1.8/puppet/util/command_line.rb:76:in `execute' /usr/bin/puppet:10 Error: Try 'puppet help help help' for usage Bug #16651: Installing the cloud provisioner module breaks the node subcommand https://projects.puppetlabs.com/issues/16651#change-72087 Author: Jeff McCune Status: Unreviewed Priority: Normal Assignee: Category: Faces Target version: 3.0.x Affected Puppet version: 3.0.0 Keywords: Branch: # Overview In Puppet 3.0.0, installing the official `puppetlabs-cloud_provisioner` module from the forge breaks the `puppet node` subcommand. # Expected behavior Installing the cloud_provisioner module should not breaking any existing functionality of Puppet core. # Actual Behavior root@pe-centos6:~# puppet help node Error: Could not autoload puppet/face/node/classify: no such file to load -- puppet/cloudpack Error: Could not load help for the face node. Please check the error logs for more information. Detail: "Could not autoload puppet/face/node/classify: no such file to load -- puppet/cloudpack" Error: Try 'puppet help help help' for usage # Steps to reproduce 1. Install Puppet 3.0.0 from official release RPM's on CentOS 6.3: `yum install --enablerepo=puppetlabs-devel puppet puppet-server` 1. Install the cloud
[Puppet - Bug #16651] Installing the cloud provisioner module breaks the node subcommand
Issue #16651 has been updated by Jeff McCune. I've also filed #16651 which specifically calls out the bug we've introduced (or rather failed to fix?) in 3.0.0. I think a new bug is warranted because we're explicitly breaking existing functionality on the node subcommand, which is a subtlety not captured in #7316, #4248, #14073 or #3947 Bug #16651: Installing the cloud provisioner module breaks the node subcommand https://projects.puppetlabs.com/issues/16651#change-72086 Author: Jeff McCune Status: Unreviewed Priority: Normal Assignee: Category: Faces Target version: 3.0.x Affected Puppet version: 3.0.0 Keywords: Branch: # Overview In Puppet 3.0.0, installing the official `puppetlabs-cloud_provisioner` module from the forge breaks the `puppet node` subcommand. # Expected behavior Installing the cloud_provisioner module should not breaking any existing functionality of Puppet core. # Actual Behavior root@pe-centos6:~# puppet help node Error: Could not autoload puppet/face/node/classify: no such file to load -- puppet/cloudpack Error: Could not load help for the face node. Please check the error logs for more information. Detail: "Could not autoload puppet/face/node/classify: no such file to load -- puppet/cloudpack" Error: Try 'puppet help help help' for usage # Steps to reproduce 1. Install Puppet 3.0.0 from official release RPM's on CentOS 6.3: `yum install --enablerepo=puppetlabs-devel puppet puppet-server` 1. Install the cloud provisoner module: `puppet module install puppetlabs-cloud_provisioner` At this point, the node subcommand shows up as having errors in `puppet help`. `puppet help node` is totally broken as well. -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://projects.puppetlabs.com/my/account -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To post to this group, send email to puppet-bugs@googlegroups.com. To unsubscribe from this group, send email to puppet-bugs+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-bugs?hl=en.