Fixes #10940: puppetrun works properly now on ruby > 1.8.7
Fixes #11311: puppet tests no longer fail if /etc/puppet/puppet.conf doesn't exist
Fixes #11103: tftp tests no longer fail when module config file contains changes.
Fixes #11229: changes in puppet modules are now being detected when listing available puppet classes
Fixes #10259 - Templates are now fully proxied
It was ignoring some parameters (MAC for bootdisk) as well as headers(HTTP_X_RHN_PROVISIONING_*).
Originally written by William Hefter, but completely redone from scratch.
fixes #11131 - use consistent timestamps in cache test expectations
fixes #10941: fixed puppet class caching
fixes #11098: fixed ruby 1.8-specific issues around plugin and provider searches
Fixes #7008: dns providers are now plugins
fixes #10895: moved smart_proxy_chef-specific classes to the plugin itself
Fixes #10527 - DHCP/TFTP support for Cisco POAP
Fixes #10003: Support for config file migrations
Fixes #10264 - omapi port not evaluated.
Fixes #10116 - BMC is not able to use parameters passed in through body
Fixes #7543 - allow additional rubyipmi connection options to be passedthrough
Fixes #9852 - REST API violation in BMC smart proxy API * authentication errors now return 401 and proper message
fixes #9919 - stub DNS lookup during trusted hosts test
Fixes #9740 - support foreman_url with path
Normalization of settings implemented by Dmitri Dolguikh <dmitri@appliedlogic.ca>
Fixes #9840 - BMC providers should return 501 error code when they don't implement the api call
Fixes #9711 - bmc module does not full implement its api * adds additional logic around providers * implements /providers, /providers/installed, /host, / * the / returns a list of resources to use to help the user * catches a case where if the provider is nil, we can default to a provider and warn the user...
Fixes #9710 - add rubyipmi test_connection api call
Fixes #9709 - allow the bmc module to log all impi calls
Fixes #9245 - Add override setting to allow mcollective puppet runs to run as a different user
refs #9299: prefixes ending with a '/' do not get appended a '-'
Thanks to Dmitry Kireev for the original PR.
Fixes #9089 - refactored SSL client verification into method
Fixes #7849 - re-factor trusted_hosts handling
On HTTPS we will get the FQDN from the client certificate and check against thelist.
While on HTTP we will perform both reverse DNS and forward DNS lookup to verifythe client may talk to us.
Additionally the forward_verify of DNS can be disabled.
Fixes #8948: Remove implicit test ordering from DHCP API test
I had an conflict with test-unit on my system.
test-unit uses alphabetic by default, only minitest supports"sorted", which is default there.
refs #8948 - Problem with implicit test ordering from DHCP API test
fixes #8811 - refactor per-module enabling of http(s) to http(s)_rackup
Fixes #8748 - Allow per-module enabling of http(s)
Fixes #8210 - Adding caching for smart-proxy puppet classes using Stefan Julin's implementation of cache
Fixes #8538 - Fixed ISC DHCP states and duplicities
Our ISC DHCP parser was not respecting binding states "free" vs "active" andit was reading free (released) leases as active. Also, with longer leasetimes it was loading multiple leases as duplicities. Both was causing...
Refs #8267 - pass template_url in call to foreman
Also passes the ?static parameter on correctly
fixes #8300 - set webmock custom HTTP status response correctly
Fixes #8160 - Remove chef related code
Code was extracted to separate chef plugin. Seehttps://github.com/theforeman/smart_proxy_chef
Refs #969 - Proxy-side changes for serving templates from the proxy
An update to @GregSutcliffe's original PR. Ports his original feature to the newplugin api.
fixes #7352 - missing DNS record returns 404
Fixes #7859 - puppetssh run works on Ruby 1.9+
fixes #7660: fixes first bunch of rubocop warnings
Fixes #7860 - added puppetssh_wait option
fixes #7822 - forbid HTTPS requests with no client SSL certificate
fixes #7596 - validate plugin dependencies when loading, various fixes
fixes #7351: plugins no longer crash smart-proxy if they are missing either of rackup paths
fixes #7235: dhcp tests are now order-independent
fixes #7274 - generate date format expectation in tests to handle Ruby/JSON differences
fixes #7080: symbols are no longer being sorted
fixes #7060: puppet gem is no longer required if puppetca is disabled.
fixes #6722 - correct require for kerberos utilities
fixes #6589 - add trusted_hosts check back
fixes #6522 - move request code out of chef module
The patch also moves foreman_ssl_ca, foreman_ssl_cert andforeman_ssl_key config options from Chef plugin config to global configand adds fallback to the ssl_* options if these are not defined.
Fixes #6744 - Avoid nested arrays and extra array copies in the ISC DHCP config parser
Fixes #6742 - Add a unit test suite for the DHCP API
This is built around the ISC DHCPD provider, the goal is testing the API layer.
fixes #6908 - update request tests for latest Chef release
Fixes #6772: added support for testing of plugins
fixes #4699 - support Puppet environments API for directory envs
Fixes #6689 - Allow nil mac address for TFTP API calls that do not require a MAC
fixes #6700 - tests for Proxy::Puppet::Runner shell methods
fixes #6588 - don't load user settings when testing default settings
fixes #6585 - Update Proxy::Util::CommandTask to handle Ruby 1.8 and 1.9+
In this update, use 'true' and 'false' to test $? return codes 0 and 1, respectively.In Ruby 1.8.x, the return code from Open3.popen3 is always 0, some errors will not be caught.
Fixes #6396: an error removing a DHCP record (record doesn't exist) stops the delete process for a host
fixes #6275 - idempotence needs clone of original data and to handle *_port
fixes #6289: avoids concurrent downloads of files with the same name and destination dir.
fixes #6306: removed possible namespace collisions with puppet and chef
fixes #6341 - Add support for 64-bit MAC addresses
Fixes #4866: Breaking up monolithic smart-proxy into modules
Fixes #6086 - stop remote command execution and path exploit in TFTP API (CVE-2014-0007)
fixes #5675 - expect dns_key setting to be nil if not set
fixes #5677 - handle booleans from settings.yml as bools
Fixes #5739 - Only look at reservations when deleting a DHCP record
Fixes #5648 - Match the DHCP specification of last-lease-wins
fixes #5561 pass arguments correctly in run puppet over ssh
fixes #5522 - future parser can be set in puppet.conf [main]
fixes #5239 - update for Puppet 3.5 future parser changes
fixes #5123 - IP only from the same subnet and range
fixes #5019 - puppet cert sudo command now configurable and optional
fixes #1809 - freeipa integration to smartproxy
fixes #4686 - don't rely on Puppet[:config] to store config file location
fixes #4660 - stub omshell during DHCP tests
fixes #4658 - parse puppet.conf with augeas instead of puppet internals
fixes #2878 - Import Classes when using parser = future, on Puppet 3.2+
fixes #3941 - Support for Junos ZTP
fixes #3874 - extend paths for FreeBSD support
fixes #3067 - add sparc solaris dhcp options for ISC
fixes #3732 - Saltstack puppet provider, using 'salt host puppet.run'
fixes #3699 - chefproxy feature, proxies facts and reports to Foreman
fixes #3150 - adds ability to specify the user to invoke sudo as when calling mco/puppet kick
fixes #3047 - added puppetrun over ssh support
fixes #2738 - handle multiple dynamic modulepaths
Fixes #2714 - corrected IO#popen parameter on ruby 1.8.7
fixes #2673 - none/wildcard http 'accept' headers are being handled correctly now
fixes #2662 - Proxy::Util.escape_for_shell is being used in PuppetRun.run and MCollective.run methods
Fixes #2659 - Use gsub in a non-destructive manner
Fixes #2654 - Rewrite master as production when only one environment is found
fixes #2520 - defines default settings for dns and puppet
Fixes #2119 - Properly support colon-separated modulepath
fixes #2387 - Add shell provider to the BMC API
fixes #2067 - disable puppet's handling of 'import' to fix manifests containing it
fixes #2209 - explicitly use Proxy::Puppet::Environment#name for to_json
fixes #2191 - undef in puppet class params is optional
fixes #2261 - fixes for CI testing under Ruby 1.9
Support minitest in Jenkins rake tasks, add rdoc and minitest deps due toold 1.9.2 versions. Fix PLATFORM under 1.9, fix 1.9.3 specific test.
Fixed CVE-2013-0210 and added test for new escape method