Earlier  
Posted Nick Remark
#openstack-sdks - 2018-04-05
17:11:06 mordred it should be noted also that script is only doing things with interface='public'
17:11:22 mordred dtantsur: yah
17:11:37 dtantsur I already have a few hacks in https://github.com/dtantsur/rust-openstack/blob/master/src/common/protocol.rs#L88-L131
17:11:43 dtantsur and I will certainly have more...
17:11:57 mordred dtantsur: yah
17:12:20 mordred dtantsur: in fact, I've been thinking that it would be good to document the various hacks that we do in os-client-config/keystoneauth
17:12:29 dtantsur I'd love it
17:12:39 mordred since it is *completely* impossible to consume the apis generally without applying several client-side hacks
17:12:49 dtantsur as to this code, I guess I'll have to update it to support several major versions.... brrrrr
17:13:12 mordred dtantsur: for instance, glance frequenty returns invalid urls in its version discovery documents because it's easy for admins to misconfigure it ...
17:13:42 mordred dtantsur: so it'll return the internal address - we fix that by taking what we find in the version discovery doc and combining it with what's in the catalog
17:13:54 mordred dtantsur: seems like the sort of thing we shoudl document for other people :)
17:13:56 dtantsur O.U.C.H
17:14:07 mordred (we do that for *all* version discovery documents, not just glance)
17:14:21 dtantsur kind of the same as the https hack you see in the link, right :)
17:14:27 mordred but also- similar hacks have to be employed for pagination links
17:14:30 mordred dtantsur: yup
17:14:39 dtantsur pagination has been a big pain for me so far
17:14:59 dtantsur I'm not even using pagination links, which is probably bad
17:15:01 mordred dtantsur: we've got an impl in sdk that handles all of the cases you might want to look at
17:15:11 dtantsur link? :)
17:15:11 mordred dtantsur: yah - using hte pagination links actually make it much nicer
17:15:14 mordred coming ...
17:15:38 dtantsur mordred: I'll have to rework some internals of rust-openstack to use them
17:16:20 mordred dtantsur: starting here: http://git.openstack.org/cgit/openstack/openstacksdk/tree/openstack/resource.py#n887
17:16:39 dtantsur thanks!
17:16:54 dtantsur my other problem is that I only have one production cloud to test on (namely, RDO cloud)
17:17:01 mordred dtantsur: there are a few different forms of pagination links across the services - to my knowledge, that code appropriately consumes all of them without resorting to making extra calls needlessly
17:17:09 mordred dtantsur: that is a problem we can solve :)
17:17:42 dtantsur rly?
17:18:06 mordred dtantsur: in two ways ... first, we should ping mnaser to get you a vexxhost account and tobias over at citycloud will almost certainly give you one too
17:18:13 mnaser hi
17:18:17 dtantsur o/
17:18:39 mordred dtantsur: but also - melvinhillsman/openlab are there to help openstack sdk authors - and setting up CI jobs for sdks against existing public cloudsis part of their remit
17:19:00 mordred mnaser: tl;dr - dtantsur is working on a rust sdk for openstack but only has an account on rdo cloud to test it against
17:19:03 elmiko mordred: that is cool (re: version scanning), are you gonna make a report or something from it?
17:19:29 dtantsur mordred: ah, yeah, I was thinking about openlab. a real CI job would be a big leap forward.
17:19:42 dtantsur currently I only have a handful of unit tests
17:19:47 mordred mrhillsman: ^^ I'm talking about you - and think I have another customre for you
17:19:55 mordred elmiko: yup- that's the idea
17:19:59 elmiko mordred++
17:20:00 mrhillsman hey hey
17:20:03 elmiko very cool
17:20:17 mordred elmiko: someone at red hat sent me an email for advice - which has resulted in my nerd-sniping myself into writing it
17:20:25 mrhillsman we have space for all the SDKs :)
17:20:27 mnaser dtantsur: i can give you an account if you'd like, just sign up here - http://secure.vexxhost.com/billing/register.php - let me know of a client id and then i'll get it setup for ya
17:20:39 dtantsur mnaser: wow, awesome!
17:20:42 mordred elmiko: (because it should not be hard to write, but currently requires you know a bunch of internals - so step one is "fix base libs")
17:20:45 dtantsur mrhillsman: mine is https://github.com/dtantsur/rust-openstack
17:20:47 dtantsur :)
17:20:48 mrhillsman our hope is that you utilize openlab
17:20:59 mrhillsman we want to help build the sdks up
17:21:09 mrhillsman as our primary focus ;)
17:21:29 elmiko mordred: sweeet! i'm all for a good nerd-sniping ;)
17:21:41 mrhillsman https://github.com/theopenlab/cicd-howto
17:21:44 elmiko that sounded so wrong...
17:21:51 mrhillsman all we have to do is get the github app installed
17:21:53 mnaser mordred: is that a bug that things like load-balancer or object-store or placement are returning an empty list?
17:21:59 mrhillsman ready to make it happen right now?
17:22:03 mordred mnaser: it's not a bug in the script :)
17:22:10 mrhillsman i can work with you now to get it setup
17:22:17 mordred mnaser: neither load-balancer or object-store have version discovery documents
17:22:20 mnaser so is our service registry wrong
17:22:20 mnaser oh okay
17:22:37 mnaser http://load-balancer-ca-ymq-1.vexxhost.net/ octavia does :>
17:22:38 mordred mnaser: I believe johnsom may have already fixed octavia in master?
17:22:49 mnaser except you cant access v1, because its meant to be accessed only by neutron
17:22:52 mnaser so technically its v2 only
17:22:52 mordred mnaser: it does? awesome - lemme figure out what went wrong with it then
17:22:58 mnaser also wait
17:23:08 mnaser is it returning json wrapped in xml?
17:24:21 mordred mnaser: looks fine when I do it manually:
17:24:23 mordred get('http://load-balancer-ca-ymq-1.vexxhost.net/').content
17:24:25 mordred b'{"versions": [{"status": "SUPPORTED", "updated": "2014-12-11T00:00:00Z", "id": "v1"}, {"status": "CURRENT", "updated": "2017-06-22T00:00:00Z", "id": "v2.0"}]}'
17:24:33 mnaser mordred: ok no thats just because the browser is probably has a weird accept: clause
17:24:53 mnaser using accept: application/xml, it retuns <result>{json}</result>
17:24:59 dtantsur mrhillsman: thanks! what's your time zone? it's a bit late here
17:25:10 johnsom I haven't tackled the version discovery document issue yet. It dropped off my radar.
17:25:15 mrhillsman US Central
17:26:19 johnsom mordred I think you were going to open a bug with what we did wrong and/or pointer to an example done right.
17:26:35 mordred OH
17:26:42 mordred I remember what's wrong now
17:26:51 mordred mnaser: if you look, you will see there are no urls in that document returned
17:27:03 mordred johnsom: ++ I can do - I guess I should file an actual bug
17:27:32 mrhillsman dtantsur: i created issue in the SDK repo as well as under the OpenLab repo for tracking
17:27:35 mnaser https://github.com/openstack/octavia/blob/master/octavia/api/root_controller.py
17:27:38 mnaser looks like an easy fix :>
17:27:42 johnsom https://storyboard.openstack.org
17:28:01 johnsom Yeah, probably is, just wasn't sure what we needed.
17:28:29 dtantsur mrhillsman: cool! I'll read the docs and ping you agai
17:28:35 mrhillsman ++
17:30:10 mordred mnaser, cdent: also, I do get this: keystoneauth1.exceptions.connection.ConnectFailure: Unable to establish connection to https://placement-ca-ymq-1.vexxhost.net: HTTPSConnectionPool(host='placement-ca-ymq-1.vexxhost.net', port=443):
17:30:30 mnaser i think its because we don't expose the placement api over our public load balancer
17:30:34 mnaser ..should we?
17:31:00 cdent it depends?
17:31:03 mordred well - if you have registered a public endpoint in your catalog I would - or otherwise just don't put placement into your catalog with a ublic interface
17:31:13 cdent yeah, what mordred says
17:31:27 mnaser oh actually
17:31:29 mnaser its exposed
17:31:33 cdent it does have to be in the service catalog, otherwise nova won't work, but it doesn't need to be public

Earlier   Later