-
Notifications
You must be signed in to change notification settings - Fork 57
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
(MODULES-1174) Puppet 3.7 compatibility #38
(MODULES-1174) Puppet 3.7 compatibility #38
Conversation
|
FYI @ferventcoder I'm getting 3 fails against Puppet 3.6.2 in the tests for autorequires: I'm wondering if these tests are broken since the 3.6 release or something? This is what I see in my catalog / reqs for the failing test An on passing tests: |
|
I've also noticed that when testing against Puppet 3.7 x86 from source, that we need to have Without With the old version of win32-security, a fail is generated like: |
|
Also, I did run this against Puppet 3.7 PR 2967 against x86. After ensuring that I was using Facter 2.1 / Puppet from source for the specs, I installed the bundle to a local The PR code at puppetlabs/puppet#2967 introduces a few new constants. Without that code, the specs will fail when unable to find constants that used to be in the I have not run acceptance tests or verified against x64. |
|
CLA signed by all contributors. |
|
Updated. |
| yield sid_ptr | ||
| end | ||
| end | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should probably be outside the constraint for Puppet.version < '3.6.0'
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Given for Puppet < 3.6, string_to_sid_ptr lives only on Puppet::Util::Windows::Security, and safe_string_to_sid_ptr is only called in this < 3.6 monkey patch, I think safe_string_to_sid_ptr can just be removed completely.
I think when I put it in there I completely missed that the entire thing is for < 3.6
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Keep in mind that you would need to apply your changes to less than 3.7.0 (this area would not cover 3.6.1+).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh yeah.. we have three cases here
- < 3.6
-
= 3.7
- in between
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Or just a new section with < 3.7.0
|
Passed 3.7 testing, waiting on results against PE 3.2 and 3.3 |
|
@cyberious hold off on a merge for this one... want to test removing a little more code that I think is unnecessary. |
|
Sounds good. Passed 3.3 and 3.4 PE -- Travis Fields Forge Module Engineer Join us at PuppetConf 2014, September 22-24 in San Francisco Register by May 30th to take advantage of the Early Adopter discount —save $349! On Wed, Aug 20, 2014 at 7:51 AM, Ethan J. Brown notifications@github.com
|
210f5ae
to
8b0303c
Compare
- Puppet 3.7 refactored underlying Win32 API code by changing gems and refactoring classes. The windows-pr gem was removed which provides a number of methods and constants through mixins to the Puppet::Util::Windows::Security class. A number of global constants are also defined in the namespaces ::Windows::File and ::Windows::Security. - Furthermore, some methods that used to be defined on Puppet::Util::Windows::Security are now in Puppet::Util::Windows::SID - Restructure the code to prefer Puppet 3.7 method locations with a graceful fallback solution to 3.6.x with older code, etc. - Define all constants locally in base class, remove need to require 'windows/security' and 'windows/file' - Add definitions for FILE_WRITE_DATA, FILE_APPEND_DATA, FILE_READ_DATA FILE_WRITE_ATTRIBUTES and FILE_EXECUTE to Base class for use in tests
- Previous exclusion affected only x86 and not x64
8b0303c
to
09f6068
Compare
|
Ran specs locally against Puppet 3.4.3 / Facter 1.7.5, Puppet 3.5.1 / Facter 2.0.1, Puppet 3.6.2 / Facter 2.0.1, Puppet 3.7 HEAD on master / Facter 2.1.0 for Ruby 1.9.3 x86 -- all tests pass. Also ran specs against Puppet 3.7 HEAD / Facter 2.1.0 for Ruby 2.0.0 x64 -- all tests pass. |
|
In other words, I think we're safe to merge this now @cyberious |
|
Sounds good, merging and testing again. |
…t-37-compatibility (MODULES-1174) Puppet 3.7 compatibility
refactoring classes. The windows-pr gem was removed which provides
a number of methods and constants through mixins to the
Puppet::Util::Windows::Security class. A number of global constants
are also defined in the namespaces ::Windows::File and
::Windows::Security.
Puppet::Util::Windows::Security are now in Puppet::Util::Windows::SID
fallback solution to 3.6.x with old gems, etc.