Friday, 2017-03-10

*** jamielennox is now known as jamielennox|away00:36
*** jamielennox|away is now known as jamielennox00:37
*** gouthamr has quit IRC01:48
*** gouthamr has joined #openstack-shade01:49
*** gouthamr has quit IRC05:29
*** ioggstream has joined #openstack-shade08:12
*** openstackgerrit has quit IRC10:33
*** cdent has joined #openstack-shade10:33
*** cdent has quit IRC11:05
*** cdent has joined #openstack-shade11:05
*** purplerbot has quit IRC11:10
*** purplerbot has joined #openstack-shade11:10
*** cdent has quit IRC11:43
*** ioggstream has quit IRC12:06
*** cdent has joined #openstack-shade12:22
*** yolanda has quit IRC12:46
*** yolanda has joined #openstack-shade13:06
*** yolanda has quit IRC13:29
*** yolanda has joined #openstack-shade13:30
*** ioggstream has joined #openstack-shade14:07
samueldmqmordred: you around ?14:10
mordredmorning samueldmq !14:13
samueldmqmordred: morning14:13
samueldmqmordred: docs say "if what you want is to be able to write an application that talks to clouds no matter what crazy choices the deployer has made in an attempt to be more hipster than their self-entitled narcissist peers, then shade is for you"14:13
samueldmqare you specifically talking about interoperability there ?14:14
*** cdent_ has joined #openstack-shade14:17
*** cdent has quit IRC14:17
*** cdent_ is now known as cdent14:17
mordredsamueldmq: I am14:19
mordredsamueldmq: it's my ... more aggressive way of talking :)14:19
samueldmqmordred: can you give a very clear example of a choice that can cause interoperability?14:19
samueldmqand is solved by shade ?14:20
mordredyes14:20
samueldmqmordred: ++14:20
mordredsome clouds require floating ips to talk to the internet. some do not require floating ips and give a directly routed ip14:20
mordredsome clouds use qcow2 for glance images, some use vhd, some use raw14:20
mordredat least one cloud deploys neutron and puts it in the catalog but does not allow its users to make any neutron api calls14:21
samueldmqmordred: does shade solve that ? does it convert images to the expected format, for example?14:21
mordredwhoops, sorry - nope. shade doesn't solve that one - the image related one we solve it:14:22
mordredis14:22
mordredsome clouds use glance V1 PUT api to upload images, some use the glance v2 PUT api, some require you to upload the image to swift first then use the v2 task api to import it14:22
mordredthat one shade solves :)14:22
mordredin all three of those cases, the shade call is "create_image"14:22
mordredin the server cases, the call is "create_server(auto_ip=True)" and shade will take whatever action it needs to to ensure the server you get back has an ip14:23
mordredoh - here's one you'll enjoy ... :)14:24
mordredsome clouds use keystone v2 with a parameter "tenant_name" - others use keystone v3 with the parameter "project_name" :)14:24
* samueldmq grabs popcorn and takes notes14:24
mordredin shade, it's always project_name14:24
*** gouthamr has joined #openstack-shade14:25
ioggstreamHi@all14:26
mordredhi ioggstream !14:26
Shrewssome of that is openstack's fault for allowing/creating such choices14:26
mordredsamueldmq: I've got some of these in http://inaugust.com/talks/real-slim-shade.html#/14:26
mordredShrews: ++14:26
samueldmqmordred: nice! thanks14:27
samueldmqmordred: using different services for a given purpose may compromise interop as well, correct?14:28
samueldmqmordred: eg nova-network vs neutron14:28
mordredyup14:28
mordredwe try our best to hide that as well14:28
mordredwe certainly don't think an end-user should need to know14:29
samueldmqmordred: gotcha14:32
*** openstackgerrit has joined #openstack-shade14:42
openstackgerritMonty Taylor proposed openstack-infra/shade master: Only do fnmatch compilation and logging once per loop  https://review.openstack.org/44433114:42
mordredShrews: followup patch to address ianw's concern14:42
*** cdent has quit IRC15:51
*** yolanda has quit IRC16:06
*** yolanda has joined #openstack-shade16:06
*** yolanda has quit IRC16:11
*** yolanda has joined #openstack-shade16:18
*** yolanda has quit IRC16:26
*** yolanda has joined #openstack-shade16:27
*** cdent has joined #openstack-shade17:16
*** ioggstream has quit IRC17:53
*** ioggstream has joined #openstack-shade18:05
*** ioggstream has quit IRC18:16
openstackgerritMorgan Fainberg proposed openstack-infra/shade master: Convert test_services to requests_mock  https://review.openstack.org/44447519:15
*** gouthamr has quit IRC20:04
*** gouthamr has joined #openstack-shade20:17
*** cdent has quit IRC20:34
openstackgerritThanh Ha proposed openstack-infra/shade master: Remove pbr cap  https://review.openstack.org/44449620:35
notmorganmordred: i'm sad you supported catalog changing in shade via v2 interfaces.21:07
notmorganmordred: the catalog stuff is massively hard to model21:08
notmorganbecause v2 and v3 are so different (yes we suck here)21:08
mordrednotmorgan: yah. I'm sad that it was so drastically different :(21:34
notmorganin a really really crappy way21:35
mordredyah. tell me about it21:36
notmorganlike... i want to take v3 catalog out back and make it disappear21:36
notmorganthere was _zero_ reason to change it... except for the sake of changing it21:36
* notmorgan stil would love to see keystone *only* hold a list of services and a base-dns for a region.21:37
notmorganand everything else is srv records in dns21:37
notmorganthe whole endpoint thing is pretty insane.21:37
mordrednotmorgan: yup. I also want that21:37
mordredbut then I want dns to be a first-class citizen in openstack21:37
notmorganthe endpoint modelling is going to be just awful in shade21:38
notmorganfor rest-only21:38
notmorganftr21:38
notmorgani just looked in keystone, and frankly i'm surprised v2 <-> v3 catalog even works21:39
*** ioggstream has joined #openstack-shade21:43
samueldmqnotmorgan: v3 -> v2 does not. v2 -> v3 works because the migration adds a legacy_endpoint_id into the v3 entity iirc21:44
notmorgansamueldmq: and that is totally and utterly broken21:46
notmorgansomeone screwed up royally in designing the api then21:47
notmorganthe way it's stored in v3 is just dumb21:47
notmorganthere is zero reason you should ever have the same concept in a new version of an API have no compatibility backwards.21:48
mordred+10021:48
samueldmq++ agreed21:48
samueldmqdomain was okay because there was no domian concept before.21:48
notmorgani'd open this as a bug against v3 ftr21:48
notmorgandomain is a new concept21:48
samueldmqand then everything in v2 was in the default domain21:49
mordredyup21:49
notmorganservice, region, endpoint is not21:49
notmorgandomain is 100% correct in not having compat leak back to v2. and then having a default domain things ended up in makes a lot of sense21:49
mordredtotally agree21:49
notmorgani actually think this needs to be opened as a bug against v3 and then have a fix backported21:50
notmorganas much as i loath to "fix v2"21:50
notmorganin short, v3's catalog is very bad.21:50
notmorganthis is, and you can quote me on this, a case where we should deprecate v3's catalog interface and go back to using the v2 semantics.21:51
samueldmqI found https://github.com/openstack/keystone/commit/2f851340ee8969193b9dcc1913401aa9b33c5d9721:53
samueldmqwhere the commit message clearly describes21:53
samueldmq"Endpoints created on the v3 API are not exposed on the v2 API."21:53
notmorganyeah that is not "clearly" that is/was a poor design decision21:54
samueldmqnotmorgan: if we open that bug, I don't think it's fixable21:55
samueldmqother than deprecation, as you just said21:55
notmorgani do think it would be, we group endpoints in a way with automatic legacy_endpoint_ids generated when using v321:56
notmorganalso... the fact we support "whatever interface name you want to give it" is also a bad design decision21:56
notmorganreally we should have stuck with a very restrictive list.21:57
notmorganan endpoint should support any number of interfaces, but it shouldn't be a new "endpoint" for each "interface"21:57
notmorganit should have been a one-to-many relationship21:57
samueldmqyeah, it's technically the same endpoint (entity), but just multiple interfaces21:58
samueldmqI agree with you21:58
notmorganno it isn't21:58
notmorgannot in keystone21:58
notmorganit is a totally different entity21:58
notmorganwe smush things in weird ways in the catalog itself21:58
samueldmqyes I am saying in the real world it'd make sense to be21:58
notmorganbut it is not the same endpoint at all21:58
samueldmqand in keystone it's not,  I am in agreement with you21:58
notmorganoh yeah, it should be21:58
notmorganlike i said, v3 catalog api is a large amount worse than v221:59
*** gouthamr has quit IRC22:03
*** gouthamr has joined #openstack-shade22:29
*** ioggstream has quit IRC22:41
notmorganFTR: I'm up to ~393 lines changed, for endpoints, and i'm about 1/2 way done.23:42
mordredyah. endpoints suck23:42
notmorganrole_assignments are going to be awful23:42
notmorganalso... ftr: this is the single most tedious bit of code refactoring i've ever done.23:43
openstackgerritMorgan Fainberg proposed openstack-infra/shade master: change test_endpoints to use requests mock  https://review.openstack.org/44454123:44
notmorganmordred: ^ you can take a look.23:44
notmorganit's about 1/2 done23:44
notmorganit can't pass because i know the code is broken23:44
notmorganbut... w/e23:45
mordrednotmorgan: yay w/e!23:52
mordrednotmorgan: remind me to get you drunk sometime and tell you stories about mysql->drizzle refactoring23:52
mordredmany of those involved figuring out how to walk back places where they were doing pointer arithmetic into classes23:53
mordred(tl;dr - don't do that)23:53

Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!