On Sun, Jul 26, 2009 at 9:05 PM, Luke Kanies<[email protected]> wrote: > > On Jul 26, 2009, at 8:41 AM, Nigel Kersten wrote: > >> >> On Sun, Jul 26, 2009 at 8:33 AM, Brice >> Figureau<[email protected]> wrote: >>> >>> On 23/07/09 18:02, Nigel Kersten wrote: >>>> Signed-off-by: Nigel Kersten <[email protected]> >>>> --- >>>> .../provider/nameservice/directoryservice.rb | 36 ++++++++ >>>> +----------- >>>> 1 files changed, 16 insertions(+), 20 deletions(-) >>>> >>>> diff --git a/lib/puppet/provider/nameservice/directoryservice.rb b/ >>>> lib/puppet/provider/nameservice/directoryservice.rb >>>> index 9daed17..f4c9d59 100644 >>>> --- a/lib/puppet/provider/nameservice/directoryservice.rb >>>> +++ b/lib/puppet/provider/nameservice/directoryservice.rb >>>> @@ -108,18 +108,14 @@ class DirectoryService < >>>> Puppet::Provider::NameService >>>> return @macosx_version_major >>>> end >>>> begin >>>> - product_version = Facter.value(:macosx_productversion) >>>> - if product_version.nil? >>>> - raise Puppet::Error, "Could not determine OS X >>>> version from Facter" >>>> - end >>>> - product_version_major = product_version.scan(/(\d+)\. >>>> (\d+)./).join(".") >>>> + product_version_major = >>>> Facter.value(:macosx_productversion_major) >>> >>> My Facter (version 1.5) doesn't have this fact (but has >>> macosx_productversion). >>> >>> Could it be possible to have a degraded mode, as right now I get >>> tons of >>> failing (old) tests? >>> >>> I know I should upgrade (and will), but supporting (not so) older >>> versions of Facter should be great, or at least produce a warning >>> saying >>> that I should upgrade. >> >> We need to pick a minimum Facter version for 0.25.0 compatibility. >> >> The reason I made this patch was because we had a bug in the Facter >> code that essentially did the same thing, and fixing it in two >> separate spots seems silly... >> >> We've been doing this in install.rb, and I feel like that is the >> correct place to check the Facter version. We should patch that when >> we've decided what the minimum Facter version for 0.25.0 is. >> >> It's the job of the packagers for various distros to ensure that >> external dependencies are correct imho, and it seems like a waste of >> effort to go through working out degraded modes for all the different >> Facter features to me.... >
> I think that, at the least, it's reasonable to produce an upgrade > notice or something. Just having a failure because someone hasn't > upgraded isn't very good. Plenty of people use hand-rolled packages, > or git, or tarballs. > > If it's reasonable to support the old version but produce a > deprecation notice, that would be best. So I have a couple of options for the actual provider, and am happy to take direction on any of them: a) continue to duplicate the Facter code for major version inside the provider without a Facter version warning. b) continue to duplicate the Facter code for major version inside the provider with a Facter version warning. c) Fail with a deprecation warning if the Facter version is below whatever version first provided this fact. I still think we should be specifying a minimum Facter version for Puppet 0.25.x somewhere, whether it be in the install.rb script, or in the Puppet code, or both. Whichever approach people are happy with, I'll make the tests do the same thing I guess. > > -- > Writing is not necessarily something to be ashamed of, but do it in > private and wash your hands afterwards. --Robert Heinlein > --------------------------------------------------------------------- > Luke Kanies | http://reductivelabs.com | http://madstop.com > > > > > -- Nigel Kersten [email protected] System Administrator Google, Inc. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en -~----------~----~----~----~------~----~------~--~---
