| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-sdks - 2018-12-13 | |||
| 16:40:45 | dtantsur | It's supposed to be interoperable, but in fact I could not make a SOAP client in Java talk to a SOAP server in Python | |
| 16:40:53 | elmiko | ouch | |
| 16:40:54 | dtantsur | they had different SOAPs apparently | |
| 16:40:59 | elmiko | LOL | |
| 16:41:28 | edleafe | I made a python SOAP server talk with a .NET client | |
| 16:41:57 | dtantsur | nice! | |
| 16:42:34 | dtantsur | yeah, except for the problem "how to serialize a list". this one is unsolvable. something between "what's the point of life" and "where is my 2nd sock". | |
| 16:42:41 | cdent | dtantsur: which of many aspect of REST do we break with microversions. I suspect we could come up with several depending on which rules we wanted follow | |
| 16:43:25 | cdent | dtantsur: also I'm pleased to see you sticking to your guns with -1 the DELETE thing. I think it is important to get it not just right but agreed on and you raise some good points. | |
| 16:43:25 | dtantsur | cdent: the one where a URI points to a resource. with microversions a URL can mean anything (or nothing at all) depending on a header | |
| 16:43:36 | dtantsur | :) | |
| 16:43:56 | dtantsur | e.g. I cannot say /v1/portgroups/<UUID> is a representation of a portgroup <UUID> | |
| 16:44:11 | dtantsur | because it's only the case if microversion>=1.<something> | |
| 16:44:59 | elmiko | edleafe: heh, xml actually /solving/ problems... XD | |
| 16:45:03 | dtantsur | this defeats e.g. the "Location" header to a degree, since "Location" is meaningless without a microversion to use it with | |
| 16:45:28 | dtantsur | edleafe: I guess from the pure RESTful point of view we had to put them in the URL somewhere.. I know that it has other problems :) | |
| 16:46:24 | cdent | dtantsur: yeah, I feel really bad about URIs that exist in microversion N+1 but not N. It's dirty. | |
| 16:46:59 | edleafe | I believe that the original practice of using /v1-type URLs was because the original OpenStack devs always did it that way, and so continued the practice. It was never debated | |
| 16:47:03 | cdent | their existence has allowed us to get away with some things that we would have considered much more strongly if they didn't | |
| 16:47:14 | cdent | until placement, yo | |
| 16:47:38 | edleafe | cdent: that's why I really hate the term "microversion". It's anything but micro | |
| 16:47:51 | cdent | really-hugeo-version | |
| 16:47:59 | edleafe | megaversion | |
| 16:48:06 | edleafe | or, you know, "version" | |
| 16:48:06 | dtantsur | if we were less hipster, we would just use "API version" | |
| 16:48:11 | dtantsur | ha! | |
| 16:48:47 | elmiko | cdent: lol | |
| 16:48:56 | edleafe | the only difference with microversions is that we simultaneously support many, many possible versions | |
| 16:49:49 | elmiko | i like "really-hugeo-version", it has a nice ring to it. would make debates much more lively | |
| 16:50:20 | elmiko | but, i am a fan of absurdism | |
| 16:51:31 | dtantsur | then we also have to be creative with numbers themselves | |
| 16:52:28 | elmiko | ooh, nice | |
| 16:53:01 | edleafe | we should use random integers for our versions. | |
| 16:53:28 | dtantsur | what about multiplying 3.14 by 1.X where X is a number of changed strings in the patch introducing the microversion? | |
| 16:53:57 | edleafe | dtantsur: too much work | |
| 16:54:20 | edleafe | We could just follow git's lead and make the version a hash of the codebase | |
| 16:55:02 | elmiko | edleafe: haha, <3 random integers | |
| 16:55:05 | dtantsur | nice! it will add a pleasant task of figuring out how to put a hash in the file being hashed | |
| 16:55:31 | dtantsur | or we could get boring and use the current date and time | |
| 16:55:31 | elmiko | i love it, we can have a new middle to handle to upgrade that all projects must follow to become compliant with the new randoversions | |
| 16:55:38 | elmiko | *middleware | |
| 16:55:53 | edleafe | dtantsur: no problem. Internally you do a 'git checkout {hash}' and then run the request through that | |
| 16:56:01 | elmiko | hahaha | |
| 16:56:17 | edleafe | simple! | |
| 16:56:49 | elmiko | really randoversioning is an upgrade, because it helps project maintainers know who is _really_ following the project | |
| 16:57:40 | elmiko | "i'm using the latest, version 3831923", "ah ah, didn't you know the latest is actually 92359841?!?" | |
| 16:57:49 | elmiko | busted! | |
| 16:58:43 | edleafe | So not only could we replace 'latest' with 'HEAD', we now have access to 'HEAD^', 'HEAD^^', etc | |
| 16:58:46 | dtantsur | folks, you keep forgetting that in year 2018 we *must* be mobile-friendly | |
| 16:58:58 | dtantsur | so I recommend we start using smiles in versions | |
| 16:59:15 | dtantsur | * smileys | |
| 16:59:44 | edleafe | Better yet: animojis! | |
| 17:00:11 | elmiko | haha, perfect | |
| 17:00:12 | edleafe | https://emojipedia-us.s3.amazonaws.com/content/2017/09/21/animoji-poo-emojipedia.gif | |
| 17:00:33 | elmiko | dtantsur: micromoji-versioning? | |
| 17:00:42 | edleafe | I guess our office hour is up. | |
| 17:00:46 | elmiko | ah well | |
| 17:00:48 | dtantsur | right! | |
| 17:01:01 | elmiko | have a good weekend y'all =) | |
| 17:01:07 | dtantsur | see you in January :) | |
| 17:01:11 | dtantsur | happy holidays | |
| 17:01:13 | elmiko | enjoy dtantsur ! | |
| 17:01:17 | edleafe | elmiko: mobile devices are getting bigger, so let's not use 'micro' | |
| 17:01:24 | elmiko | edleafe: good point | |
| 17:01:28 | edleafe | See ya, dtantsur! Enjoy your time off! | |
| 17:03:07 | edleafe | cdent: So are you on board with replacing versions with git hashes? | |
| 17:04:23 | cdent | only if we do the git checkout bit internally, and only from a remote repo | |
| 17:05:52 | edleafe | If we put versions in the URI, we could have GET /v91b735fddedbeb9d1cc241dadc753ff2f3b86a4b/foo/bar | |
| 17:06:18 | edleafe | Users would love that! | |
| 17:06:42 | cdent | that looks suspiciously similar to user/project/tenant/whatever it was in URIs | |
| 17:06:46 | cdent | which was an equally bad idea | |
| 17:07:58 | elmiko | i'm gonna grab some lunch, catch you gents later o/ | |
| 21:07:05 | openstackgerrit | Thomas Bechtold proposed openstack/openstacksdk master: Drop self.conn from base.TestCase https://review.openstack.org/625115 | |
| 23:08:13 | kmalloc | mordred: the SDK issue, are you seeing that on master or on pip isntalled? | |
| 23:08:20 | kmalloc | mordred: because i can't duplicate it on the current release | |
| 23:08:53 | kmalloc | mordred: the discovery bit | |
| 23:09:21 | kmalloc | mordred: i just tried with vexxhost: | |
| 23:09:57 | kmalloc | https://www.irccloud.com/pastebin/EHIjvSgI/ | |
| 23:10:12 | kmalloc | mordred: using pretty much your code: | |
| 23:10:28 | kmalloc | https://www.irccloud.com/pastebin/7mR8Gonv/ | |
| 23:10:49 | kmalloc | mordred: i omitted the auth request. | |
| 23:11:01 | kmalloc | maybe you're hitting the unversioned URL? | |
| 23:11:46 | kmalloc | nope, also not seeing that there. | |
| 23:12:40 | Shrews | kmalloc: you gotta enable the cache part | |
| 23:13:08 | kmalloc | Shrews: bah. | |
| 23:13:09 | Shrews | kmalloc: steps to reproduce are here: https://storyboard.openstack.org/#!/story/2004605 | |
| 23:13:32 | Shrews | kmalloc: unless there is a different issue you are talking about :) | |
| 23:13:38 | kmalloc | no different thing | |
| 23:13:42 | Shrews | oh, sorry | |
| 23:13:45 | kmalloc | Shrews: i was looking at the duplicate discovery bit first | |
| 23:13:51 | kmalloc | Shrews: and i can't duplicate that. | |
| 23:13:59 | kmalloc | since that one might be something wrong in KSA. | |
| 23:14:02 | Shrews | kmalloc: i am no help there | |
| 23:14:15 | kmalloc | yeah, will need mordred to weigh in on duplication, it just isn't happening for me. | |
| 23:14:26 | kmalloc | on to the dogpile thing. | |
| 23:18:16 | ianw | kmalloc: yeah, i'm taking a look at it too ... wow it's hairy | |
| 23:19:26 | ianw | the change is https://gerrit.sqlalchemy.org/#/c/sqlalchemy/dogpile.cache/+/996/4/dogpile/cache/region.py | |
| 23:20:49 | ianw | i can sort of replicate it. i think in the unit tests, somehow it's getting eaten | |
| 23:20:56 | ianw | but if you put more failures in there, you see it | |
| 23:22:53 | kmalloc | Shrews: on another unrelated note | |