[openstack-dev] [Neutron][Nova] API design and usability

Mathieu Gagné mgagne at iweb.com
Thu Aug 7 11:57:10 UTC 2014

On 2014-08-06 7:58 PM, Robert Collins wrote:
> I'm astounded by this proposal - it doesn't remove the garbage
> collection complexity at all - it transfers it from our code - Nova -
> onto end users. So rather than one tested and consolidated
> implementation, we'll have one implementation in saltstack, one
> implementation in heat, one implementation in Juju, one implementation
> in foreman etc.
> In what possible way is that an improvement ?

I agree with Robert. It is not an improvement.

For various reasons, in some parts of our systems, we have to manually 
create ports beforehand and it has always been a mess.

Instance creation often fails for all sort of reasons and it's really 
annoying to have to garbage collect orphan ports once in a while. The 
typically user does not use the API and does not care about the 
underlying details.

In other parts of our systems, we do rely on port auto-creation. It 
might has its flaws but when we use it, it works like a charm and we 
like it. We really appreciate the orchestration and automation made by Nova.

IMO, moving the burden of such orchestration (and garbage collection) to 
the end users would be a mistake. It's not a good UX at all.

I could say that removing auto-creation is like having to create your 
volume (from an image) before booting on it. Before BDMv2, that's what 
we had to do and it wasn't cool at all. We had to implement a logic 
waiting for the volume to be 'available' before booting on it otherwise 
Nova would complain about the volume not being available. Now that we 
have BDMv2, it's a much better UX.

I want to be able to run this command and not worry about pre-steps:

   nova boot --num-instances=50 [...] app.example.org


More information about the OpenStack-dev mailing list