*** VW has joined #craton | 01:15 | |
*** VW has quit IRC | 01:20 | |
*** openstackgerrit has quit IRC | 01:23 | |
*** VW has joined #craton | 02:08 | |
*** VW has quit IRC | 02:13 | |
*** VW has joined #craton | 02:14 | |
*** valw has joined #craton | 02:59 | |
*** VW has quit IRC | 03:11 | |
*** VW has joined #craton | 03:17 | |
*** valw has quit IRC | 03:26 | |
*** openstackgerrit has joined #craton | 05:06 | |
openstackgerrit | Jim Baker proposed openstack/craton master: Only generate prev and next links if necessary. https://review.openstack.org/436760 | 05:06 |
---|---|---|
*** pwnall1337 is now known as zz_pwnall1337 | 05:12 | |
*** VW has quit IRC | 06:39 | |
sulo | o/ hola | 09:39 |
* sulo feels like i missed a busy meeting week this week ;) | 10:26 | |
*** izaakk has quit IRC | 13:02 | |
*** izaakk has joined #craton | 13:04 | |
openstackgerrit | sulochan-acharya proposed openstack/craton master: Change config default to use pymysqldb https://review.openstack.org/436915 | 13:18 |
sulo | FYI: https://bugs.launchpad.net/craton/+bug/1666890 | 13:25 |
openstack | Launchpad bug 1666890 in craton "Query by filter should raise 404 when no entry found" [High,New] - Assigned to Sulochan Acharya (sulochan-acharya) | 13:25 |
*** tojuvone has quit IRC | 13:29 | |
openstackgerrit | Merged openstack/craton master: Change config default to use pymysqldb https://review.openstack.org/436915 | 13:36 |
*** VW has joined #craton | 13:54 | |
thomasem | Hey there | 13:58 |
*** valw has joined #craton | 14:00 | |
*** VW has quit IRC | 14:14 | |
*** VW_ has joined #craton | 14:14 | |
openstackgerrit | Thomas Maddox proposed openstack/craton master: WIP: Add Cloud resource https://review.openstack.org/431705 | 14:14 |
*** valw has quit IRC | 14:16 | |
*** valw has joined #craton | 14:20 | |
sulo | hey thomasem | 14:27 |
*** david-lyle has joined #craton | 14:27 | |
farid | hi guys | 14:32 |
sulo | hi farid | 14:33 |
farid | hi sulo how's it going | 14:34 |
*** VW has joined #craton | 14:46 | |
openstackgerrit | Thomas Maddox proposed openstack/craton master: WIP: Add Cloud resource https://review.openstack.org/431705 | 14:46 |
*** VW_ has quit IRC | 14:49 | |
*** VW_ has joined #craton | 14:49 | |
*** VW has quit IRC | 14:50 | |
openstackgerrit | Thomas Maddox proposed openstack/craton master: Add PyMySQL to project requirements https://review.openstack.org/436963 | 14:58 |
*** VW_ has quit IRC | 14:59 | |
thomasem | sulo sigmavirus ^^ | 14:59 |
thomasem | Master is broken right now because of that | 14:59 |
thomasem | At least the test env we've been using | 14:59 |
*** VW has joined #craton | 14:59 | |
*** david-lyle_ has joined #craton | 15:00 | |
thomasem | Thanks!! | 15:00 |
*** david-lyle has quit IRC | 15:01 | |
sigmavirus | I broke it, I better fast-track the fix =P | 15:01 |
sigmavirus | Probably should have run the functional tests on sulo's patch before I approved it | 15:01 |
thomasem | They're getting moved to gating, though, right? | 15:02 |
thomasem | so that'll catch it in the future. :) | 15:02 |
sigmavirus | Right | 15:02 |
thomasem | Excellent | 15:02 |
sigmavirus | That said, I think most of #openstack-infra is at the PTG | 15:02 |
thomasem | :( | 15:03 |
sigmavirus | So if someone wants to nag fungi or someone else in there to approve that patch, that would greatly accelerate things =) | 15:03 |
openstackgerrit | Merged openstack/craton master: Add PyMySQL to project requirements https://review.openstack.org/436963 | 15:05 |
*** Syed__ has joined #craton | 15:11 | |
thomasem | Syed__: out of curiosity, how do you feel about IRC bouncers? | 15:14 |
Syed__ | I used to have weeChat, but not now | 15:15 |
openstackgerrit | Thomas Maddox proposed openstack/craton master: WIP: Add Cloud resource https://review.openstack.org/431705 | 15:15 |
Syed__ | thinking to either get limeChat installed, or maybe pay for irc cloud, since its 5$ monthly i guess thomasem | 15:16 |
thomasem | Syed__: I just popped a ZNC bouncer on a very tiny AWS node. | 15:16 |
thomasem | https://github.com/thomasem/docker-znc | 15:16 |
thomasem | And connect via LimeChat. | 15:17 |
thomasem | Just an idea if you don't want to spend $. :) | 15:17 |
Syed__ | that sounds good | 15:17 |
Syed__ | maybe later i might need your help, will set it up today | 15:17 |
thomasem | You bet. Feel free. I've set up tons of those things. | 15:18 |
thomasem | By the way, that repo maps to https://hub.docker.com/r/tmaddox/znc/ | 15:19 |
thomasem | So, you don't need to pull it down or anything. :P | 15:19 |
thomasem | Just docker pull the image and you should be set | 15:19 |
sulo | thomasem: sigmavirus: oh my bad. I though i had added that to requirements. :( | 15:19 |
thomasem | sulo: no worries! Fixed promptly, little issue. | 15:19 |
thomasem | sulo: after chatting with jimbaker yesterday, I got the impression you'd have some stuff to talk about regarding this bug: https://bugs.launchpad.net/craton/+bug/1666699 | 15:32 |
openstack | Launchpad bug 1666699 in craton "able to create unexpected relationships via API" [Undecided,New] | 15:32 |
jimbaker | sulo, re https://review.openstack.org/#/c/436760/ - agreed on those tests. i will look at some modifications of what is already there | 15:32 |
jimbaker | zz_pwnall1337, https://review.openstack.org/#/c/436760/ should hopefully work around the problem you saw, which is the client currently fails due to try to page regions and projects | 15:33 |
thomasem | I also imagine sigmavirus would like to chime in on that bug | 15:33 |
jimbaker | thomasem, something we will need to resolve of course for real for projects (i guess this is related to https://review.openstack.org/#/c/435599/) | 15:34 |
jimbaker | need to look into regions as well | 15:34 |
thomasem | jimbaker: regions could be due to https://review.openstack.org/#/c/435595/ | 15:35 |
thomasem | If there's a default of None in the schema, it breaks the generated links | 15:35 |
thomasem | for params | 15:35 |
jimbaker | thomasem, re https://bugs.launchpad.net/craton/+bug/1666699, yeah we need to add the checks | 15:35 |
openstack | Launchpad bug 1666699 in craton "able to create unexpected relationships via API" [Undecided,New] | 15:35 |
* thomasem sighs | 15:36 | |
jimbaker | thomasem, ahh, somehow missed that change. i will look into combining with mine | 15:36 |
sulo | thomasem: oh ? | 15:38 |
sulo | thomasem: do we need extra checks ? | 15:38 |
jimbaker | sulo, that's the net of it | 15:38 |
sulo | ok | 15:39 |
jimbaker | it's similar to the bug that git-harry found with respect to being able to create cycles in the parent relationship | 15:39 |
sulo | yeah | 15:39 |
sulo | you can create parent_id from anywhere too | 15:39 |
jimbaker | which if it happens, corrupts the db in the sense that the api calls fail | 15:39 |
jimbaker | easy enough to fix with a simple check. the denormalization we have done for the relationships for cloud, region, and cell have somewhat similar checks we need to do | 15:41 |
thomasem | sulo: I disagree with our data model, is the gist of that, really. I realize short-term it may have to be checks, but I don't think we're asking for pain with this data model. | 15:44 |
thomasem | I think we're asking for pain with this data model* | 15:44 |
thomasem | Haha, wires crossed. | 15:44 |
*** david-lyle_ has quit IRC | 15:44 | |
sulo | thomasem: oh ok :) how so ? | 15:44 |
thomasem | To be clear, I think we need to normalize and leverage the integrity constraints that the DB is good at. | 15:44 |
sulo | ok, can we do that with cells ? | 15:45 |
thomasem | relational table | 15:45 |
thomasem | Yes | 15:45 |
thomasem | table(s) | 15:45 |
*** valw has quit IRC | 15:46 | |
sulo | yeah thats fair enough i guess | 15:46 |
thomasem | The data model as it is has caused us to have to reference all parents of a resource in both the API and cLI | 15:46 |
thomasem | when creating, and doesn't enforce any constraints that are supposed to be enforced by the data model itself | 15:46 |
thomasem | So, instead we'll have to do it in the code itself, which introduces a lot of potential for bugs, and still doesn't quite improve the UX of having to know all parents to create a resource. | 15:47 |
thomasem | It makes more sense to infer based on the immediate parent who the next ancestor is | 15:47 |
sulo | thomasem: all parents as in having to know both region and cell ? | 15:48 |
sulo | or parent_id should know which parents and we allow to overwrite it ? | 15:49 |
jimbaker | sulo, normalization would certainly fix. i believe the only arg for denormalization is that it can improve performance by removing intermediate joins | 15:49 |
thomasem | But we don't even know we have that performance problem, jimbaker | 15:49 |
sulo | jimbaker: yeah i think thats why we did this | 15:49 |
thomasem | I'd prefer we not start pre-optimizing and over complicating when we don't know. | 15:49 |
jimbaker | thomasem, oh for sure | 15:49 |
thomasem | Anyway, I do understand that short-term it's probably not viable to up-end the data model | 15:50 |
thomasem | but I do want to get the wheels turning on migrating to something easier to work with. | 15:50 |
thomasem | Does that seem fair? | 15:50 |
jimbaker | thomasem, and btw, there's this bug: https://bugs.launchpad.net/craton/+bug/1664707 - which is much more impactful in terms of the unnecessary joins that are being performed | 15:51 |
openstack | Launchpad bug 1664707 in craton "SQLAlchemy queries are not lazy enough" [High,New] - Assigned to Jim Baker (jimbaker) | 15:51 |
jimbaker | selective laziness on queries would help a lot | 15:51 |
sulo | thomasem: sounds fine to me .. but we did see this problem with large public cloud data back in the day | 15:51 |
sulo | pre mongo days | 15:51 |
sigmavirus | thomasem: sorry, was focusing. which bug might I have input on? | 15:51 |
*** valw has joined #craton | 15:51 | |
thomasem | sigmavirus: https://bugs.launchpad.net/craton/+bug/1666699 | 15:52 |
openstack | Launchpad bug 1666699 in craton "able to create unexpected relationships via API" [Undecided,New] | 15:52 |
sulo | jimbaker: yeah +1 on that .. we are loading vars and labels on everything :) | 15:52 |
thomasem | sulo: yeah... there's some other ways around that using features of the DB, like views. | 15:52 |
thomasem | I will probably sit down with my housemate (another Racker with a lot of data modeling experience) and see if we can come up with a data model that fits the bill. | 15:53 |
sulo | thomasem: sounds good .. if you are doing that then i have one more thing to add to that | 15:53 |
thomasem | hmm? | 15:53 |
sulo | somethig i've been meaning to dig into | 15:53 |
sigmavirus | thomasem: that's a good find | 15:53 |
sulo | currently our netowks model is bad | 15:53 |
thomasem | Lol | 15:53 |
sulo | well bad in the sense that it coudl be better | 15:53 |
thomasem | I love how matter-of-fact that was. | 15:54 |
openstackgerrit | Ian Cordasco proposed openstack/craton master: Ignore None param values when generating links https://review.openstack.org/435595 | 15:54 |
sulo | so we have network / devices / network-interface | 15:54 |
sulo | but the relations is not well defined | 15:54 |
sulo | that needs a bit of modeling too tbh | 15:54 |
sulo | if we are going to poke models then worth looking at that too | 15:54 |
thomasem | Okay, neat. Let's make note of that on that bug. | 15:55 |
thomasem | So, cells is the crux of the issue? You can either have a cell parent or a region parent? | 15:55 |
sulo | no cell is optional | 15:56 |
thomasem | rather, either an immediate cell parent or immediate region parent | 15:56 |
thomasem | That's why I say 'immediate' | 15:56 |
thomasem | If you don't have an 'immediate' cell parent, then there's no cell (therefore optional) and the region is your parent instead. | 15:56 |
thomasem | if you do have a cell, that's your parent, and the cell has a region parent. | 15:56 |
*** valw has quit IRC | 15:56 | |
sulo | yeah | 15:56 |
thomasem | Cool, got it. | 15:56 |
sulo | but there were talks of cross cells devices too | 15:57 |
sulo | not sure where that fits here | 15:57 |
sulo | i thinks thats one of the asks to us etc | 15:57 |
thomasem | Yeah, it was. | 15:57 |
thomasem | I'll consider that, too. | 15:57 |
thomasem | I'd like to collaborate on it a bit, too, so should probably be in a spec. | 15:58 |
sulo | +1 | 15:58 |
thomasem | But, for the initial proposal... yeah, you get the picture. | 15:58 |
thomasem | Okay, excellent. Thank you for hearing me out on this. :) | 15:59 |
thomasem | sigmavirus: thanks, yeah. I was going through wiring up Clouds and thought "wow... i'm having to put cloud_id EVERYWHERE... why?" | 15:59 |
sigmavirus | thomasem: ? | 16:00 |
* sigmavirus shakes fist at launchpad timing out while trying to post a freaking comment | 16:00 | |
thomasem | sigmavirus: https://review.openstack.org/431705 | 16:00 |
thomasem | Adding Clouds meant I had to add cloud_id to all children of cloud | 16:01 |
thomasem | according to the existing pattern | 16:01 |
thomasem | this lead me to think about what I could abuse in the data model via the API | 16:01 |
thomasem | For context | 16:01 |
sigmavirus | ah right | 16:02 |
sigmavirus | sorry | 16:02 |
thomasem | Speaking of, I added the CLI bug for clouds, too. | 16:02 |
thomasem | sigmavirus: no problem | 16:02 |
* sigmavirus changes contexts too quickly | 16:02 | |
thomasem | it's all good. :) | 16:02 |
* sigmavirus is going to work on the client some more today | 16:02 | |
sigmavirus | adding tests | 16:02 |
thomasem | So, we're going to have to merge those in rapid succession. | 16:02 |
sigmavirus | reworking existing tests that are not the best | 16:02 |
thomasem | Since adding clouds breaks the existing CLI | 16:03 |
thomasem | Gotcha | 16:03 |
thomasem | Sounds good! | 16:03 |
sulo | also i picked https://bugs.launchpad.net/craton/+bug/1666890 up as my back from break work | 16:04 |
openstack | Launchpad bug 1666890 in craton "Query by filter should raise 404 when no entry found" [High,New] - Assigned to Sulochan Acharya (sulochan-acharya) | 16:04 |
sulo | not sure if anyone noticed that yet | 16:04 |
sigmavirus | jimbaker: had assigned me to work on the cilent last week anyway | 16:05 |
sigmavirus | sulo: I saw it cross my email but didn't look closely at it | 16:06 |
sigmavirus | sulo: I'm not sure I'd call an empty list of hosts garbage data | 16:06 |
thomasem | sigmavirus: feel free to assign yourself to https://bugs.launchpad.net/craton/+bug/1665779, you're definitely doing the bulk of that work. | 16:06 |
openstack | Launchpad bug 1665779 in craton "error using generated link for collection with parameter defaulted to None" [High,In progress] - Assigned to Thomas Maddox (thomas-maddox) | 16:06 |
sulo | sigmavirus: heh | 16:07 |
sigmavirus | thomasem: I just wrote tests | 16:07 |
sigmavirus | sulo: that said, I'm not sure we can generate a 404 from that | 16:07 |
thomasem | Tests were the bulk of that work. :P | 16:07 |
sulo | sigmavirus: can we not ? | 16:07 |
sigmavirus | Because we don't have a test for that label existing in advance of the joined query | 16:07 |
sigmavirus | Or rather, not easily | 16:07 |
sigmavirus | thomasem: I wrote two tests | 16:07 |
thomasem | LOL okay, okay | 16:07 |
sigmavirus | I don't care who's assigned to what | 16:07 |
sigmavirus | Just that it gets done =P | 16:07 |
thomasem | Fair enough. | 16:08 |
sigmavirus | That said, farid is free to assign me to it =P | 16:08 |
sulo | sigmavirus: i mean in general any query fileter does this | 16:08 |
sulo | returns empty list with links data | 16:08 |
sigmavirus | sulo: sure, but do we want to add checks for the filter conditions being sensible? | 16:08 |
farid | :) | 16:08 |
sigmavirus | sulo: yeah, so it seems I need to update our pagination spec because the way I understood our design was to always return those links | 16:08 |
sigmavirus | And it seems that's not what I wrote | 16:08 |
sigmavirus | (Or not what got merged) | 16:09 |
jimbaker | thomasem, so any revisiting of the data modeling should take in account shared devices; https://bugs.launchpad.net/craton/+bug/1662574 | 16:09 |
openstack | Launchpad bug 1662574 in craton "Support device sharing between clouds, regions, and cells" [High,New] - Assigned to Jim Baker (jimbaker) | 16:09 |
sigmavirus | farid: not sure what kind of task tracking you have in mind for craton (Kanban, etc.) so if assignees matter to you, that's a different story IMO | 16:10 |
jimbaker | but definitely great if we can get your housemate's input on this | 16:10 |
sigmavirus | IOW, I defer all task tracking decisions to farid =P | 16:10 |
sulo | sigmavirus: ok, because right now, it doesnt make sense .. also i thought the db already raises | 16:10 |
jimbaker | sulo, i assume you mean that prev/next links should not be generated for empty lists? | 16:10 |
sulo | jimbaker: yes | 16:10 |
sigmavirus | sulo: so the pagination work won't mask those at all | 16:11 |
jimbaker | yeah, hopefully my patch takes care of that. but will test | 16:11 |
sigmavirus | (if I remember correctly) | 16:11 |
sulo | sigmavirus: rgr .. it looks like it is not | 16:11 |
sulo | so it looks like its returning an empty list :/ | 16:11 |
sigmavirus | right | 16:11 |
*** klindgren has quit IRC | 16:11 | |
sigmavirus | which is why we return a 200 OK with an empty list | 16:11 |
sigmavirus | I would expect an empty list from a filtered query if the label exists but nothing has that label if that makes any sense | 16:12 |
jimbaker | yes, we want a 200 OK in this circumstance | 16:12 |
jimbaker | an empty collection is a valid response | 16:12 |
sulo | sigmavirus: yes, that was the though behind that anyway | 16:12 |
farid | sigmavirus: that's something we can discuss in our meeting here coming up | 16:12 |
sigmavirus | I disagree that there shouldn't be prev/next links for empty lists | 16:12 |
farid | we ended up using just milestones in launchpad to get started with something | 16:13 |
sulo | sigmavirus: there should be ? | 16:13 |
jimbaker | and what happens when these are chased? | 16:13 |
sigmavirus | someone might receive an empty list at the end of pagination series. There should definitely be a prev link for that | 16:13 |
sigmavirus | jimbaker: ostensibly users are going to stop chasing ilnks when nothing comes back in the list | 16:13 |
sigmavirus | if they keep chasing them, they'll get empty lists | 16:13 |
sigmavirus | empty lists for days | 16:13 |
thomasem | jimbaker: yes, I'm planning to account for that. | 16:14 |
sulo | heh | 16:14 |
jimbaker | sure... | 16:14 |
sulo | farid: i just added a few bugs to that | 16:14 |
sulo | milestone | 16:14 |
farid | o/ | 16:14 |
sigmavirus | https://review.openstack.org/435595 | 16:14 |
thomasem | jimbaker: So, there's the bug already made for the issue... I'll write a BP for actually addressing the data model. We do have an immediate problem with the bug. Does that sound good? | 16:14 |
sigmavirus | jimbaker: sulo ^ | 16:14 |
jimbaker | thomasem, so let's also look at this in the context of graphene | 16:15 |
jimbaker | i believe any reasonable adj model should be compatible with graphene support for sqlalchemy | 16:15 |
jimbaker | but might as well have that part of our consideration | 16:16 |
openstackgerrit | Thomas Maddox proposed openstack/craton master: Add Cloud resource before Region https://review.openstack.org/431705 | 16:16 |
*** jovon has joined #craton | 16:16 | |
thomasem | jimbaker: I'll look into that, too. Not terribly familiar, I'm afraid. | 16:17 |
thomasem | Do you have any immediate concerns around that with a more normalized data model? | 16:18 |
sigmavirus | okay, so here's a probably very stupid question... why do we want to do `GET /v1/projects?id=...` | 16:18 |
*** valw has joined #craton | 16:19 | |
sigmavirus | Isn't that always going to be a single project return and less valuable than forcing `GET /v1/projects/:id` | 16:19 |
thomasem | sigmavirus: I agree wholeheartedly. It makes no sense. | 16:20 |
sulo | sigmavirus: +1 | 16:20 |
sigmavirus | thomasem: so part of this review of yours is just to remove that ;) | 16:20 |
thomasem | sigmavirus: which review? lol | 16:20 |
sigmavirus | Iad8733594ca83c3bc061017fd9eae6861f31ee5d | 16:21 |
sigmavirus | er | 16:21 |
sigmavirus | that's it's change-id | 16:21 |
sulo | sigmavirus: however, there might be a case (now) that we have root project that controls other projects ? | 16:21 |
sigmavirus | change-id Iad8733594ca83c3bc061017fd9eae6861f31ee5d | 16:21 |
sigmavirus | sulo: wouldn't that be filtered by parent_id? | 16:21 |
thomasem | https://review.openstack.org/#/c/435599/ | 16:21 |
sigmavirus | sulo: unless I'm misunderstanding yo | 16:21 |
thomasem | misunderstanding, yo* | 16:21 |
thomasem | FTFY | 16:21 |
sulo | sigmavirus: i mean tenant 112 controls all other tenants ? | 16:22 |
sulo | yeah i hear me .. that makes no sense | 16:22 |
sigmavirus | sulo: right, I'm still not sure how that affects filtering by id. | 16:22 |
sigmavirus | Id's are constrained to be unique | 16:22 |
sigmavirus | Unless we want fuzzy id matching | 16:22 |
sigmavirus | gimme all projects starting with a | 16:22 |
sulo | sigmavirus: hehe cool cool .. i agree | 16:22 |
sigmavirus | But I don't think we want fuzzy matching at the moment | 16:22 |
thomasem | Yeah, but does that really make sense with UUIDs? | 16:23 |
sigmavirus | thomasem: My UUID has a first name... I think it starts with a | 16:23 |
sigmavirus | My UUID has a second name, I think it starts with b | 16:23 |
sigmavirus | ♬ | 16:23 |
farid | sigmavirus / sulo / thomasem / jimbaker can y'all meet a bit early today? | 16:24 |
*** valw has quit IRC | 16:24 | |
thomasem | farid: for you, I'll meet now, even. | 16:24 |
sulo | i can, would appreciate some extra time | 16:24 |
farid | git-harry in case he's around too, so that uk folks have more day time | 16:24 |
farid | good deal | 16:24 |
farid | yeah now works if everyone is around | 16:24 |
farid | my room is available, let's give this a shot | 16:24 |
* sigmavirus is free up until 10:45 | 16:24 | |
jimbaker | farid, i cannot, sorry | 16:24 |
sigmavirus | I have a meeting at 10:45 | 16:24 |
sigmavirus | ;) | 16:24 |
farid | ouch! | 16:25 |
sulo | jimbaker: noooooooooooooooooooo | 16:25 |
farid | jimbaker: if you can't let's wait it out then, it's just 20 mins | 16:25 |
jimbaker | need to take my son to school. brb | 16:25 |
farid | np! see you then in a bit. | 16:25 |
thomasem | sigmavirus: I like your song. How much for it? | 16:26 |
sulo | thomasem: what song ? | 16:26 |
sulo | sigmavirus: what song ? | 16:26 |
sigmavirus | thomasem: well I charge $3.50 but if you want extra toppings, those come at $0.25 a pop | 16:26 |
sigmavirus | sulo: I sang it to you above | 16:26 |
sulo | nice | 16:26 |
thomasem | sigmavirus: might want to go a bit cheaper if you ever want to get platinum status. :P | 16:28 |
Syed__ | haha | 16:28 |
sigmavirus | thomasem: but my songs come with free hot dogs | 16:28 |
thomasem | Oh, you didn't say that! | 16:28 |
thomasem | Wait... that's not "free". | 16:28 |
sigmavirus | lmao | 16:29 |
sigmavirus | okay, I'll level with you, what you're paying for is the hot dog and my lawyer who protects me from this pesky thing called "copyright infringement" | 16:29 |
thomasem | Bahahahahaa | 16:29 |
thomasem | Reminds me of this call I had with an ISP who also provided cable. I was trying to tell them all I wanted was internet service, and they kept repeating "but, when you bundle, you save...". I felt like I was actually inside of the movie Idiocracy. | 16:31 |
thomasem | They were going to sell me a cable package with my internet, period. | 16:31 |
*** valw has joined #craton | 16:31 | |
sulo | thomasem: thats how it works in the UK mostly | 16:32 |
thomasem | Oh man... yikes | 16:32 |
sulo | all the big providers that have area coverage force you to | 16:32 |
thomasem | :( | 16:32 |
sigmavirus | thomasem: so the way I tend to debate that is to ask them to get a pen and paper | 16:33 |
sigmavirus | then I explain to them how I will use the cable package exactly never | 16:33 |
sigmavirus | so I'm paying more for something I'll never use | 16:34 |
sigmavirus | So when you compare the price of teh package and the internet alone, I'm actually saving money by not bundling | 16:34 |
thomasem | You have to be careful with that. They have a very fragile mental constitution... it might shatter. | 16:34 |
thomasem | When they realize everything's been a lie from the start. | 16:35 |
sigmavirus | then I explain to them how I've never in my life had cable | 16:36 |
sigmavirus | That usually results in me being switched to someone whose mind hasn't been blown | 16:36 |
thomasem | (yet) | 16:36 |
thomasem | sulo: I guess they just know you can't go anywhere else that won't do the same thing? | 16:37 |
sigmavirus | sulo: don't you also have a national license fee/tax that pays for BBC, etc.? | 16:37 |
sulo | thomasem: yes, sigmavirus: yes | 16:38 |
sulo | sigmavirus: and its quite expensive too | 16:38 |
* sigmavirus nods | 16:39 | |
sulo | team sync still on ? | 16:44 |
jimbaker | yes | 16:44 |
*** david-lyle has joined #craton | 16:46 | |
*** david-lyle has quit IRC | 16:47 | |
*** zz_pwnall1337 is now known as pwnall1337 | 16:58 | |
thomasem | pwnall1337: https://review.openstack.org/435595 | 16:58 |
thomasem | that one first | 16:59 |
thomasem | pwnall1337: then this one https://review.openstack.org/435599 | 16:59 |
pwnall1337 | thanks | 16:59 |
thomasem | pwnall1337: you bet, sorry for the issues there. | 17:00 |
pwnall1337 | all good :) | 17:00 |
thomasem | We'll have them in master by EoD, I hope. | 17:00 |
* sigmavirus won't mention graphql | 17:00 | |
*** valw has quit IRC | 17:14 | |
*** valw has joined #craton | 17:18 | |
jimbaker | sigmavirus, i have warmed up to graphql | 17:22 |
*** VW has quit IRC | 17:22 | |
thomasem | Looks pretty slick | 17:23 |
jimbaker | but not for this milestone of course | 17:23 |
sigmavirus | I feel like graphql could provide that search functionality pretty well | 17:23 |
*** VW has joined #craton | 17:23 | |
*** VW has quit IRC | 17:23 | |
sigmavirus | Yeah clearly | 17:23 |
thomasem | Lunch | 17:23 |
sigmavirus | But that cross-project search functionality would probably be well suited to graphql | 17:23 |
*** VW has joined #craton | 17:23 | |
jimbaker | plus in general stuff like being able to say, i just want these variables | 17:23 |
jimbaker | so yeah, +1 to the potential, and hopefully graphene makes it easy to implement | 17:24 |
jimbaker | https://developer.github.com/early-access/graphql/ | 17:25 |
sulo | afk for a few | 17:31 |
openstackgerrit | Ian Cordasco proposed openstack/craton master: Use String for Project ID in schema https://review.openstack.org/435599 | 17:33 |
sigmavirus | jimbaker: so between ^ and https://review.openstack.org/435595 the pagination bugs we talked about should be fixed for projects | 17:33 |
sigmavirus | you mentioned there were problems for regions too? | 17:33 |
openstackgerrit | Jovon McCloud proposed openstack/craton master: Adds Networks to docs https://review.openstack.org/429110 | 17:34 |
jimbaker | sigmavirus, yeah. let me revisit | 17:34 |
jimbaker | sigmavirus, so regions = list(craton.regions.list()) in the client (master) against the server (master) produces a 400 (bad request) | 17:39 |
jimbaker | iirc this is because of the marker for region_id is not picked up as an int; and thomasem has a patch for that | 17:40 |
jimbaker | might as well try it out... | 17:40 |
jimbaker | https://review.openstack.org/#/c/435599/ | 17:41 |
jimbaker | nope, still fails with that patch | 17:43 |
jimbaker | will dig into it | 17:43 |
sigmavirus | huh | 17:43 |
sigmavirus | jimbaker: that's for projects | 17:43 |
sigmavirus | I'll work on the region id fix if you want | 17:43 |
jimbaker | ahh, yes, sorry | 17:44 |
jimbaker | too many patches :) good problem to have i suppose | 17:44 |
jimbaker | sigmavirus, +1 for you working on that fix | 17:45 |
jimbaker | sigmavirus, so it looks like something you already worked on; this url "/v1/regions?sort_keys=created_at%2Cid&sort_dir=asc&marker=2&limit=30" produces this response {"errors": ["Additional properties are not allowed ('sort_keys', 'sort_dir' were unexpected)"], "message": "Bad Request"} | 17:47 |
jimbaker | so just a basic validation problem | 17:48 |
jimbaker | sigmavirus, btw, i was thinking that it might make sense to templatize in some easy fashion those definitions, so we can share the schema for pagination across paginated resources | 17:49 |
jimbaker | oh never mind, it looks this has already been merged in | 17:50 |
jimbaker | https://github.com/openstack/craton/blob/master/craton/api/v1/schemas.py#L1616 | 17:50 |
jimbaker | etc | 17:50 |
jimbaker | just missing on https://github.com/openstack/craton/blob/master/craton/api/v1/schemas.py#L851 | 17:51 |
jimbaker | for regions GET, so again an easy fix | 17:51 |
jimbaker | actually i'm correct, we have duplication here: https://github.com/openstack/craton/blob/master/craton/api/v1/schemas.py#L930, but this specific fix is not applied with respect to https://github.com/openstack/craton/blob/master/craton/api/v1/schemas.py#L867 | 17:55 |
jimbaker | so in particular, sort_keys and sort_dir are not defined | 17:55 |
jimbaker | sigmavirus, let's make the definition for the req then be more like the response body, and have a similar function like paginated_resource to inject the necessary schema elements into the request definition | 17:56 |
openstackgerrit | Ian Cordasco proposed openstack/craton master: Use String for Project ID in schema https://review.openstack.org/435599 | 17:58 |
sigmavirus | jimbaker: sounds like a plan | 18:00 |
jimbaker | cool, thanks! | 18:00 |
sigmavirus | I just want to get ^ tests passing | 18:05 |
sigmavirus | Then I'll move onto the region fixes | 18:06 |
sigmavirus | jimbaker: do you have a bug report? | 18:12 |
*** valw has quit IRC | 18:19 | |
*** valw has joined #craton | 18:21 | |
*** david-lyle has joined #craton | 18:22 | |
jimbaker | sigmavirus, i did not file one | 18:25 |
jimbaker | but i can do so now | 18:25 |
sigmavirus | That's fine | 18:25 |
sigmavirus | I'll do it | 18:25 |
jimbaker | cool, thanks! | 18:25 |
* sigmavirus wanted to make sure he wasn't doubling up bugs | 18:28 | |
thomasem | jimbaker: my patch was for project_id, not region_id? | 18:29 |
jimbaker | thomasem, https://review.openstack.org/#/c/435599/, correct | 18:30 |
thomasem | Okay. That's what I thought. Saw you mention region_id above.... | 18:33 |
jimbaker | just my mix up | 18:33 |
thomasem | Ohhh, gotcha. Okey doke! Carry on. | 18:33 |
jimbaker | so sigmavirus will fix the region stuff, which is actually a problem in defining pagination requests. i think there may have been a marker issue at some point, but certainly not now | 18:34 |
jimbaker | just sort_dir and sort_asc params, and making sure this validates | 18:34 |
jimbaker | easy stuff, just want to abstract this out so we don't repeat | 18:34 |
thomasem | Oh wild, gotcha | 18:35 |
thomasem | Good find | 18:35 |
*** david-lyle has quit IRC | 18:39 | |
jimbaker | thomasem, interesting, the api is generating this url for the next link on projects with that patch: "http://127.0.0.1:8080/v1/projects?sort_dir=asc&limit=30&sort_keys=created_at%2Cid&marker=b9f10eca-66ac-4c27-9c13-9d01e65f96b4&name=None" | 18:39 |
jimbaker | &name=None is problematic | 18:40 |
thomasem | jimbaker: that's the first patch in flight | 18:40 |
thomasem | https://review.openstack.org/#/c/435595/ | 18:40 |
thomasem | jimbaker: ^^ | 18:40 |
jimbaker | can we link? | 18:40 |
jimbaker | should be a dependency then on that change | 18:40 |
thomasem | They weren't necessarily dependent, though. You can fix one problem without the other. | 18:41 |
jimbaker | well, it would be fine if it were not broken :) | 18:41 |
thomasem | both are needed to fix generated links, but they're not related problems. | 18:41 |
jimbaker | but sure, i suppose they are separable | 18:42 |
jimbaker | anyway, i agree with git-harry - being able to specify None (or null) in the query should be fine | 18:42 |
thomasem | I was about to post a question - is that standard practice for null param values? | 18:43 |
thomasem | "None"? | 18:43 |
thomasem | in OpenStack APIs | 18:43 |
jimbaker | thomasem, i don't know that answer | 18:43 |
jimbaker | i do know it makes sense with respect to vars | 18:43 |
jimbaker | and in particular, we might want to ask ?cell_id=null | 18:44 |
thomasem | Sure, but that's different from allowing | 18:44 |
thomasem | None | 18:44 |
jimbaker | yeah, None is just some string | 18:44 |
jimbaker | "None" | 18:44 |
jimbaker | :) | 18:44 |
thomasem | Right. So, depends on how we wish to handle that. | 18:44 |
thomasem | Anyway, I'm cool w/ removing the defaults from the schema instead. I know sigmavirus had some opinions on that. | 18:45 |
thomasem | The point I was making regarding "None" vs. "null" is that "null" would be independent of this particular issue. What happens here is the None value gets literally translated to the "None" string, and it was never a part of the query to begin with. | 18:46 |
jimbaker | there's no question that the management of missing/default/nonexistence/and similar special values is problematic | 18:46 |
jimbaker | thomasem, yeah, that's clear | 18:47 |
thomasem | Which is actually the case for removing it from the schema anyway | 18:47 |
thomasem | Sooo yar | 18:47 |
thomasem | I think sigmavirus's main argument was this fixed it in one place for all occurrences. | 18:48 |
thomasem | But, if we intend to actually use ?key=None, then, yeah | 18:49 |
thomasem | Agh VPN cut my SSH pipe. | 18:49 |
* thomasem frowns | 18:49 | |
thomasem | git fetch ssh://thomasm@review.openstack.org:29418/openstack/craton refs/changes/95/435595/2 && git checkout FETCH_HEAD | 18:50 |
thomasem | Bah, sorry | 18:50 |
jimbaker | thomasem, hmm, i think we will take on this tech debt now and figure out a better solution | 18:50 |
jimbaker | since your patches actually do fix a real and immediate problem | 18:51 |
jimbaker | sounds good? | 18:51 |
thomasem | To me, it does. I would _very_ much like for us to solve it in a more future-proof way fast-follow. | 18:52 |
jimbaker | cool. let's do it that way then | 18:52 |
jimbaker | we will file a bug to make sure we don't lose track of course | 18:52 |
thomasem | +1 | 18:53 |
jimbaker | but basically if we use None for a default value, we need to ensure we can use null if it makes sense (i can only think of cell_id); and regardless no loose typing such that None is stringified to "None" | 18:53 |
thomasem | Agreed. Thanks, jimbaker! | 18:54 |
thomasem | I'll throw that bug together. | 18:55 |
thomasem | unless you already are | 18:55 |
jimbaker | thomasem, if you are on it, please do submit that bug | 18:57 |
jimbaker | and do cite the change i just approved | 18:57 |
jimbaker | thanks! | 18:57 |
*** valw has quit IRC | 18:57 | |
openstackgerrit | Merged openstack/craton master: Ignore None param values when generating links https://review.openstack.org/435595 | 18:59 |
openstackgerrit | Merged openstack/craton master: Use String for Project ID in schema https://review.openstack.org/435599 | 19:00 |
*** valw has joined #craton | 19:01 | |
*** VW has quit IRC | 19:04 | |
*** VW has joined #craton | 19:04 | |
jimbaker | pwnall1337, so the above fixes projects listing; sigmavirus is working on a fix for regions listing | 19:04 |
jimbaker | farid, this now works: $ craton project-list | 19:05 |
farid | o/ | 19:08 |
jimbaker | although interestingly this does work $ craton region-list, but not list(craton.regions.list()) in the client. i would have assumed the command used the client as i described | 19:08 |
farid | awesome ;) | 19:08 |
jimbaker | but apparently not | 19:08 |
jimbaker | sigmavirus, maybe something you want to look at | 19:08 |
farid | yeah that's odd | 19:08 |
sigmavirus | jimbaker: that is odd | 19:09 |
jimbaker | sigmavirus, really want to add this minor bit to the client: https://bugs.launchpad.net/python-cratonclient/+bug/1666734 | 19:09 |
openstack | Launchpad bug 1666734 in Craton's Python Client "Support debug logging for client/CLI" [High,New] | 19:09 |
jimbaker | just to get some transparency on what is going on | 19:10 |
jimbaker | whether it's using --debug=http or --debug=all or something else, i don't care about those details. but i do want to be able to see the full request/response | 19:11 |
sigmavirus | jimbaker: I can work on that next | 19:12 |
jimbaker | sigmavirus, thanks, i think that will be super helpful | 19:12 |
*** VW_ has joined #craton | 19:16 | |
*** VW__ has joined #craton | 19:18 | |
*** VW_ has quit IRC | 19:18 | |
thomasem | jimbaker: https://bugs.launchpad.net/craton/+bug/1667075 | 19:19 |
openstack | Launchpad bug 1667075 in craton "Support filtering on null values" [Undecided,New] | 19:19 |
*** VW has quit IRC | 19:19 | |
*** VW__ has quit IRC | 19:23 | |
thomasem | https://review.openstack.org/#/c/431705 is ready for review, btw. | 19:28 |
thomasem | working on CLI changes right now | 19:28 |
thomasem | for https://bugs.launchpad.net/python-cratonclient/+bug/1666947 | 19:29 |
openstack | Launchpad bug 1666947 in Craton's Python Client "Support Clouds resource" [Critical,New] - Assigned to Thomas Maddox (thomas-maddox) | 19:29 |
*** VW has joined #craton | 19:31 | |
*** david-lyle has joined #craton | 19:33 | |
*** VW has quit IRC | 19:34 | |
*** VW has joined #craton | 19:35 | |
openstackgerrit | Thomas Maddox proposed openstack/python-cratonclient master: Adds basic Cloud resource CRUD to CLI https://review.openstack.org/437098 | 19:44 |
jimbaker | a little gist that i have found useful for wrapping curl; uses the same env vars to setup as the craton CLI - https://gist.github.com/jimbaker/9089e381af38d9db6bc4af59baed6d47 | 19:46 |
thomasem | Added to that a little helper I use for setting up client creds. | 19:52 |
thomasem | Modify however you wish. | 19:52 |
openstackgerrit | Ian Cordasco proposed openstack/craton master: Add support to regions for sort_dir and sort_keys https://review.openstack.org/437104 | 19:53 |
*** valw has quit IRC | 19:53 | |
sigmavirus | pwnall1337: jimbaker ^ | 19:53 |
jimbaker | thomasem, yeah, i already have those env vars set in my .bash_profile | 19:54 |
thomasem | ohhoho, fancy | 19:54 |
jimbaker | but adding the admin switch could be nice | 19:54 |
jimbaker | at some point, one doesn't want to type s* in again | 19:54 |
jimbaker | ;) | 19:54 |
thomasem | of course | 19:54 |
thomasem | I made a helper just because I use all of those uers | 19:54 |
thomasem | users* | 19:54 |
jimbaker | fortunately we have a solution: we code | 19:54 |
thomasem | when vetting code paths | 19:54 |
jimbaker | ;) | 19:54 |
thomasem | Does your eye ever start twitching from all of your winking? | 19:55 |
thomasem | :P | 19:55 |
thomasem | Must have some seriously strong... what is that muscle even called? | 19:55 |
jimbaker | my daughter is taking intro to programming. she complained about their first assignment: they had to repeatedly do X to some collection of objs in a graphical programming env. i told her, you have the mind of a developer | 19:55 |
jimbaker | thomasem, no eye strain today, but it has happened in the past :) | 19:56 |
thomasem | LOL | 19:56 |
jimbaker | speaking of removing tedium, sigmavirus just removed a whole bunch of duplicated code in that patch. nice! | 19:58 |
*** VW_ has joined #craton | 20:00 | |
thomasem | Very nice! | 20:00 |
*** VW has quit IRC | 20:00 | |
jimbaker | thomasem, you will to use for the cloud support | 20:02 |
jimbaker | anyway, fast track approval since obvious fix, and make pwnall1337's life much nicer | 20:02 |
*** valw has joined #craton | 20:02 | |
thomasem | jimbaker: sure, ezpz. | 20:02 |
thomasem | Will rebase once that goes in | 20:03 |
sigmavirus | jimbaker: did you run check experimental on that patch? Just wanted to get independent verification of my own results | 20:06 |
sigmavirus | 'specially given we've seen the functional tests run differently in completely clean environments | 20:06 |
*** valw has quit IRC | 20:06 | |
*** david-lyle_ has joined #craton | 20:07 | |
openstackgerrit | Merged openstack/craton master: Add support to regions for sort_dir and sort_keys https://review.openstack.org/437104 | 20:07 |
*** david-lyle has quit IRC | 20:07 | |
jimbaker | sigmavirus, i did not, and i forgot we are still waiting on that gate change | 20:08 |
sigmavirus | No worries. jimbaker maybe you should go bug infra about that patch ;) | 20:09 |
sigmavirus | Just need another +2 https://review.openstack.org/436556 | 20:10 |
jimbaker | sigmavirus, right. let me do this a little bit later today | 20:10 |
sigmavirus | :+1: | 20:11 |
jimbaker | biab | 20:12 |
thomasem | Werid... my Mac just randomly restarted, lol. | 20:30 |
*** david-lyle_ has quit IRC | 20:30 | |
farid | w00t first bug https://bugs.launchpad.net/craton/+bug/1667099 | 20:32 |
openstack | Launchpad bug 1667099 in craton "Allow environment export from client" [Undecided,New] | 20:32 |
farid | thanks thomasem for pointing out we didn't have this use case in a bug/ticket | 20:32 |
thomasem | jimbaker: After our discussion this morning, sounds like we were planning to address export short-term in the same way we were going to address import (an out-of-band script)? | 20:33 |
thomasem | Wanted to bring that up since export is the thing we actually committed to short-term. | 20:33 |
thomasem | I also remember mention of handling that in the CLI. Are we thinking something like craton export project <id> or something? | 20:34 |
thomasem | Sure thing! | 20:35 |
thomasem | farid: ^^ | 20:35 |
thomasem | farid: might open one here, too: https://bugs.launchpad.net/python-cratonclient | 20:37 |
thomasem | :D | 20:37 |
thomasem | the craton-api one might actually turn into something related to the bulk endpoint or get absorbed into that body of work (https://bugs.launchpad.net/craton/+bug/1661714) | 20:38 |
openstack | Launchpad bug 1661714 in craton "Bulk endpoint for working with resources" [High,In progress] - Assigned to Thomas Maddox (thomas-maddox) | 20:38 |
thomasem | Weird.. ZNC isn't playing nice with channel buffers. | 20:40 |
thomasem | Oh well, problem for another time. | 20:40 |
openstackgerrit | Thomas Maddox proposed openstack/craton master: Add Cloud resource before Region https://review.openstack.org/431705 | 20:47 |
thomasem | Integrates with sigmavirus's add_pagination_args ^^ | 20:48 |
*** valw has joined #craton | 20:49 | |
*** valw has quit IRC | 20:52 | |
*** valw has joined #craton | 20:55 | |
farid | thomasem: ah thanks for pointing out | 20:55 |
farid | sounds like I should just move it to the python-cratonclient altogether, not in addition, right ? | 20:56 |
thomasem | farid: yeah, probably. Until we know we wish to do something with the API other than the bulk endpoint we already plan to do. | 20:56 |
farid | allright! | 20:57 |
*** VW_ has quit IRC | 20:57 | |
*** VW has joined #craton | 20:58 | |
farid | allright, created and included in client milestone | 20:59 |
farid | https://bugs.launchpad.net/python-cratonclient/+bug/1667110 | 20:59 |
openstack | Launchpad bug 1667110 in Craton's Python Client "Allow environment export from client" [Undecided,New] | 20:59 |
*** VW has quit IRC | 21:17 | |
*** VW has joined #craton | 21:20 | |
*** valw has quit IRC | 21:23 | |
*** valw has joined #craton | 21:24 | |
pwnall1337 | hola | 21:24 |
pwnall1337 | best way to create admin user in craton? just insert sql? does admin user require a project id or just null? | 21:24 |
*** valw has quit IRC | 21:25 | |
*** valw has joined #craton | 21:31 | |
*** VW_ has joined #craton | 21:34 | |
*** VW has quit IRC | 21:34 | |
pwnall1337 | thomasem: do you know? | 21:34 |
thomasem | pwnall1337: if you don't have a bootstrap user, best way is inserting into the MySQL, iiuc. | 21:35 |
thomasem | inserting into the DB* lol | 21:35 |
thomasem | the MySQL | 21:35 |
pwnall1337 | gotcha | 21:35 |
thomasem | pwnall1337: admin or root? There's a distinction... root can create and manage projects, admin cannot. | 21:36 |
thomasem | admin is project admin | 21:36 |
thomasem | root is root over all the things | 21:36 |
thomasem | Projects being the top-level resource: Project -> Region -> Cell (optional) -> ... | 21:37 |
pwnall1337 | im wanting to project-list | 21:37 |
thomasem | Then root | 21:37 |
thomasem | is what you want | 21:37 |
thomasem | so, when inserting set is_root=True | 21:37 |
thomasem | for your user in the Users table | 21:37 |
pwnall1337 | is root true and keep is admin 0? | 21:38 |
thomasem | yep | 21:38 |
thomasem | That should work | 21:38 |
pwnall1337 | what's the different between admin/root? | 21:38 |
thomasem | if it doesn't, call me out! | 21:38 |
pwnall1337 | admin can add/remove hosts on specific prject? | 21:38 |
thomasem | Admin is project admin, root trumps admin. | 21:38 |
thomasem | correct | 21:38 |
pwnall1337 | okie dokie | 21:38 |
thomasem | admin can add regions, cells, networks, devices, etc. to a project they're admin over. | 21:38 |
jimbaker | thomasem, yes, let's address both import/export through the client | 21:54 |
jimbaker | whether that's a builtin with the CLI itself, hmm, interesting idea | 21:55 |
thomasem | jimbaker: yeah, I guess that's what I'm asking... how will that really look? | 21:58 |
jimbaker | thomasem, maybe we prototype a plugin structure? | 21:59 |
jimbaker | subcommands can lend themselves to doing this | 21:59 |
jimbaker | i would first prefer actually write the client code before we put this plugin stuff together however... | 22:00 |
*** valw has quit IRC | 22:11 | |
*** valw has joined #craton | 22:14 | |
*** valw has quit IRC | 22:17 | |
openstackgerrit | OpenStack Proposal Bot proposed openstack/craton master: Updated from global requirements https://review.openstack.org/437178 | 22:25 |
*** VW_ has quit IRC | 22:30 | |
thomasem | Wondering - why do we use uuids without the dashes? | 22:35 |
thomasem | jimbaker: yeah, we probably need something sooner. :P | 22:35 |
*** VW has joined #craton | 22:41 | |
*** VW has quit IRC | 22:45 | |
*** jovon has quit IRC | 22:52 | |
*** VW has joined #craton | 22:58 | |
*** VW has quit IRC | 23:00 | |
*** VW_ has joined #craton | 23:00 | |
*** VW has joined #craton | 23:45 | |
*** VW_ has quit IRC | 23:48 | |
*** VW has quit IRC | 23:50 | |
*** klindgren has joined #craton | 23:53 |
Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!