*** VW_ has joined #craton | 01:35 | |
*** VW has quit IRC | 01:38 | |
*** VW_ has quit IRC | 01:39 | |
*** VW has joined #craton | 03:20 | |
*** VW has quit IRC | 03:24 | |
*** VW has joined #craton | 03:25 | |
*** VW has quit IRC | 03:46 | |
*** VW has joined #craton | 03:46 | |
*** VW has quit IRC | 04:16 | |
*** VW has joined #craton | 04:17 | |
*** tojuvone has joined #craton | 05:51 | |
*** VW has quit IRC | 06:28 | |
*** openstackgerrit has quit IRC | 07:32 | |
*** logan- has quit IRC | 09:16 | |
*** VW has joined #craton | 12:16 | |
*** logan- has joined #craton | 12:35 | |
*** VW has quit IRC | 12:54 | |
*** VW has joined #craton | 13:09 | |
*** VW has quit IRC | 13:11 | |
*** VW has joined #craton | 13:48 | |
sigmavirus | Hey all | 13:49 |
---|---|---|
sigmavirus | For people who find our test setup script confusing, I wrote up a tiny explanation here: http://www.coglib.com/~icordasc/blog/2017/02/configuring-docker-on-openstack-ci.html | 13:50 |
*** david-lyle has joined #craton | 14:12 | |
*** Syed__ has joined #craton | 14:26 | |
thomasem | Hihi | 14:32 |
sigmavirus | Morning thomasem | 14:33 |
* sigmavirus Syed__: since you missed it, I wrote up http://www.coglib.com/~icordasc/blog/2017/02/configuring-docker-on-openstack-ci.html to give a little background on our test-setup script. | 14:33 | |
thomasem | sigmavirus: thanks for sharing! | 14:33 |
sigmavirus | No problem | 14:34 |
Syed__ | sigmavirus: thanks for the link, will look it up in a while | 14:35 |
Syed__ | Morning everyone :) | 14:35 |
thomasem | Guten Morgen | 14:35 |
*** david-lyle has quit IRC | 14:45 | |
*** david-lyle has joined #craton | 14:46 | |
*** david-lyle has quit IRC | 14:46 | |
*** david-lyle has joined #craton | 14:53 | |
*** harlowja has quit IRC | 14:56 | |
*** david-lyle has quit IRC | 14:57 | |
thomasem | I noticed DefinitionNetwork doesn't have "region_id" as a required attribute but it's nullable=False in the DB schema. Is this intentional or a bug? | 14:58 |
thomasem | https://github.com/openstack/craton/blob/master/craton/api/v1/schemas.py#L395-L398 | 14:58 |
git-harry | thomasem: https://bugs.launchpad.net/craton/+bug/1661761 | 15:07 |
openstack | Launchpad bug 1661761 in craton "Region ID should be required in DefinitionNetworks" [Undecided,New] | 15:07 |
*** openstackgerrit has joined #craton | 15:13 | |
openstackgerrit | Thomas Maddox proposed openstack/craton master: WIP: Add Cloud resource https://review.openstack.org/431705 | 15:13 |
thomasem | git-harry: ahh, thanks, whoops. | 15:18 |
thomasem | Should have looked there first. Apologies. | 15:18 |
thomasem | Added example to the bug. Moooooving on. | 15:21 |
openstackgerrit | Ian Cordasco proposed openstack/craton master: Fixes device search by label https://review.openstack.org/432283 | 15:28 |
*** david-lyle_ has joined #craton | 15:29 | |
sigmavirus | thomasem: jimbaker https://review.openstack.org/#/c/432283/ has tests asserting what you wanted to see out of that | 15:42 |
thomasem | sigmavirus: looking | 15:42 |
*** VW has quit IRC | 15:46 | |
*** VW has joined #craton | 15:47 | |
thomasem | sigmavirus: I'm submitting another patch to that review with a minor fix from my comment. | 15:50 |
thomasem | Cool? | 15:50 |
thomasem | Getting the hang of this gerrit thing. :P | 15:51 |
*** david-lyle has joined #craton | 16:02 | |
*** david-lyle_ has quit IRC | 16:02 | |
openstackgerrit | Thomas Maddox proposed openstack/craton master: Fixes device search by label https://review.openstack.org/432283 | 16:04 |
jimbaker | sigmavirus, nice explanation of the setup you did for CI, thanks for getting it out there on your blog | 16:08 |
sigmavirus | thomasem: I was going to update that | 16:09 |
sigmavirus | lol | 16:09 |
thomasem | Sorry. :\ I was trying to not nit pick and make you do more when I already had the fix in mind... I added an extra test to further assert what we expect | 16:09 |
thomasem | I will refrain next time | 16:10 |
*** valw has joined #craton | 16:15 | |
*** david-lyle has quit IRC | 16:27 | |
*** david-lyle has joined #craton | 16:34 | |
*** jovon has joined #craton | 16:34 | |
openstackgerrit | Thomas Maddox proposed openstack/craton master: WIP: Add Cloud resource https://review.openstack.org/431705 | 16:35 |
sigmavirus | thomasem: yeah, just because we can take over the work, doesn't mean we always should :) | 16:41 |
thomasem | I totally agree. I don't know what my deal is this morning. The wrong thing to do occurs to me way faster than the right. | 16:42 |
sigmavirus | No worries :) | 16:42 |
sigmavirus | Just glad I checked before pushing | 16:43 |
sigmavirus | In other news, ordered a pair of gunnar's | 16:43 |
thomasem | Awww yiss! | 16:44 |
*** VW has quit IRC | 16:48 | |
*** valw has quit IRC | 16:51 | |
*** VW has joined #craton | 16:51 | |
*** valw has joined #craton | 16:54 | |
*** pwnall1337 has joined #craton | 16:56 | |
pwnall1337 | . | 16:57 |
sigmavirus | o/ pwnall1337 | 16:58 |
pwnall1337 | :) | 16:58 |
*** david-lyle has quit IRC | 16:58 | |
thomasem | farid: It's Craton-recordable on Vidyo, fyi. | 17:04 |
sigmavirus | https://review.openstack.org/436556 btw | 17:04 |
openstackgerrit | Merged openstack/craton master: Fixes device search by label https://review.openstack.org/432283 | 17:05 |
farid | thanks thomasem | 17:09 |
thomasem | Sure thing! | 17:09 |
*** david-lyle has joined #craton | 17:16 | |
*** david-lyle has quit IRC | 17:16 | |
sigmavirus | thomasem: I'm constantly thinking that we need GraphQL for Craton, thoughts? | 17:27 |
sigmavirus | s/constantly/increasingly/ | 17:27 |
sigmavirus | http://graphql.org/ < Reference | 17:27 |
*** valw has quit IRC | 17:37 | |
*** valw has joined #craton | 17:46 | |
sigmavirus | https://github.com/graphql-python/graphene-sqlalchemy/ http://graphene-python.org/ | 17:47 |
sigmavirus | Also, I'm lost in this meeting | 17:47 |
*** valw has quit IRC | 17:51 | |
jovon | http://raml.org/developers/raml-200-tutorial | 17:54 |
jovon | https://pypi.python.org/pypi/ramlfications/ | 17:54 |
thomasem | sigmavirus: Yeah, I've seen GraphQL before. I'd be interested to see what we get when we slap it in front of our API. | 18:04 |
thomasem | Never set it up before :) | 18:04 |
sigmavirus | I've not set it up before, either, but GitHub has hooked it up to their MySQL database and it seems to be cruising along for them | 18:04 |
sigmavirus | Obviously they did more work than that but still | 18:04 |
thomasem | Lol, yeah. | 18:04 |
thomasem | Sounds like Saturday morning entertainment. | 18:05 |
thomasem | Whilst eating fruit loops or something. | 18:05 |
jovon | side note: i linked the tutorial for raml because it had nice visual of exporting schema as well as parameterizing resources | 18:05 |
jimbaker | sigmavirus, very nice | 18:10 |
jimbaker | re graphene - i had looked for something similar earlier re graph support with sqlalchemy, but didn't see such support | 18:11 |
*** openstack has joined #craton | 18:13 | |
jimbaker | it will be interesting to see what the ramifications are for implementing graphene, but in principle it looks compatible with what we are doing | 18:15 |
*** valw has quit IRC | 18:18 | |
openstackgerrit | git-harry proposed openstack/craton master: Add devices endpoint https://review.openstack.org/435005 | 18:24 |
*** valw has joined #craton | 18:24 | |
*** Syed__ has quit IRC | 18:35 | |
*** david-lyle has joined #craton | 18:46 | |
*** david-lyle has quit IRC | 18:57 | |
jimbaker | any other comments for git-harry on https://review.openstack.org/#/c/435005/ ? | 18:58 |
jimbaker | from what i can tell, this follows what we discussed in today's meeting, and addresses the concerns of sulo, sigmavirus, and thomasem | 18:58 |
*** VW has quit IRC | 19:00 | |
jimbaker | git-harry, re descendants query, it should be straightforward, and it should work fine with pagination, from what i can tell in my researching the relevant mysql/sqlalchemy docs | 19:02 |
jimbaker | next step: see how it really does work out! | 19:02 |
*** VW has joined #craton | 19:03 | |
*** valw has quit IRC | 19:08 | |
*** valw has joined #craton | 19:09 | |
*** valw has quit IRC | 19:14 | |
*** pwnall1337 is now known as zz_pwnall1337 | 19:22 | |
*** VW_ has joined #craton | 19:28 | |
*** valw has joined #craton | 19:30 | |
*** VW__ has joined #craton | 19:31 | |
*** VW has quit IRC | 19:31 | |
*** VW__ has quit IRC | 19:32 | |
*** VW_ has quit IRC | 19:32 | |
*** VW has joined #craton | 19:32 | |
*** VW has quit IRC | 19:33 | |
*** zz_pwnall1337 is now known as pwnall1337 | 19:34 | |
*** VW has joined #craton | 19:34 | |
*** valw has quit IRC | 19:35 | |
*** VW has quit IRC | 19:38 | |
*** VW has joined #craton | 19:38 | |
sigmavirus | Psst https://review.openstack.org/#/c/436556/ | 19:42 |
*** valw has joined #craton | 19:54 | |
*** pwnall1337 is now known as zz_pwnall1337 | 20:01 | |
*** david-lyle has joined #craton | 20:01 | |
*** valw has quit IRC | 20:10 | |
*** valw has joined #craton | 20:18 | |
*** zz_pwnall1337 is now known as pwnall1337 | 20:21 | |
*** david-lyle has quit IRC | 20:23 | |
thomasem | jimbaker: looking | 20:28 |
jimbaker | thomasem, thanks | 20:29 |
jimbaker | would like to workflow this so git-harry can get this implemented :) | 20:29 |
jimbaker | but no pressure | 20:29 |
*** david-lyle has joined #craton | 20:38 | |
thomasem | Lol | 20:40 |
thomasem | jimbaker: lgtm, thanks for calling attention | 20:49 |
thomasem | git-harry: ^^ | 20:49 |
thomasem | sigmavirus: looking | 20:49 |
*** david-lyle has quit IRC | 20:49 | |
*** VW has quit IRC | 20:53 | |
sigmavirus | thomasem: would it be helpful if I wrote some tests for https://review.openstack.org/435595 ? | 20:53 |
thomasem | sigmavirus: if you like, since I'm working on finishing up clouds atm. That was going to be my next thing. :) | 20:54 |
thomasem | sigmavirus: I was going to write a test that exhausts pages for /projects to test that out. | 20:56 |
*** david-lyle has joined #craton | 20:56 | |
thomasem | via the generated links | 20:56 |
sigmavirus | that's easy :) | 20:58 |
*** VW has joined #craton | 20:58 | |
*** david-lyle has quit IRC | 20:59 | |
thomasem | Yep! | 21:00 |
thomasem | sigmavirus: actually, you'll need that and this: https://review.openstack.org/#/c/435599/ for that test to work. | 21:01 |
thomasem | sigmavirus: otherwise, it'll just be a reference to 'self' that you could test. | 21:01 |
thomasem | Bombs on 'marker' not being an int otherwise. | 21:02 |
sigmavirus | hah | 21:03 |
thomasem | Pretty jazzy, huh? | 21:03 |
sigmavirus | That's 100% my fault | 21:10 |
jimbaker | sigmavirus, thomasem, thanks for the reviews on the devices endpoint spec that git-harry is working in | 21:14 |
jimbaker | on | 21:14 |
jimbaker | i workflowed it for now, but we can revisit up (and is it down?) relationship links, but given prior art, seemed to make sense to continue with rel: up | 21:15 |
thomasem | sigmavirus: Lol, it's understandable. Projects is the weirdo in the API. :) | 21:15 |
jimbaker | and we only assigned thomasem to work on it as an easy task to introduce him to the project :) | 21:16 |
openstackgerrit | Merged openstack/craton master: Add devices endpoint https://review.openstack.org/435005 | 21:17 |
jimbaker | at least the result is, thomasem knows a lot about how the code works. just a little pain, that's all | 21:17 |
thomasem | Oh, yeah. It's no problem. I'm just tickled I get to write code again. | 21:17 |
thomasem | ;) | 21:17 |
thomasem | Trust me... it's a breath of fresh air. | 21:17 |
jimbaker | that's right, you had been getting on that mgmt track. and code is definitely fun | 21:17 |
jimbaker | sorry farid... ;) | 21:18 |
thomasem | Yerp. I was more of a team lead than a developer (which you can probably see coming out now and then). | 21:18 |
farid | lol | 21:18 |
* thomasem takes over meetings | 21:18 | |
thomasem | :P | 21:18 |
jimbaker | thomasem, no worries, you do a great job. much better than me truly taking over the meetings :) | 21:18 |
thomasem | Bahahaha. Sweet. Thanks for saying so. :) | 21:19 |
*** VW has quit IRC | 21:19 | |
jimbaker | sigmavirus, one thing: you mentioned in https://review.openstack.org/#/c/436556/ that the doc builds work, with some evidence - but all of these builds are with respect to the functional tests | 21:21 |
*** valw has quit IRC | 21:22 | |
sigmavirus | jimbaker: so, they build now, yes. But on future changes they may break | 21:24 |
sigmavirus | Or generate more warnings | 21:24 |
jimbaker | now i fully expect tox -e docs to work... this is much more standard than what we did with tox -e functional | 21:24 |
sigmavirus | right | 21:24 |
sigmavirus | we get several warnings, but I'm unconcerned by those | 21:25 |
jimbaker | anyway, it's worth the minor risk | 21:25 |
sigmavirus | Also have to run | 21:25 |
*** VW has joined #craton | 21:25 | |
sigmavirus | So I'll probably finish tackling these tests tomorrow thomasem | 21:25 |
jimbaker | ok, i will +1 and see how it builds once that change goes to zuul | 21:25 |
thomasem | sigmavirus: sounds good! | 21:26 |
thomasem | Might be good to combine the two, or make them dependent patches... I would recommend the fix for None being the parent of the string fix for the schema. | 21:26 |
pwnall1337 | running into an issue with craton client | 21:38 |
pwnall1337 | raise Exception("Versioning for this project requires either an sdist" | 21:38 |
pwnall1337 | from pbr | 21:38 |
pwnall1337 | is it because there are no git release tags? | 21:38 |
pwnall1337 | full failure https://gist.github.com/pwnall1337/6d7 | 21:39 |
*** valw has joined #craton | 21:40 | |
openstackgerrit | Thomas Maddox proposed openstack/craton master: WIP: Add Cloud resource https://review.openstack.org/431705 | 21:40 |
jimbaker | pwnall1337, i'm no distribution expert, but exporting PBR_VERSION=1.10.0 should work | 21:44 |
*** valw has quit IRC | 21:44 | |
jimbaker | pwnall1337, the other thing: please use this WIP branch for client work: https://review.openstack.org/#/c/427032/ | 21:44 |
jimbaker | since you will want this for vars support | 21:44 |
*** VW has quit IRC | 21:47 | |
*** VW has joined #craton | 21:47 | |
*** VW has quit IRC | 21:49 | |
*** VW has joined #craton | 21:50 | |
thomasem | Looks like project_id in POST requests isn't being honored? https://bugs.launchpad.net/craton/+bug/1666695 | 21:53 |
openstack | Launchpad bug 1666695 in craton "project ID not honored in requests" [Undecided,New] | 21:53 |
thomasem | Uses the ID from X-Auth-Project instead. | 21:53 |
*** valw has joined #craton | 21:54 | |
thomasem | Should we remove that attribute as allowed from the request, then? Seems to confuse. I suppose that keeps resources scoped to the actual project the user is a part of. | 21:55 |
*** valw has quit IRC | 21:58 | |
thomasem | I can create incorrect relationships with our API, it looks like: https://bugs.launchpad.net/craton/+bug/1666699 I was able to create a network in cell 1 and region 2 (which cell 1 does not belong to) | 22:09 |
openstack | Launchpad bug 1666699 in craton "resources can be in a region the cell isn't a part of" [Undecided,New] | 22:10 |
jimbaker | thomasem, thanks for keeping us honest! | 22:11 |
jimbaker | this is very much related to https://bugs.launchpad.net/craton/+bug/1666536 - we just need to do some additional checks | 22:12 |
openstack | Launchpad bug 1666536 in craton "Cyclical hierarchies using parent_id" [Critical,New] - Assigned to Jim Baker (jimbaker) | 22:12 |
thomasem | Ohhhh | 22:12 |
jimbaker | thankfully in a SQL transaction we can do the following: | 22:12 |
jimbaker | read - think - do an update or not :) | 22:12 |
jimbaker | where "think" means some arbitrary python code execution | 22:12 |
jimbaker | ACID FTW! | 22:12 |
jimbaker | ;) | 22:12 |
thomasem | So, what would be the pain if we normalized the schema to disallow these sorts of relationships? | 22:13 |
jimbaker | thomasem, yeah, i hear you. so this was the original design. sulo convinced me that this would make reads more expensive. and he's right | 22:15 |
jimbaker | fortunately we are doing this through an API layer | 22:15 |
thomasem | Could we leverage things like views to get around that? | 22:15 |
jimbaker | which means we can check | 22:15 |
jimbaker | please, don't go down that path... ;) | 22:15 |
thomasem | why? | 22:15 |
jimbaker | it's just that denormalization is best addressed by procedural code | 22:16 |
jimbaker | they really go together | 22:16 |
jimbaker | updateable views are tricky | 22:16 |
thomasem | why's that? Seems that's what the database is for? | 22:16 |
jimbaker | thomasem, you sound like what i was saying yesterday, on a related topic.... :) | 22:17 |
thomasem | Oh? | 22:17 |
jimbaker | yes | 22:17 |
thomasem | Which topic are you referring to? | 22:17 |
thomasem | communication breakdown, it's always the same | 22:18 |
thomasem | :P | 22:18 |
thomasem | the problem is now we have to go and enforce the data model we want in the Python code rather than the data model itself. | 22:20 |
jimbaker | Thanks to you I'm much obliged | 22:20 |
* thomasem wishes he was more of a DB expert now | 22:21 | |
jimbaker | thomasem, but this is going to be true in general | 22:21 |
jimbaker | denormalization implies this | 22:21 |
jimbaker | recursive aspects like DAGs or even trees also imply this | 22:22 |
*** jovon has quit IRC | 22:22 | |
jimbaker | the good thing is that in a transaction, we can do this check, so the rest of the world always see this as consistent | 22:22 |
thomasem | On what grounds do we claim it'd make the reads to expensive, though? | 22:23 |
thomasem | s/to/too/ | 22:23 |
jimbaker | fortunately sqlalchemy's unit-of-work pattern that is pervasive in its design/usage means we can do this in a reasonable fashion | 22:23 |
jimbaker | thomasem, more normalization is not a bad thing | 22:23 |
jimbaker | so i'm not opposed to revisiting that decision | 22:24 |
thomasem | Okay, cool. Because I think we're setting ourselves up for pain if we don't wrangle in our data model and start normal and denormalize as we need to, with tight controls. | 22:24 |
jimbaker | i just would be opposed to thinking that we can do all of this checking in the db itself, via a view or trigger | 22:24 |
jimbaker | that's all | 22:25 |
thomasem | No, no. I'm suggesting we start with a cleaner data model, drop the extra columns and have resources relate to their direct ancestor(s) only. | 22:25 |
jimbaker | again, my normalization instincts suggested the design you suggested. my pragmatic instincts agreed with sulo | 22:25 |
jimbaker | but i'm ok with making this change | 22:25 |
jimbaker | since it's not going to be visible to any client, except it might prevent errors :) | 22:26 |
thomasem | Haha, well, ideally. At the moment it's quite visible. :P | 22:26 |
jimbaker | indeed! | 22:26 |
thomasem | Okay. This will be a good topic, I think, for others' thoughts as well. | 22:27 |
jimbaker | it's just that the check can be done in python code, and easily | 22:27 |
thomasem | We might have to deal with it for a time, but I think getting this model wrangled in and cleaner will save us tons of headache later on. | 22:27 |
jimbaker | and with a little work, we can even do this consistently. presumably | 22:27 |
jimbaker | again, good either way | 22:27 |
jimbaker | just want to point out it's feasible to do it properly in the current modeling | 22:27 |
*** VW_ has joined #craton | 22:28 | |
thomasem | Yes, just with a lot of extra code, potentially. | 22:28 |
thomasem | Which as amount of code increases, so does the potential for bugs. | 22:28 |
jimbaker | my only concern is support of cell. it's a rather different setup | 22:28 |
thomasem | and the time taken to implement new things. | 22:28 |
jimbaker | but metaprogramming... what about metaprogramming??? ;) | 22:28 |
jimbaker | anyway, good code, including modeling changes - that will help us decide | 22:29 |
thomasem | Yeah. I'd be really interested in others' thoughts. I tend to be a bit of a purist when it comes to data models and such, so. | 22:29 |
thomasem | That could be my own folly. | 22:29 |
thomasem | I've found that, very often, software problems start at the data model they're interacting with. | 22:30 |
*** VW has quit IRC | 22:31 | |
thomasem | And software can become much simpler when leveraging the relational DB for what it's good at: especially maintaining relational integrity. | 22:31 |
jimbaker | thomasem, as someone who as taught monadic programming (in my univ course), i understand a desire for a certain degree of purity... | 22:31 |
jimbaker | brb | 22:32 |
*** VW_ has quit IRC | 22:32 | |
thomasem | I've got to run, myself. Will catch up tomorrow. | 22:33 |
thomasem | Cheers! | 22:33 |
jimbaker | thomasem, later! | 22:53 |
Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!