[openstack-dev] Blueprint for Nova native image building

Russell Bryant rbryant at redhat.com
Mon Aug 26 17:46:45 UTC 2013


I believe this is where the thread stopped a couple weeks ago.  I was
just curious what has happened since.  How did you interpret all of the
feedback given, and what direction have you decided to take next?

Thanks,

-- 
Russell Bryant

On 08/08/2013 12:42 PM, Mark Washenberger wrote:
> There is a current proposal in glance that is receiving development
> attention towards "importing" images asynchronously from a variety of
> sources. The import feature is plugin-based, so it would be easy to add
> on the ability and a plugin to do something like importing base os installs.
> 
> The blueprint
> is https://blueprints.launchpad.net/glance/+spec/new-upload-workflow. It
> is currently targeted for Havana-3 (but is probably the first blueprint
> on the chopping block due to other dependencies that have not yet landed).
> 
> I think this approach probably makes more sense than putting the code
> directly into Nova. But overall, I'm somewhat in favor of keeping this
> feature out of core OpenStack projects for now. It feels niche enough
> that it could live as its own project without burdening its users--most
> folks who build base images are probably operations anyway and can
> deploy stuff. And I think there are a number of other tools perhaps that
> make it easier for the smallest shops to build base images (?)
> 
> I don't buy the argument about it being a lot more work to implement
> this feature outside of OpenStack. Not that the argument is false, but
> the concern seems minor compared to the cost of weighing down core with
> yet another feature. From where I'm sitting, OpenStack is still in the
> "too many features coming too fast" regime and architecture hasn't
> caught up. So putting on the breaks wherever possible seems like the
> wisest course.
> 
> 
> On Thu, Aug 8, 2013 at 7:33 AM, Daniel P. Berrange <berrange at redhat.com
> <mailto:berrange at redhat.com>> wrote:
> 
>     On Thu, Aug 08, 2013 at 09:28:51AM -0500, Ian McLeod wrote:
>     > On Wed, 2013-08-07 at 12:05 -0400, Russell Bryant wrote:
>     > > On 08/07/2013 10:46 AM, Daniel P. Berrange wrote:
>     > > > On Tue, Aug 06, 2013 at 12:20:00PM -0400, Russell Bryant wrote:
>     > > >> On 08/06/2013 11:53 AM, Ian Mcleod wrote:
>     > > >>> Hello,
>     > > >>>
>     > > >>> A blueprint has been registered regarding API additions to
>     Nova to
>     > > >>> enable the creation of base images from external OS install
>     sources.
>     > > >>> This provides a way to build images from scratch via native
>     OS installer
>     > > >>> tools using only the resources provided through Nova.  These
>     images can
>     > > >>> then be further customized by other tools that expect an
>     existing image
>     > > >>> as an input, such as disk image builder.
>     > > >>>
>     > > >>> Blueprint -
>     > > >>> https://blueprints.launchpad.net/nova/+spec/base-image-creation
>     > > >>>
>     > > >>> Specification -
>     https://wiki.openstack.org/wiki/NovaImageCreationAPI
>     > > >>>
>     > > >>> If this is a topic that interests you, please have a look
>     (the spec is
>     > > >>> not very long) and join the conversation.
>     > > >>>
>     > > >>> Please note that this blueprint follows on from proof of
>     concept work
>     > > >>> for native image building discussed on this list in April:
>     > > >>>
>     > > >>>
>     http://lists.openstack.org/pipermail/openstack-dev/2013-April/007157.html
>     > > >>
>     > > >> Thanks of the update on this work.
>     > > >>
>     > > >> I see that your proof of concept shows how this can work as a
>     tool
>     > > >> outside of Nova:
>     > > >>
>     > > >> https://github.com/redhat-openstack/image-building-poc
>     > > >>
>     > > >> So, my biggest question is whether or not it makes sense for
>     this to be
>     > > >> a Nova feature or not.  If something can be implemented as a
>     consumer of
>     > > >> Nova, my default answer is that it should stay outside of
>     nova until I
>     > > >> am convinced otherwise.  :-)
>     > > >>
>     > > >> It sounds like this is mostly an extension to nova that
>     implements a
>     > > >> series of operations that can be done just as well outside of
>     Nova.  Are
>     > > >> there enhancements you are making or scenarios that won't
>     work at all
>     > > >> unless it lives inside of Nova?
>     > > >>
>     > > >> If it doesn't end up on the server side, it could potentially be
>     > > >> implemented as an extension to novaclient.
>     > > >
>     > > > I think the key thing is that want to make sure we don't have all
>     > > > clients apps having to re-invent the wheel. The way the proof of
>     > > > concept was done as a standalone tool, would entail such wheel
>     > > > re-invention by any frontend to Nova like the 'nova' cli and
>     > > > Horizon dashboard. Possibly you could mitigate that if you could
>     > > > actually put all the smarts in the python-novaclient library API
>     > > > so it was shared by all frontend apps.
>     > >
>     > > Yeah, I was thinking python-novaclient.  The 'nova' command line
>     tool is
>     > > just a wrapper around the library portion.
>     > >
>     > > > IIUC, though there is some state information that it is desirable
>     > > > to maintain while the images are being built. You'd probably
>     > > > such state visible to all clients talking to the same nova
>     instance,
>     > > > not hidden away in the client side where its only visible to that
>     > > > single frontend instance.
>     > >
>     > > That's an interesting point.  Do we care about having an image build
>     > > executing by the command line to show up in the UI as an image
>     build?
>     > > Right now it's just going to be another nova instance.  We have
>     to do it
>     > > on the server side to do any better.  I'm not even sure it could
>     > > integrate well with Horizon doing it in python-novaclient.  I don't
>     > > think you could start another session and see the operation in
>     progress.
>     >
>     > Perhaps it's worth revisiting the basic question:
>     >
>     > Is scratch image building (as distinct from run time customization) a
>     > task that benefits from being exposed as a distinct activity available
>     > to a typical Horizon user or as structured resource available to other
>     > services via REST?
>     >
>     > The blueprint assumes the answer is yes.
>     >
>     > But, is scratch image building in fact low level and infrequent enough
>     > to live happily as a standalone tool?  (Oz for Nova, if you will.)
> 
>     I don't think frequency of usage is the right question to evaluate
>     this really. Even if it is only used by a small set of users,
>     if those users are using Horizon for their work, IMHO, they will
>     rightly expect image building to fit into Horizon, not have to go
>     to a separate standalone tool for the job.
> 
> 
>     Daniel
>     --
>     |: http://berrange.com      -o-  
>      http://www.flickr.com/photos/dberrange/ :|
>     |: http://libvirt.org              -o-            
>     http://virt-manager.org :|
>     |: http://autobuild.org       -o-        
>     http://search.cpan.org/~danberr/ <http://search.cpan.org/%7Edanberr/> :|
>     |: http://entangle-photo.org       -o-      
>     http://live.gnome.org/gtk-vnc :|
> 
>     _______________________________________________
>     OpenStack-dev mailing list
>     OpenStack-dev at lists.openstack.org
>     <mailto:OpenStack-dev at lists.openstack.org>
>     http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> 
> 
> 
> 
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> 




More information about the OpenStack-dev mailing list