Subject was: Re: [openstack-dev] [tc] [all] [glance] On operating a high 
throughput or otherwise team

Un-hijacking the thread.  Here are some answers to John's questions, hope they 
are helpful.

On 5/16/16, 9:06 PM, "John Griffith" 
<[email protected]<mailto:[email protected]>> wrote:
Hey,

Maybe not related, but maybe it is.  After spending the past couple of hours 
trying to help a customer with a Glance issue I'm a bit... well annoyed with 
Glance.  I'd like to chime in on this thread.  I'm honesty not entirely sure 
what the goal of the thread is, but honestly there's something rather important 
to me that I don't really seem to see being called out.

Is there any way we could stop breaking the API and it's behaviors?  Is there 
any way we can fix some of the issues with respect to how things work when 
folks configure multiple Glance repos?

Couple of examples:
1. switching from "is_public=true" to "visibility=public"

This was a major version change in the Images API.  The 'is_public' boolean is 
in the original Images v1 API, 'visibility' was introduced with the Images v2 
API in the Folsom release.  You just need an awareness of which version of the 
API you're talking to.


Ok, cool, I'm sure there's great reasons, but it really sucks when folks update 
their client and now none of their automation works any longer

The Images v1 API went from CURRENT to SUPPORTED in the Kilo release (April 30, 
2015).  The python-glanceclient began using v2 as the default with Change-Id: 
I09c9e409d149e2d797785591183e06c13229b7f7 on June 21, 2015 (and hence would 
have been in release 0.17.2 on July 16, 2015).  So these changes have been in 
the works for a while.

2. making virtual_size R/O

So for some time this was a property that folks could use to set the size of an 
image needed for things like volume creation, cloning etc.  At some point 
though it was decided "this should be read only", ok... well again all sorts of 
code is now broken, including code in Cinder.​  It also seems there's no way to 
set it, so it's always there and just Null.  It looked like I would be able to 
set it during image-create maybe... but then I hit number 3.

The virtual_size was added to the Images v2 API with Change-Id: 
Ie4f58ee2e4da3a6c1229840295c7f62023a95b70 on February 11, 2014.  The commit 
message indicates: "This patch adds the knowledge of a virtual_size field to 
Glance's API v2. The virtual_size field should respect the same rules applied 
to the size field in terms of readability, access control and propagation."  
The 'size' field has never been end-user modifiable, hence the virtual_size is 
read-only as well.

3. broken parsing for size and virtual_size

I just started looking at this one and I'm not sure what happened here yet, but 
it seems that these inputs aren't being parsed any more and are now raising an 
exception due to trying to stuff a string into an int field in the json schema.

Please file a bug with some details when you know more about this one.  It 
sounds like a client issue, but you can put details in the bug report.

So I think if the project wants to move faster that's great, but please is 
theres any chance to value backwards compatibility just a bit more?​  I'm sure 
I'm going to get flamed for this email, and the likely response will be "you're 
doing it wrong".  I guess if I'm the only one that has these sorts of issues 
then alright, I deserve the flames, and maybe somebody will enlighten me on the 
proper ways of using Glance so I can be happier and more in tune with my 
Universe.

Well, since you asked for enlightenment ... it *is* helpful to make sure that 
you know which version of the Images API you're using.  The Glance community 
values backwards compatibility, but not across major releases.

As I imagine you're aware, Glance is tagged "release: cycle-with-milestones", 
so you can read about any changes in the release notes.  Or if you want a quick 
overview of what major features were added to Glance for each release, there 
was an excellent presentation at the Tokyo summit about the evolution of the 
Glance APIs:
https://www.openstack.org/summit/tokyo-2015/videos/presentation/the-evolution-of-glance-api-on-the-way-from-v1-to-v3
slides only: 
http://www.slideshare.net/racker_br/the-evolution-of-glance-api-on-the-way-from-v1-to-v3

Before people begin freaking out at the mention of the Images v3 API, please 
note that the presentation above described the state of Glance as of October 
2015.  The Glance documentation has a statement about the two Images APIs and 
the current plans for The Future that was updated shortly after the Austin 
summit:
http://docs.openstack.org/developer/glance/glanceapi.html#glance-and-the-images-apis-past-present-and-future
(Spoiler alert: no plans for Images v3 API at this point.)

Thanks,
John

Hope that was helpful,
brian

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: [email protected]?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to