[openstack-dev] [all] the trouble with names
Neil.Jerram at metaswitch.com
Fri Feb 5 15:57:32 UTC 2016
On 05/02/16 13:50, Dean Troyer wrote:
> On Fri, Feb 5, 2016 at 7:13 AM, Neil Jerram <Neil.Jerram at metaswitch.com
> <mailto:Neil.Jerram at metaswitch.com>> wrote:
> On 04/02/16 11:40, Sean Dague wrote:
> > What options do we have?
> > 1) Use the names we already have: nova, glance, swift, etc.
> > Upside, collision problem is solved. Downside, you need a secret decoder
> > ring to figure out what project does what.
> This is my preference. Yes, it means that there is an education hurdle
> for anyone new to OpenStack to overcome. But once that is done, there
> is a concise and precise term that they and we can all use and
> Have a look at the browser User-Agent headers and let me know how that
> has worked out for them:
> User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5)
> AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.103 Safari/537.36
> Two of those product/code names are lies for compatibility purposes. We
> (OpenStack) should not be promoting that sort of nonsense on our users
> just to save us a little bit of inconvenience in the development process.
I'm not clear how that's a good analogy. Is it?
> To add something positive to the discussion, we should remember how much
> of OpenStack consists of plugin-capable architecture, specifically so
> that out-of-tree components can be accommodated for whatever reason.
> The projects play the role of arbitrator of namespaces in the case of
> many back-end drivers.
Perhaps my response here is overly detailed, but it appears that you're
making a quite detailed technical point. So:
1. Actually, at least for Neutron ML2 drivers, Neutron does not provide
namespace arbitration. There is a setup.cfg entry point space with the
name 'neutron.ml2.mechanism_drivers', and each 3rd party driver adds its
name to that space. But there is no explicit protocol here (i.e. where
networking-calico would say 'Can I use the name calico?' and Neutron
might answer 'Yes'). De facto we just hope that there will never be
clashing names in a given deployment.
2. Note that the names used here are project or code names. For example
'calico', not 'OpenStack L3-only Networking'.
> Having someone do this for OpenStack as a whole
> is a necessary part of having a community-wide namespace such as service
Yes, but that doesn't necessarily mean 'OpenStack Networking' rather
than 'Neutron', I think.
More information about the OpenStack-dev