On Sep 25, 2015, at 12:00 PM, Chris Hoge <ch...@openstack.org> wrote:
> 
>> 
>> On Sep 25, 2015, at 6:59 AM, Doug Hellmann <d...@doughellmann.com> wrote:
>> 
>> Excerpts from Mark Voelker's message of 2015-09-25 01:20:04 +0000:
>>>> 
>>>> On Sep 24, 2015, at 5:55 PM, Sabari Murugesan <sabari.b...@gmail.com> 
>>>> wrote:
>>>> 
>>>> Hi Melanie
>>>> 
>>>> In general, images created by glance v1 API should be accessible using v2 
>>>> and
>>>> vice-versa. We fixed some bugs [1] [2] [3] where metadata associated with 
>>>> an image was
>>>> causing incompatibility. These fixes were back-ported to stable/kilo.
>>>> 
>>>> Thanks
>>>> Sabari
>>>> 
>>>> [1] - https://bugs.launchpad.net/glance/+bug/1447215
>>>> [2] - https://bugs.launchpad.net/bugs/1419823 
>>>> [3] - https://bugs.launchpad.net/python-glanceclient/+bug/1447193 
>>>> 
>>>> 
>>>> On Thu, Sep 24, 2015 at 2:17 PM, melanie witt <melwi...@gmail.com> wrote:
>>>> Hi All,
>>>> 
>>>> I have been looking and haven't yet located documentation about how to 
>>>> upgrade from glance v1 to glance v2.
>>>> 
>>>> From what I understand, images and snapshots created with v1 can't be 
>>>> listed/accessed through the v2 api. Are there instructions about how to 
>>>> migrate images and snapshots from v1 to v2? Are there other 
>>>> incompatibilities between v1 and v2?
>>>> 
>>>> I'm asking because I have read that glance v1 isn't defcore compliant and 
>>>> so we need all projects to move to v2, but the incompatibility from v1 to 
>>>> v2 is preventing that in nova. Is there anything else preventing v2 
>>>> adoption? Could we move to glance v2 if there's a migration path from v1 
>>>> to v2 that operators can run through before upgrading to a version that 
>>>> uses v2 as the default?
>>> 
>>> Just to clarify the DefCore situation a bit here: 
>>> 
>>> The DefCore Committee is considering adding some Glance v2
>> capabilities [1] as “advisory” (e.g. not required now but might be
>> in the future unless folks provide feedback as to why it shouldn’t
>> be) in it’s next Guideline, which is due to go the Board of Directors
>> in January and will cover Juno, Kilo, and Liberty [2].       The Nova image
>> API’s are already required [3][4].  As discussion began about which
>> Glance capabilities to include and whether or not to keep the Nova
>> image API’s as required, it was pointed out that the many ways images
>> can currently be created in OpenStack is problematic from an
>> interoperability point of view in that some clouds use one and some use
>> others.  To be included in a DefCore Guideline, capabilities are scored
>> against twelve Criteria [5], and need to achieve a certain total to be
>> included.  Having a bunch of different ways to deal with images
>> actually hurts the chances of any one of them meeting the bar because
>> it makes it less likely that they’ll achieve several criteria.  For
>> example:
>>> 
>>> One of the criteria is “widely deployed” [6].  In the case of images, both 
>>> the Nova image-create API and Glance v2 are both pretty widely deployed 
>>> [7]; Glance v1 isn’t, and at least one uses none of those but instead uses 
>>> the import task API.
>>> 
>>> Another criteria is “atomic” [8] which basically means the capability is 
>>> unique and can’t be built out of other required capabilities.  Since the 
>>> Nova image-create API is already required and effectively does the same 
>>> thing as glance v1 and v2’s image create API’s, the latter lose points.
>> 
>> This seems backwards. The Nova API doesn't "do the same thing" as
>> the Glance API, it is a *proxy* for the Glance API. We should not
>> be requiring proxy APIs for interop. DefCore should only be using
>> tests that talk directly to the service that owns the feature being
>> tested.
> 
> I agree in general, at the time the standard was approved the
> only api we had available to us (because only nova code was
> being considered for inclusion) was the proxy.
> 
> We’re looking at v2 as the required api going forward, but
> as has been mentioned before, the nova proxy requires that
> v1 be present as a non-public api. Not the best situation in
> the world, and I’m personally looking forward to Glance,
> Cinder, and Neutron becoming explicitly required APIs in
> DefCore.
> 

Also worth pointing out here: when we talk about “doing the same thing” from a 
DefCore perspective, we’re essentially talking about what’s exposed to the end 
user, not how that’s implemented in OpenStack’s source code.  So from an end 
user’s perspective:

If I call nova image-create, I get an image in my cloud.  If I call the Glance 
v2 API to create an image, I also get an image in my cloud.  I neither see nor 
care that Nova is actually talking to Glance in the background, because if I’m 
writing code that uses the OpenStack API’s, I need to pick which one of those 
two API’s to make my code call upon to put an image in my cloud.  Or, in the 
worst case, I have to write a bunch of if/else loops into my code because some 
clouds I want to use only allow one way and some allow only the other.

So from that end-user perspective, the Nova image-create API indeed does “do 
the same thing" as the Glance API.

At Your Service,

Mark T. Voelker


> 
>> Doug
>> 
>>> 
>>> Another criteria is “future direction” [9].  Glance v1 gets no points here 
>>> since v2 is the current API, has been for a while, and there’s even been 
>>> some work on v3 already.
>>> 
>>> There are also criteria for  “used by clients” [11].  Unfortunately both 
>>> Glance v1 and v2 fall down pretty hard here as it turns out that of all the 
>>> client libraries users reported in the last user survey, it appears the 
>>> only one other than the OpenStack clients supports Glance v2 and one 
>>> supports Glance v1 while the rest all rely on the Nova API's.  Even within 
>>> OpenStack we don’t necessarily have good adoption since Nova still uses the 
>>> v1 API to talk to Glance and OpenStackClient didn’t support image creation 
>>> with v2 until this week’s 1.7.0 release. [13]
>>> 
>>> So, it’s a bit problematic that v1 is still being used even within the 
>>> project (though it did get slightly better this week). It’s highly unlikely 
>>> at this point that it makes any sense for DefCore to require OpenStack 
>>> Powered products to expose v1 to end users.  Even if DefCore does end up 
>>> requiring Glance v2 to be exposed to end users, that doesn’t necessarily 
>>> mean Nova couldn’t continue to use v1: OpenStack Powered products wouldn’t 
>>> be required to expose v1 to end users, but if the nova image-create API 
>>> remains required then they’d have to expose it at least internally to the 
>>> cloud.  But….really?  That’s still sort of an ugly position to be in, 
>>> because at the end of the day that’s still a lot more moving parts than are 
>>> really necessary and that’s not particularly good for operators, end users, 
>>> developers who want interoperable ways of doing things, or pretty much 
>>> anybody else.  
>>> 
>>> So basically: yes, it would be *lovely* if we could all get behind fewer 
>>> ways of dealing with images. [10]  
>>> 
>>> [1] https://review.openstack.org/#/c/213353/
>>> [2] http://git.openstack.org/cgit/openstack/defcore/tree/2016.next.json#n8
>>> [3] http://git.openstack.org/cgit/openstack/defcore/tree/2015.07.json#n23
>>> [4] http://git.openstack.org/cgit/openstack/defcore/tree/2015.05.json#n20
>>> [5] 
>>> http://git.openstack.org/cgit/openstack/defcore/tree/doc/source/process/CoreCriteria.rst
>>> [6] 
>>> http://git.openstack.org/cgit/openstack/defcore/tree/doc/source/process/CoreCriteria.rst#n40
>>> [7] 
>>> http://lists.openstack.org/pipermail/openstack-dev/2015-September/074540.html
>>> [8] 
>>> http://git.openstack.org/cgit/openstack/defcore/tree/doc/source/process/CoreCriteria.rst#n87
>>> [9] 
>>> http://git.openstack.org/cgit/openstack/defcore/tree/doc/source/process/CoreCriteria.rst#n60
>>> [10] Meh, entirely too many footnotes here so why not put one out of order 
>>> for fun: 
>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__www.youtube.com_watch-3Fv-3DoHg5SJYRHA0&d=BQIGaQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=Q8IhPU-EIzbG5YDx5LYO7zEJpGZykn7RwFg-UTPWvDc&m=95BssXyE_6OT7evZ9w9sdss0Ab4W_rrmwSdBc4Y8QVk&s=AGxMjguGSO6Doyo-BHeGpHAad085e62KrJYqOXX0rZ0&e=
>>>  
>>> [11] 
>>> http://git.openstack.org/cgit/openstack/defcore/tree/doc/source/process/CoreCriteria.rst#n48
>>> [12] See comments in 
>>> https://review.openstack.org/#/c/213353/7/working_materials/scoring.txt
>>> [13] 
>>> http://docs.openstack.org/developer/python-openstackclient/releases.html#sep-2015
>>> 
>>> At Your Service,
>>> 
>>> Mark T. Voelker
>>> 
>>>> 
>>>> Thanks,
>>>> -melanie (irc: melwitt)
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> __________________________________________________________________________
>>>> OpenStack Development Mailing List (not for usage questions)
>>>> Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
>>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>>> 
>>>> 
>>>> __________________________________________________________________________
>>>> OpenStack Development Mailing List (not for usage questions)
>>>> Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
>>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>> 
>> 
>> __________________________________________________________________________
>> OpenStack Development Mailing List (not for usage questions)
>> Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> 
> 
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

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

Reply via email to