← Back to team overview

openstack team mailing list archive

Re: Network Service for L2/L3 Network Infrastructure blueprint

 

I second what Ewan said about the coding style in nova.virt.xenapi. I was responsible for part of refactoring and I am no longer fond of it either. I still think that it was good to break xenapi.py down as we did, but with hindsight I would like to revise some of the choices made, and make the code a bit more Pythonic.

Armando

From: openstack-bounces+armando.migliaccio=eu.citrix.com@xxxxxxxxxxxxxxxxxxx [mailto:openstack-bounces+armando.migliaccio=eu.citrix.com@xxxxxxxxxxxxxxxxxxx] On Behalf Of Ewan Mellor
Sent: 02 February 2011 22:08
To: Andy Smith; Rick Clark
Cc: Søren Hansen; openstack@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Openstack] Network Service for L2/L3 Network Infrastructure blueprint

> Try as we might there is still not a real consensus on high level coding style, for example the Xen-related code is radically different in shape and style from
> the libvirt code as is the rackspace api from the ec2 api, and having projects split off only worsens the problem as individual developers have fewer eyes on them.

For what it’s worth, I’m not entirely happy with the coding style in nova.virt.xenapi either, so we might not be as far from consensus as you think.  Some of the “Java-ish” code was allowed through code review for the sake of expedience, because it was a big improvement over what was there, even if it wasn’t perfect.  I’d like to rework this whenever there’s a sensible time to do so.

Also, I’d love for us to be using the same code paths as much as possible, and whatever help you need getting off KVM and onto a proper hypervisor, I’m more than happy to help ;-)

Ewan.

From: Andy Smith [mailto:andyster@xxxxxxxxx]
Sent: 28 January 2011 15:40
To: Rick Clark
Cc: Jay Pipes; Ewan Mellor; Søren Hansen; openstack@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Openstack] Network Service for L2/L3 Network Infrastructure blueprint

I'd second a bit of what Jay says and toss in that I don't think the code is ready to be splitting services off:

- There have already been significant problems dealing with glance, the nasa people and the rackspace people have effectively completely different code paths (nasa: ec2, objectstore, libvirt; rackspace: rackspace, glance, xenapi) and that needs to be aligned a bit more before we can create more separations if we want everybody to be working towards the same goals.
- Try as we might there is still not a real consensus on high level coding style, for example the Xen-related code is radically different in shape and style from the libvirt code as is the rackspace api from the ec2 api, and having projects split off only worsens the problem as individual developers have fewer eyes on them.

My goal and as far as I can tell most of my team's goals are to rectify a lot of that situation over the course of the next release by:

- setting up and working through the rackspace side of the code paths (as mentioned above) enough that we can start generalizing its utility for the entire project
- actual deprecation of the majority of objectstore
- more thorough code reviews to ensure that code is meeting the overall style of the project, and probably a document describing the code review process

After Cactus if the idea makes sense to split off then it can be pursued then, but at the moment it is much too early to consider it.

On Fri, Jan 28, 2011 at 7:06 AM, Rick Clark <rick@xxxxxxxxxxxxx<mailto:rick@xxxxxxxxxxxxx>> wrote:
On 01/28/2011 08:55 AM, Jay Pipes wrote:
> On Fri, Jan 28, 2011 at 8:47 AM, Rick Clark <rick@xxxxxxxxxxxxx<mailto:rick@xxxxxxxxxxxxx>> wrote:
> I recognise the desire to do this for Cactus, but I feel that pulling
> out the network controller (and/or volume controller) into their own
> separate OpenStack subprojects is not a good idea for Cactus.  Looking
> at the (dozens of) blueprints slated for Cactus, doing this kind of
> major rework will mean that most (if not all) of those blueprints will
> have to be delayed while this pulling out of code occurs. This will
> definitely jeopardise the Cactus release.
>
> My vote is to delay this at a minimum to the Diablo release.
>
> And, for the record, I haven't seen any blueprints for the network as
> a service or volume as a service projects. Can someone point us to
> them?
>
> Thanks!
> jay
Whew, Jay I thought you were advocating major changes in Cactus.  That
would completely mess up my view of the world :)

https://blueprints.launchpad.net/nova/+spec/bexar-network-service
https://blueprints.launchpad.net/nova/+spec/bexar-extend-network-model
https://blueprints.launchpad.net/nova/+spec/bexar-network-service


It was discussed at ODS, but I have not seen any code or momentum, to date.

I think it is worth while to have an open discussion about what if any
of this can be safely done in Cactus.  I like you, Jay, feel a bit
conservative.  I think we lost focus of the reason we chose time based
releases. It is time to focus on nova being a solid trustworthy
platform.  Features land when they are of sufficient quality, releases
contain only the features that passed muster.

I will be sending an email about the focus and theme of Cactus in a
little while.

Rick



_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to     : openstack@xxxxxxxxxxxxxxxxxxx<mailto:openstack@xxxxxxxxxxxxxxxxxxx>
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Follow ups

References