On Mon, Apr 7, 2014 at 1:27 AM, Dominic Cleal <[email protected]> wrote:

> On 06/04/14 15:49, Andy Parker wrote:
> >   2 Put directory environments behind a feature flag (disabled by
> default)
> >     - PRO: completely removes the possibility of unwanted collisions
> >     - CON: users will have to take extra action to use the new system.
> > PE will
> >       have to ensure that they are enabled and the migration is done.
>
> I prefer this option, it's clean and as Spencer said, other new features
> work in the same way.
>
>
sigh...yeah that is looking like it might have to be the choice. I was
hoping to avoid it and find a way to slot this new functionality in without
a feature flag. I wanted to make the migration to the new environments much
more seamless than a feature flag so that people could start migrating much
earlier. On reflection this might have been a little too ambitions. As we
were putting together the changes for 3.6, which included deprecating the
existing parts and updating our packages (PUP-1433), it turned out that
automatically creating the directory in the packages would cause problems
for users upgrading. In fact, I think we came up with the same problem that
everyone encountered, but we just didn't put 2 and 2 together.

The code for option 4 that I put together, seems to solve the issue as
well, but it does it at the expense of needing to look for the existence of
the directories in the modulepath. This sounds worse than I think it might
be. Since I changed to order that it searches to be legacy -> directory
instead of directory -> legacy (legacy is what we've been calling the
existing environment configuration mechanisms), and since I suspect that it
is pretty unlikely that a request would be for an environment that has not
module directories, then I think it has only added a few (# of entries in
the modulepath) extra stat calls per request. Not ideal, but maybe ok?

If I were to implement the feature flag, how should it work? I could make
the environmentpath setting the flag and have the default value "", then
anything else would turn them on. Once they are on should it be the
behavior that showed up in 3.5.0 (directory -> legacy) or should it have
directory envs replace legacy envs?


> --
> Dominic Cleal
> Red Hat Engineering
>
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/puppet-dev/53426165.7020501%40redhat.com
> .
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Andrew Parker
[email protected]
Freenode: zaphod42
Twitter: @aparker42
Software Developer

*Join us at PuppetConf 2014, September 23-24 in San Francisco -
**http://puppetconf.com
<http://puppetconf.com/>*

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-dev/CANhgQXv6MS%2B-%3DQrH1vrS2nSMevLyxR8Po578LDnKiuWqxwYHVQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to