Feature flag for a provider?
Aaron Bentley
aaron.bentley at canonical.com
Wed Apr 22 13:25:56 UTC 2015
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 2015-04-22 09:00 AM, Wayne Witzel wrote:
> I've been told to place cloudsigma provider behind a feature flag,
> but the result of that is that the provider is not registered
> unless the env variable for cloudsigma is set.
>
> So after wrapping the registration of the provider in the feature
> flag (see:
> https://github.com/juju/juju/commit/0a2cf42dcf051fe43bd803ebb144358723b4af82),
>
>
the tests no longer pass, since there is no registered provider for
> cloudsigma. Manually calling s.SetFeatureFlag(feature.CloudSigma)
> from the Suite and/or Test setup methods doesn't help since by that
> point the "init" for each provider has already been run.
>
> Looking for suggestions? My thought is that the flag isn't needed
> since by nature providers are contained and their code is only
> called if you explicitly use the provider.
I think there's a potential quality issue. I don't know anything
about the state of the cloud sigma provider code, but since it's being
kept behind a feature flag, I have to think
a) The code is not yet production quality or
b) The API isn't stable.
Say you're using Juju 2.5, in which the cloud sigma provider is fully
production quality. You create an environment. Then you go to a
machine that has Juju 2.4, where the provider was not
production-quality, and try to perform an operation on that
environment. Does Juju break? Does the environment?
Because you weren't paying attention to the Juju version number, you
may be surprised by poor behaviour. Instead, it would be better if
Juju said: "CloudSigma is not production-quality in this version of
Juju. To enable it anyway, set JUJU_DEV_FEATURE_FLAGS to $FOO."
So to avoid surprising users, I think a feature flag makes sense.
Aaron
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQEcBAEBAgAGBQJVN6FkAAoJEK84cMOcf+9hXR8IAKoenxmb8797B7xaNB842ZkH
tlwwvsc/joO8Cy73OPFyNg1NQ14g4FVCUJJ6q0qgj51ubIrB1725a0XwilUYSme5
uQGqEebZx6o9Q1SCP7uxOAZ4SEH7KftjIiqKG7kTzV93ZSeJtyK3Y7K7IuKw18UL
VvOdhxrAie/dBnxhx16CqqbJcSj21RqLmd9osgL+gWTPtZ+UkAwV5nDqunAfaqt4
9DeoYloYVeqaFlQoTsyMB0hxd3Z63S+gHcjGWSRfAqdXCOZFjMntdbq8+dOMDMvB
FkL0GBKliC7tPio2/w7OF4UW8AGMxQvMGddJflOFFt+CNAGwaLtxf6mHuA9jRGw=
=VdEM
-----END PGP SIGNATURE-----
More information about the Juju-dev
mailing list