Earlier  
Posted Nick Remark
#openstack-sdks - 2018-10-25
10:02:49 nmimi yes exactly
10:03:08 dtantsur mmmm
10:03:16 dtantsur slaweq: I wonder if you have an idea ^^^
10:04:24 slaweq dtantsur: checking
10:06:35 slaweq dtantsur: I don't know why it's like that, maybe nmimi should open bug for that?
10:08:47 nmimi ok i will investigate it a bit more and if the error persists i will open a bug
15:04:24 openstackgerrit Monty Taylor proposed openstack/openstacksdk master: Add disk and container format to image task test https://review.openstack.org/613349
15:06:21 mordred dtantsur, nmimi: the session argument to Resource objects is misleading. try router.remove_interface(conn.network)
15:09:45 mordred we really should rename that parameter, but MAN that'll be a big patch
15:21:41 dtantsur oh yeah
15:31:42 mordred dtantsur: are we having bifrost job issues again? I thought we'd fixed that
15:33:21 openstackgerrit Monty Taylor proposed openstack/openstacksdk master: Don't pass disk_format or container_format to image task upload https://review.openstack.org/613141
15:33:26 dtantsur mordred: did keystoneauth with the fix hit upper-constraints?
15:34:04 mordred oh. upper-constraints. hrm. not sure ...
15:34:34 dtantsur do we have any docs on how to use keystoneauth1.loading.adapter.load_from_conf_options?
15:34:49 dtantsur whatever I do, it fails with __init__() missing 1 required positional argument: 'session'
15:35:09 mordred dtantsur: they use it in nova
15:35:27 dtantsur we use it in ironic too, but that's part of tribal knowledge I don't posess..
15:35:29 mordred oh maybe they don't
15:36:17 mordred yeah they do - nova/utils.py
15:36:44 mordred dtantsur: fwiw, I want to make an sdk equiv
15:37:34 mordred but with less tribal knowledge required - basicaly a "from_conf_options" that will get you a connection with all of the services having been configured from any config values in your CONF object
15:37:47 dtantsur that would be awesome
15:38:09 mordred I started work on it a couple of days ago - will try oto get an initial thing up tmorrow
16:00:25 edleafe API-SIG Office Hour has officially begun
16:00:32 edleafe peschk_l: around?
16:02:11 peschk_l edleafe yes, but unfortunately I don't have an access to my laptop right now, so I may need some time to type
16:02:26 edleafe No worries
16:02:37 edleafe Will you have time later? I'll be around
16:03:48 peschk_l edleafe: would 18H UTC be ok for you ?
16:04:14 edleafe peschk_l: That would be fine
16:05:00 peschk_l edleafe: perfect :) My questions would mainly be about flask and microversions
16:05:39 mordred kmalloc might be helpful too
16:05:52 mordred he's been working on the flak transition in keystone
16:05:53 kmalloc ohai
16:05:59 kmalloc what can i do for folks?
16:07:01 edleafe kmalloc: peschk_l has some questions, but isn't at a laptop for another two hours. Will you be around then?
16:07:12 kmalloc edleafe: sure!
16:07:38 kmalloc i'll be around for a couple hours. In ~3hrs i need to duck out for a couple hours (Doctor appt)
16:07:38 cdent peschk_l: you might find https://pypi.org/project/microversion_parse/ interesting/useful
16:07:48 kmalloc but will be back when done
16:08:05 kmalloc peschk_l: o/ I'll look for a ping from you a little later today
16:09:01 kmalloc cdent: i.. i ... wow that's a thing? neato
16:09:05 peschk_l kmalloc, edleafe Nice, see you later then
16:09:20 cdent kmalloc: dag nabbit, I only sent tons of mail about it once upon a time :)
16:09:33 kmalloc cdent: well.... i personally greatly dislike microversions
16:09:42 kmalloc so i probably blocked those emails from my brain
16:09:53 kmalloc doesn't change that it's nice to see that packaged up
16:10:00 kmalloc and easily consumable
16:10:07 elmiko hi
16:10:20 elmiko cdent: yes, i did make it back in one piece =)
16:10:22 cdent yeah, that's basically why I did it: this is painful and annoying and a burden so let's make it not
16:10:27 kmalloc ++
16:10:29 cdent elmiko: excellent
16:10:43 kmalloc and that reminds me, i need to re-prioritize my work to do that middleware extraction bit first
16:10:56 kmalloc i was about to dive into SDK / make keystoneclient dead work.
16:11:56 elmiko wow, seems like there is actually some topics today or just folks looking to get more guidance at a future date?
16:12:29 cdent bitrot++
16:12:51 Miouge Can the SDK identity which OpenStack release a given region is running (Pike/Queens/…)? Or is that a “Ask your administrator” type situation?
16:13:20 dtantsur Miouge: the latter. to a great extent because some people mix-and-match versions of different components.
16:13:39 edleafe elmiko: Yeah, peschk_l had a question, but we pushed it until 1800 UTC
16:13:55 elmiko edleafe: cool
16:14:04 dtantsur for the record: ironic-inspector uses flask and microversins (well, some flavor of them)
16:14:13 kmalloc Miouge: keystoneauth (and likewise things consuming it) can provide discovery information to you [max/min api versions in the case of microversions, etc], but you'd need to know what the differing APIs and Versions really mean, realistically, you're asking the administrator
16:14:17 edleafe dtantsur: Microversions cure all your ills!
16:14:22 dtantsur and now I'm writing a proxy for BM API that will use flask and microversions
16:14:30 dtantsur oh yeah, but how many do they add...
16:14:45 kmalloc in general though, it is much easier to just ask "what version"
16:14:48 dtantsur so, I'm writing a proxy. instead of implementing one baremetal API, I need to implement 48 of them
16:14:52 dtantsur what a time to be alive
16:15:03 elmiko yeesh
16:15:11 kmalloc dtantsur: thankfully flask makes things super easy on that front to do fun things...
16:15:21 elmiko ++
16:15:23 kmalloc s/fun/fun for some measure of fun/
16:15:38 kmalloc personally i love the before-request/after-request functions.
16:15:41 kmalloc elmiko: ^
16:15:46 kmalloc vs. full bore middleware
16:16:04 kmalloc also... with app.test_client() <--- best test client thing ever :)
16:16:16 elmiko i just like how dead simple it is to get a basic http server running
16:16:19 dtantsur kmalloc: that's a good point, these hooks may help with micorversioning stuff
16:16:27 kmalloc dtantsur: absolutely.
16:16:55 elmiko i've found the middleware pipeline to be really easy to extend as well
16:16:57 kmalloc way way simpler and you don't need to wrap app.wsgi_app (whatever you do do NOT wrap app directly with middleware)
16:16:58 dtantsur yeah, I got https://github.com/dtantsur/ironic-proxy/blob/master/ironic_proxy/api.py running in a few hours, half of them was fighting with oslo.config and keystoneauth :D
16:17:27 dtantsur kmalloc: mmm, why not? I'm quite sure we do it in a few places..
16:17:30 kmalloc dtantsur: i found out the hard way to wrap app.wsgi_app when i tried to do test_client
16:17:37 dtantsur ah, with tests?
16:17:37 kmalloc basically wsgi_app is the *actual* application
16:17:42 kmalloc yeah
16:17:57 kmalloc so if you wrap app.wsgi_app instead it exposes all the nice flask things on app stil
16:17:58 kmalloc l
16:18:05 kmalloc like test_client() and test_RequesT_context()
16:18:05 kmalloc etc
16:18:12 dtantsur ah, got it. makes sense indeed :)
16:18:36 kmalloc i highly recommend flask-restful
16:18:44 kmalloc over straight flask if you're doing REST APIs
16:19:07 dtantsur I feel like our API are unrestful enough to not use flask-restful
16:19:16 dtantsur don't remember for sure, but something made me not go that way
16:19:29 kmalloc well, what i like about flask restful is it builds resource objects you then just implement http methods on
16:19:33 kmalloc get/put/etc

Earlier   Later