[openstack-dev] [glance] Option to skip deleting images in use?
Jay Pipes
jaypipes at gmail.com
Fri Dec 19 00:44:31 UTC 2014
On 12/18/2014 02:08 PM, Chris St. Pierre wrote:
> I wasn't suggesting that we *actually* use filesystem link count, and
> make hard links or whatever for every time the image is used. That's
> prima facie absurd, for a lot more reasons that you point out. I was
> suggesting a new database field that tracks the number of times an image
> is in use, by *analogy* with filesystem link counts. (If I wanted to be
> unnecessarily abrasive I might say, "This is a textbook example of
> something called an analogy," but I'm not interested in being
> unnecessarily abrasive.)
>
> Overloading the protected flag is *still* a terrible hack. Even if we
> tracked the initial state of "protected" and restored that state when an
> image went out of use, that would negate the ability to make an image
I guess I don't understand what you consider to be overloading of the
protected flag. The original purpose of the protected flag was to
protect images from being deleted.
Best,
-jay
> protected while it was in use and expect that change to remain in place.
> So that just violates the principle of least surprise. Of course, we
> could have glance modify the "original_protected_state" flag when that
> flag is non-null and the user changes the actual "protected" flag, but
> this is just layering hacks upon hacks. By actually tracking the number
> of times an image is in use, we can preserve the ability to protect
> images *and* avoid deleting images in use.
>
> On Thu, Dec 18, 2014 at 5:27 AM, Kuvaja, Erno <kuvaja at hp.com
> <mailto:kuvaja at hp.com>> wrote:
>
> I think that’s horrible idea. How do we do that store independent
> with the linking dependencies?____
>
> __ __
>
> We should not depend universal use case like this on limited subset
> of backends, specially non-OpenStack ones. Glance (nor Nova) should
> never depend having direct access to the actual medium where the
> images are stored. I think this is school book example for something
> called database. Well arguable if this should be tracked at Glance
> or Nova, but definitely not a dirty hack expecting specific backend
> characteristics.____
>
> __ __
>
> As mentioned before the protected image property is to ensure that
> the image does not get deleted, that is also easy to track when the
> images are queried. Perhaps the record needs to track the original
> state of protected flag, image id and use count. 3 column table and
> couple of API calls. Lets not at least make it any more complicated
> than it needs to be if such functionality is desired.____
>
> __ __
>
> __-__Erno____
>
> __ __
>
> *From:*Nikhil Komawar [mailto:nikhil.komawar at RACKSPACE.COM
> <mailto:nikhil.komawar at RACKSPACE.COM>]
> *Sent:* 17 December 2014 20:34
>
>
> *To:* OpenStack Development Mailing List (not for usage questions)
> *Subject:* Re: [openstack-dev] [glance] Option to skip deleting
> images in use?____
>
> __ __
>
> Guess that's a implementation detail. Depends on the way you go
> about using what's available now, I suppose.____
>
> __ __
>
> Thanks,
> -Nikhil____
>
> ------------------------------------------------------------------------
>
> *From:*Chris St. Pierre [chris.a.st.pierre at gmail.com
> <mailto:chris.a.st.pierre at gmail.com>]
> *Sent:* Wednesday, December 17, 2014 2:07 PM
> *To:* OpenStack Development Mailing List (not for usage questions)
> *Subject:* Re: [openstack-dev] [glance] Option to skip deleting
> images in use?____
>
> I was assuming atomic increment/decrement operations, in which case
> I'm not sure I see the race conditions. Or is atomism assuming too
> much?____
>
> __ __
>
> On Wed, Dec 17, 2014 at 11:59 AM, Nikhil Komawar
> <nikhil.komawar at rackspace.com <mailto:nikhil.komawar at rackspace.com>>
> wrote:____
>
> That looks like a decent alternative if it works. However, it
> would be too racy unless we we implement a test-and-set for such
> properties or there is a different job which queues up these
> requests and perform sequentially for each tenant.____
>
> __ __
>
> Thanks,
> -Nikhil____
>
> ------------------------------------------------------------------------
>
> *From:*Chris St. Pierre [chris.a.st.pierre at gmail.com
> <mailto:chris.a.st.pierre at gmail.com>]
> *Sent:* Wednesday, December 17, 2014 10:23 AM
> *To:* OpenStack Development Mailing List (not for usage questions)
> *Subject:* Re: [openstack-dev] [glance] Option to skip deleting
> images in use?____
>
> That's unfortunately too simple. You run into one of two cases: ____
>
> __ __
>
> 1. If the job automatically removes the protected attribute when
> an image is no longer in use, then you lose the ability to use
> "protected" on images that are not in use. I.e., there's no way
> to say, "nothing is currently using this image, but please keep
> it around." (This seems particularly useful for snapshots, for
> instance.)____
>
> __ __
>
> 2. If the job does not automatically remove the protected
> attribute, then an image would be protected if it had ever been
> in use; to delete an image, you'd have to manually un-protect
> it, which is a workflow that quite explicitly defeats the whole
> purpose of flagging images as protected when they're in use.____
>
> __ __
>
> It seems like flagging an image as *not* in use is actually a
> fairly difficult problem, since it requires consensus among all
> components that might be using images.____
>
> __ __
>
> The only solution that readily occurs to me would be to add
> something like a filesystem link count to images in Glance. Then
> when Nova spawns an instance, it increments the usage count;
> when the instance is destroyed, the usage count is decremented.
> And similarly with other components that use images. An image
> could only be deleted when its usage count was zero.____
>
> __ __
>
> There are ample opportunities to get out of sync there, but it's
> at least a sketch of something that might work, and isn't *too*
> horribly hackish. Thoughts?____
>
> __ __
>
> On Tue, Dec 16, 2014 at 6:11 PM, Vishvananda Ishaya
> <vishvananda at gmail.com <mailto:vishvananda at gmail.com>> wrote:____
>
> A simple solution that wouldn’t require modification of
> glance would be a cron job
> that lists images and snapshots and marks them protected
> while they are in use.
>
> Vish____
>
>
> On Dec 16, 2014, at 3:19 PM, Collins, Sean
> <Sean_Collins2 at cable.comcast.com
> <mailto:Sean_Collins2 at cable.comcast.com>> wrote:
>
> > On Tue, Dec 16, 2014 at 05:12:31PM EST, Chris St. Pierre wrote:
> >> No, I'm looking to prevent images that are in use from being deleted. "In
> >> use" and "protected" are disjoint sets.
> >
> > I have seen multiple cases of images (and snapshots) being deleted while
> > still in use in Nova, which leads to some very, shall we say,
> > interesting bugs and support problems.
> >
> > I do think that we should try and determine a way forward on this, they
> > are indeed disjoint sets. Setting an image as protected is a proactive
> > measure, we should try and figure out a way to keep tenants from
> > shooting themselves in the foot if possible.
> >
> > --
> > Sean M. Collins
> > _______________________________________________
> > 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
> <mailto:OpenStack-dev at lists.openstack.org>
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev____
>
>
>
> ____
>
> __ __
>
> -- ____
>
> Chris St. Pierre____
>
>
> _______________________________________________
> 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____
>
>
>
> ____
>
> __ __
>
> -- ____
>
> Chris St. Pierre____
>
>
> _______________________________________________
> 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
>
>
>
>
> --
> Chris St. Pierre
>
>
> _______________________________________________
> 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