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.
