Tuesday, 2017-03-14

*** VW has joined #craton01:51
*** VW has quit IRC01:59
*** VW has joined #craton02:10
*** VW has quit IRC02:19
*** VW has joined #craton02:30
*** VW has quit IRC02:33
*** VW has joined #craton02:45
*** VW_ has joined #craton02:47
*** VW has quit IRC02:47
*** VW_ has quit IRC03:06
*** VW has joined #craton03:06
*** VW has quit IRC03:10
openstackgerritJim Baker proposed openstack/craton master: Updates Alembic migration to better match SQLAlchemy models  https://review.openstack.org/44164403:33
*** tojuvone has quit IRC05:26
*** tojuvone has joined #craton05:27
*** klindgren_ has joined #craton09:32
*** klindgren has quit IRC09:35
*** klindgren__ has joined #craton10:43
*** klindgren_ has quit IRC10:45
thomasemo/13:10
thomasemWow.. Gerrit's sluggish again.13:27
thomasemIt's like molasses.13:27
tojuvoneYou write code too fast, cannot keep up13:34
-openstackstatus- NOTICE: Gerrit is going to be restarted due to performance problems13:36
*** ChanServ changes topic to "Gerrit is going to be restarted due to performance problems"13:36
thomasemLol!13:37
thomasemIf only13:37
-openstackstatus- NOTICE: Gerrit has been successfully restarted13:43
*** ChanServ changes topic to "Gerrit has been successfully restarted"13:43
*** ChanServ changes topic to "Summit talk: https://www.youtube.com/watch?v=Q-sf12SDR3M || Logs: http://eavesdrop.openstack.org/irclogs/%23craton/latest.log.html || Mon 1500 UTC in #openstack-meeting-4 || Client/ecosystem Tues 1700 UTC || Core Thur 1700 UTC || Resources: https://etherpad.openstack.org/p/Fleet_Management"13:49
-openstackstatus- NOTICE: Gerrit has been successfully restarted13:49
*** IRCFrEAK has joined #craton13:53
*** IRCFrEAK has quit IRC13:55
*** lamer14894991848 has joined #craton13:56
sigmavirusthomasem: what do you want from a giant java application written by google13:57
*** lamer14894991848 has quit IRC13:57
*** IRCFrEAK has joined #craton13:58
*** IRCFrEAK has quit IRC13:59
thomasemsigmavirus: Lol, too much, I guess?14:01
sigmavirus¯\_(ツ)_/¯14:02
thomasemI'd really like to know "why" more than anything.14:02
thomasemBut, I also don't know what all goes on infra-wise. I just hope nobody is restarting it and calling it a day.14:03
sigmavirusthomasem: why gerrit? or why does gerrit leak so much memory? or ??14:03
sigmavirusour infra team interfaces a lot with the gerrit developers, but none of them are gerrit developers iirc and none quite have time to become gerrit developers14:03
thomasemGotcha14:04
sigmavirusso we report things but dont' fix them ourselves14:04
thomasemI guess all of the above?14:04
sigmavirushttps://gerrit-review.googlesource.com/#/q/status:open+project:gerrit14:04
sigmavirusSo comparing Gerrit to GitLab merge reviews and GitHub merge reviews is unfair14:04
sigmavirusBecause someone let their new born child design GitHub's review system, and GitLab's is the result of being an Open Source project aimed at "The Enterprise"14:05
sigmavirusGerrit's review system makes sense when you consider that some project's style guides (for example, Linux) include commit message styling and content requirements14:06
sigmavirusBasically, Gerrit is designed to work for most work large-scale review system workflows14:06
sigmavirusOpenStack does code review at a very large scale but in a far less 'lieutenant based' way than Linux14:07
sigmavirusLinux could, if Linus weren't a stick in the mud, begin using Gerrit today to do code review in a slightly more user-accessible way than the email system they use today14:07
sigmavirusGerrit is obviously harder to justify for smaller projects that exist entirely on their own14:08
sigmavirusAnd Gerrit is harder to adopt for teams used to GitHub's workflow14:08
sigmavirusAnd yes, feature branches, etc. make perfect sense (from GitHub's workflow)14:08
thomasemFeels like you've had this chat quite a few times.14:09
sigmavirusWhat sucks about it is that individual commits might be totally busted (per CI) and all GitHub cares about is the overall branch status14:09
sigmavirusI actually quite like gerrit but recognize that (like many tools) it's value comes from context, not absolutism14:09
thomasemI gotcha14:09
thomasemIt's all good points and definitely right tool for the right job.14:09
sigmavirusSmall teams that move fast and don't care about the project's git history, should absolutely use GitHub PRs14:10
thomasemI do like the kind of global integration and such that's present with the Gerrit setup.14:10
sigmavirusYeah, Gerrit's value in OpenStack comes from the cross-project integratio14:10
thomasemYep14:10
sigmavirusAnd that's something I've not seen in any other project14:10
sigmavirusAlso Gerrit's design makes maintaining stable branches so much nicer14:10
thomasemAlso, though cumbersome to some, I do appreciate that it enforces each commit to be an atomic piece of working software (assuming your tests are in order).14:11
sigmavirusMaintaining stable branches on GitHub using PRs and code review makes one's head spin14:11
thomasemOr, at least it tries to do that.14:11
sigmavirusthomasem: right, that was my point versus GitHub's whole branch view14:11
thomasemYeah. That always annoyed the crap out of me when people abused it.14:11
sigmavirus"working order" is only as good as your test suite =P14:11
sigmavirusso in fairness, I tend to pull branches down now on other projects and rebase the branch prior to merging it manually14:11
thomasemLol, yes14:12
sigmavirusAnd I do it such that stupid commits like "Fix flake8" or "Fix tests" are gone and each commit does work correctly14:12
sigmavirusGitHub and its existing integrations provide no way to guide someone (via automated tooling) on hwo to make sure each commit is good14:12
sigmavirusAlso reviewing commit messages on GitHub is worse than going to the dentist with a mouthful of cavities14:13
thomasemWhoa, I'm not sure I'd go that far.14:13
sigmavirusI do it anyway, but that's besides the point =P14:13
thomasemLOL14:13
sigmavirusHey, GitHub's awfulness has made me somewhat popular: https://github.com/sigmavirus24/github3.py14:14
sigmavirusI thrive on their half-assed attempts to not lose open source developers on their platform14:14
sigmavirusI can make a direct connection from that to the reason I have this job =P14:16
sigmavirusAnd of course there's GerritHub.io too14:17
thomasemHahaha, that's awesome.14:18
thomasemTIL14:20
thomasemThanks, sigmavirus14:20
sigmavirusSadly GerritHub as all the same UI flaws as Gerrit though =P14:21
thomasemI believe that's substance over flash?14:24
thomasemYeah, the UI could use some work. :)14:24
thomasemsulo: What about actually using ?vars=...&resolved-values=[true|false]?14:26
thomasemInstead of adding yet another flag14:26
sulothomasem: ?14:26
thomasemRe: https://review.openstack.org/#/c/440929/7//COMMIT_MSG14:26
sigmavirusthomasem: Google is constantly working on the UI14:27
sulothomasem: ah yes perfect, ressolved-values=T/F is used in other palaces alow14:27
sulo*also14:27
sigmavirusprobably stupid question14:27
sigmaviruswhy do cells return variables by default and hosts don't?14:27
sigmavirusis it because resolving a cells vars is easier/cheaper/there is no resolution?14:28
sulosigmavirus: on list ?14:28
sigmavirussulo: I didn't check list, but when I create a host with variables, the vars aren't returned, but they are for cells on create/update14:28
suloah gotcha, sounds like a bug14:29
sigmavirusalthough you can't update vars on a cell in a manner similar to create14:29
* sigmavirus shrugs14:29
sigmavirusI just noticed it in the integration test patch I threw up14:29
openstackgerritIan Cordasco proposed openstack/python-cratonclient master: Add tests for our cells integration  https://review.openstack.org/44551514:29
sigmaviruser rather, am throwing up14:29
thomasemI think any inconsistencies there are bugs.14:29
sigmavirusL106 in https://review.openstack.org/#/c/445515/1/cratonclient/tests/cassettes/TestCells-test_create.yaml14:29
suloyeah sounds like a bug14:30
suloit should be consistent in terms of create/list/get etc14:30
sigmaviruslist doesn't return vars14:30
suloyeah its not supposed to unless done with --details14:31
sigmavirusoh poop14:31
sigmavirusI've not tested cells.get14:31
sigmavirusheh14:31
suloget should14:31
sulocreate shouuld if you created it with vars14:31
suloupdate should too14:31
sigmavirusoh thomasem - question14:32
sigmavirusHow did we decide to expose the returned variables to users on things like cell objects etc?14:32
sigmaviruscell.variables is the manager14:32
thomasemcell.variables.get(), iirc14:33
thomasemAnd that'd return your Variables MutableMapping14:34
thomasemsigmavirus: ^^14:34
sigmavirusWill that return what was returned in the cell response, for example, or does that make a new request?14:34
thomasemMakes a new request14:34
* sigmavirus thought so14:34
sigmavirusThis means people will start using cell.to_dict()['variables'] to get at it14:35
thomasemIf only we did Variable update/delete via PUT or PATCH on the resource itself.14:36
thomasemThat doesn't jive well with variable resolution and such, though. It's all a bit confusing, if you ask me.14:37
thomasemBut, I don't have a great answer to the problem.14:38
thomasemAt least not yet. :P14:38
thomasemAt one time, I did have resource.variables point at the returned variables in the original call, but then we didn't have a good handle on updating/deleting them.14:39
thomasem'update' could be a very legitimate variable name.14:40
thomasemso could 'delete'14:40
thomasemThen again, it's the difference between a functional call and an attribute lookup... but I dunno. Maybe we could rework it to afford for using resource.variables?14:41
thomasemBoy, that whole set of patches have already left my mental queue, lol. I'd need to go back and look at what we did to see what we might do alternatively.14:42
thomasemsigmavirus: totally down for considering alternatives to the implemented solution and helping implement. I suspect we could figure something out to make that UX better.14:44
thomasemI don't like it making a separate call for information it already has, too.14:44
thomasemEspecially if they're getting variables for a group of resources.14:45
thomasemThat's just plain wasteful14:45
jimbakerthomasem, sounds good for revisiting this scheme. also how it works within the context of pruning queries (so we don't necessarily do more work than asked for)14:48
jimbakerfsaad, did we post a etherpad for today's planning meeting?14:49
fsaadyeah, sent email14:50
fsaadlemme get url14:50
fsaadhttps://etherpad.rax.io/p/craton-sprint-planning14:50
fsaadat least I think I did send that in an email :)14:51
fsaadnoticed my 'etherpad' completion pushed me to internal etherpad though, doesn't matter to me as I'm always vpn'd but if it's a problem I can move it14:51
*** Syed__ has joined #craton14:52
jimbakerfsaad, so we need to put that doc here: https://etherpad.openstack.org/p/craton-SOME-DOC-HERE14:53
jimbakerwe have at least tojuvone planning to join us today14:53
jimbakerand just need to make sure we keep this upstream in general14:54
fsaadI'll call it sprint planning and we can just keep updating to the top, pushing down the older stuff so we always have same URL does that work for all ?14:55
sulofsaad: i still dont have the invite, the meeting is i 30 mins from now yes ?14:56
fsaadhttps://etherpad.openstack.org/p/craton-sprint-planning14:56
fsaadsulo: no14:56
jimbakerfsaad, thanks!14:56
sulono ?14:56
suloi thought we were starting 30 mins early ?14:56
fsaaddo you not have the craton meeting / community specifics one either sulo ?14:56
fsaadit's from 11:30-1:00PM CDT14:57
fsaadI can do in 30 minutes if y'all want to and are available though14:57
fsaadwe need to figure out the calendar piece too, once and for all.14:57
sulofsaad: our regular meeting start in 1 hour14:57
fsaadweird I guess I have an incorrect invite then. I only have a copy of one that thomasem sent my way at some point.14:58
fsaadI can do in 30 mins if all are available, thomasem / jimbaker / sulo / sigmavirus / git-harry all good to go ?14:59
fsaadtojuvone as well, who else plans to join ?15:00
tojuvoneyes15:00
git-harry30 minutes from now if fine by me.15:00
sulofsaad: works for me15:01
fsaadgood, getting close... sigmavirus ?15:01
sigmavirussorry, wfm too15:05
sigmavirusthomasem: so I'm thinking that if /v1/cells doesn't return variables in those calls, then this becomes moot15:05
*** jovon has joined #craton15:05
sigmavirusthat said15:06
sigmavirusdetailed=True would then still cause an issue15:06
sigmavirushm15:06
* sigmavirus wonders if supporting __getitem__ on a generic resource would be bad15:06
sigmaviruse.g., then instead of doing attribute magic, you do: `cell['variables']15:07
sigmavirusor `cell['id']`15:07
sigmavirusand we proxy that through to _info15:07
sigmavirusBut I don't quite like that15:07
thomasemI don't think there's going to be a perfect solution, just the better of the bad ones. :P15:08
sigmavirusso that's a solution15:08
sigmavirusAnother is supporting a method like `get_original` that takes a string to retrieve the "original" value from _info15:09
thomasemInstead of the Variable wrapped one?15:09
sigmavirusthomasem: so right now cell.variables returns a VariableManager15:17
openstackgerritThomas Maddox proposed openstack/craton master: Variable search for resources now uses resolved variables.  https://review.openstack.org/44092915:17
* sigmavirus is starting to second guess this API design15:17
thomasemThe REST API or Python client?15:17
* sigmavirus wonders if cell.variables should return a Variable instance and if client.cells.variables.get(cell.id) is the right way15:18
sigmavirusugh15:18
* sigmavirus has to go ponder for a while15:18
thomasemGotcha15:18
fsaadthanks sigmavirus , jimbaker you around for then ?15:19
fsaadthomasem: assuming it works for you ?15:20
openstackgerritThomas Maddox proposed openstack/craton master: Variable search for resources now uses resolved variables.  https://review.openstack.org/44092915:20
thomasemfsaad: in 10 minutes?15:21
thomasemDidn't see the scrollback until now.15:21
thomasemIt's DST that messed this up, I bet.15:21
thomasemRather, me not using the exactly correct timezone in the invite.15:21
thomasemI'm cool w/ in 9 min.15:21
sigmavirusthomasem: no, I blame jimbaker for not insisting things be scheduled in UTC =P15:22
fsaadyeah 10mins15:22
fsaadthomasem: and to be frank, I don't even know which invite we're using now15:22
fsaadso doing ad-hoc for all I can tell, and wantt o fix this in the conversation today once and for all15:22
thomasemYes, please15:23
thomasemHmmm, so my invite was in UTC (Coordinate Universal Time)15:27
thomasemCoordinated*15:28
jimbakerhmmm15:28
jimbakeri don't even have an invite. it's ok15:28
sigmaviruswhat room are we doing?15:29
tojuvoneI also do not know15:29
thomasemCraton-recordable15:29
sigmavirustojuvone: are you okay using Vidyo?15:34
tojuvoneyes, if it works ok from this hotel15:35
sigmavirustojuvone: https://vc.rackspace.com/flex.html?roomdirect.html&key=OpmgbcmKWcXB31Tbl7VHgTrytb015:35
tojuvonesigmavirus, thanks, it just keep on joining in the screen15:36
sigmavirushm15:36
sigmaviruswhat OS?15:37
tojuvoneWindows + Crome15:37
tojuvoneIt worked before15:37
tojuvoneFirefox or IE better?15:37
sigmavirusthomasem: and me rocking gunnars =P15:41
thomasemYEAH!15:42
thomasemThey look nice. :)15:42
sigmavirusI quite like mine15:46
sigmavirusMid-sprint retros/meditations make sense given we're in the midst of it and can course correct/test easier than otherwise15:50
sigmavirusSo who's done remote retros before and who has suggestions for remote retro tooling?15:55
jimbakersigmavirus, notes + possibly storyboard to track15:56
jimbakernotes on this etherpad: https://etherpad.openstack.org/p/craton-sprint-planning15:56
* sigmavirus waves to jovon16:05
jovonhey there16:06
sigmaviruspwnall138: threading16:07
sigmaviruspwnall138: https://toolbelt.readthedocs.io/en/latest/threading.html16:08
sigmavirusso my back-of-the-envelope guesses were correct16:08
* sigmavirus feels like Nostradomus16:08
jimbakernice16:10
sigmavirusthomasem: will you supply the fireplace?16:39
sigmavirusWe could all hop on http://conferencecall.biz/ for road-map planning though16:39
sigmavirusjimbaker: we're over time16:59
thomasemsigmavirus:  of course17:03
fsaadmissed the last conversation piece, re: https://etherpad.openstack.org/p/craton-sprint-planning -L35-47, do we get names tacked on each task before we create the LP's for them ?17:12
jimbakerfsaad, we let people pick up these items from LP17:17
jimbakerby virtue of proposing a change into gerrit, they get the formal assignment17:17
fsaadcool so just create new milestone and drop those there, then each picks their own. o/17:18
jimbakereverything else is done informally - i know that you're working on X, so may want to coordinate with you. but hopefully to prevent sitting on X17:18
jimbakerhope that makes sense!17:18
fsaadcool thanks jimbaker !17:18
jimbaker(i was one of the big violators of this approach btw - i knew X is something i could really help out on, but given i was working on Y and Z as well... X wasn't getting done by me, nor anyone else)17:19
fsaadgotcha, yeah squatting a ticket ;)17:20
jimbakerexactly17:20
jimbakeralso this gets into a different approach, which thomasem does a great job of, which is to push up changes early into gerrit17:21
jimbakerjust mark as WIP, but now there's something - and now we actually a real WIP recorded in the bug system17:22
jimbakerso all good stuff!17:22
jimbakerupdated the discussion of resolution ordering on how we treat device sharing. hopefully this is rare, and vars don't conflict, but we can come up with a scheme that is robust if they do18:02
tojuvonejimbaker, I updated something on the ops etherpad. Otherwise there is not much than now or tomorrow for me to catch up what to talk/present18:08
jimbakertojuvone, ok, i must update18:09
tojuvoneI think it is less about the entherpad, but more about the things to go trough18:10
tojuvone35-40mins, if people do not have things to ask/talk straight, it would be more presenting where we are and what is coming18:12
tojuvoneand if to demo, would be nice to have that fluent sulo presentation to show / or do the same in live.18:16
*** jovon has quit IRC18:22
jimbakerthomasem, i worked through shared devices some more, and it's interesting. conclusion: i think there's no "right" solution, so it's likely we are going to have to punt to the client/richer variables model18:30
jimbakersee the updates in https://etherpad.openstack.org/p/craton-sprint-planning18:30
jimbakerok, next up, the etherpad/demo planning for milan. then i will get back to dev work18:40
tojuvonecool, although it is out the dev work18:42
jimbakerthe dev work will take care of itself! just need to do the juggling18:44
tojuvonePlease be free to update, just made it something more than template19:26
thomasemjimbaker: looking20:40
jimbakertojuvone, thanks!20:53
jimbakerthomasem, feel free to pepper me with questions20:53
jimbakerit occurs to me that it might be a whole lot better to implement the functionality of https://bugs.launchpad.net/craton/+bug/1665050 in the client20:53
openstackLaunchpad bug 1665050 in craton "Support alternative variable overrides" [Undecided,New]20:53
jimbakergiven that, we probably will never get it right for some need20:54
jimbakerso might as well provide all the info that alternative strategies need20:54
thomasemWell, I am wondering how we're going to represent multiple values since a value can actually be a list.20:54
jimbakeror a dict20:55
thomasemright20:55
thomasemIt can be a string, list, or dict.20:55
thomasemor bool20:55
thomasemor int20:55
thomasemor float20:55
jimbaker:)20:55
jimbakeror None20:55
thomasemYep20:55
jimbakerdon't forget it. it always gets forgotten :)20:55
thomasemHaha, right20:55
thomasemPoint being... how do we represent multiple values for a variable if the value of a variable can be a list?20:56
thomasemUnless values is always a list of possible values20:56
jimbakeryeah, so clearly there's extra content that can be associated with a given key20:56
jimbakerblame info, audit history, etc20:56
thomasemYeah20:56
jimbakerand now we want to extend this further and say, what about your multiple parents?20:57
jimbakerso step back20:57
jimbakerwhy sharing20:57
jimbaker?20:57
thomasemI still don't quite get that anyway...20:57
jimbakeri don't think it's so something complicated var resolution strategy can apply... ;)20:57
jimbakerinstead, it's in this cloud context: this device does such-and-such20:58
thomasemAre you positing that we don't allow resolution on shared devices?20:58
jimbakerand in some other cloud usage: it's doing something different20:58
jimbakeri'm thinking it's really contextual20:58
thomasemSo, how would you expect a shared device to be used?20:59
jimbakerso because i'm considering this device is used in some cloud, i care about the vars for that cloud20:59
thomasemOh, right, yes.20:59
jimbakerwith cloud: do something?21:00
jimbakeri don't know21:00
thomasemBut, what if a root level is querying?21:00
thomasems/root level/root user/21:00
jimbakerthen it sees everything21:00
jimbakerand has to deal accordingly21:00
jimbakeri mean it's not a simple picture21:00
thomasemRight, but how does it see everything when we can't properly represent resolved variables for shared devices? At that point we still have to solve for this, and it's not able to easily be scoped contextually.21:01
jimbakeri didn't say i was solving anything in a nice easy way with alternative #121:01
jimbakerit just seemed that other, nicer solutions like #3 (use C3) might be solving a different problem21:01
thomasemYeah21:02
thomasemRegarding MRO, that only works out alright because the developer specifies the primary parent to inherit from, regarding multiple inheritance. It's far more ambiguous with stored data without a guaranteed order.21:02
jimbakerso sharing is actually messy21:02
thomasemVery21:02
thomasemBecause it fundamentally undermines the way resolution is supposed to... well, resolve. :)21:03
jimbaker:)21:03
jimbakeryeah, it was such a beautiful fairy tale21:03
thomasemWe could merge values... but that gets hairy, too, since they may not be the same data type.21:03
thomasemRather, lemme revise that, the merging may not be viable period21:04
thomasemdue to the data type21:04
thomasemIf it's dictionaries, sure.21:04
jimbakerindeed. that's why punt to the client seems like such a viable answer21:04
thomasemlists, maybe21:04
jimbaker"lists as sets"21:04
jimbakerso i don't know21:04
thomasemSame21:05
thomasemThe only thing that seems to work for all cases that I can think of so far, I don't like. And that'd be making it so value is always a list of values21:05
jimbakeryou mean, like a join?21:05
thomasemBut, then you have the attribution problem, which I suppose one would need to go to the blame API for?21:06
jimbakerso that's why i think the blame interface is the only real solution21:06
thomasemFrankly, I feel like the shared device use-case isn't understood all that way, but that could just be me.21:06
thomasemall that well*21:06
thomasems/all that way/all that well/21:06
thomasemSorry21:07
jimbakerclearly we need to bring in domain users here21:07
thomasemI think it'd be helpful. I want to know what they'd expect to see.21:07
thomasemI wonder if Ansible has any solution?21:07
thomasemwith group_vars and such... like how do they deal with that?21:07
thomasemSeems like they'd have to scope to something.21:07
jimbakeriirc ansible's model is too simple21:07
thomasemWhich goes back to your comment about it being contextual21:07
jimbakerbut puppet hiera is ambitious enough to possibly include21:08
thomasemmeaning we wouldn't have to worry if we could derive from the context which value to favor, as it'd be a part of the query already.21:08
jimbakeryes21:08
thomasemis only ever shared between clouds?21:08
thomasemOr can it also be shared between, say, cells... regions?21:08
jimbakerpossibly regions or cells21:08
jimbakeronly happens with smaller envs21:09
jimbakerbut test cloud vs dev cloud21:09
jimbakerthat sort of thing21:09
thomasemYeah, so that makes it _really_ difficult to scope. Because now it would require the root user to have prior knowledge in order to scope it... kind of undermines this whole thing.21:09
thomasemAt multiple levels of the cloud21:09
thomasemnot just the cloud itself21:09
jimbakeragain the whole point of the vars model is to provide a loophole of, we don't know what you want to do with your cloud(s), but we will provide some supporting infra21:10
thomasemSo... what do we do? I think we ought to go to the users and ask how they plan to use shared devices and this time dig in more.21:11
jimbakeranyway.... i raise this so we can start thinking about approaches. but my preferred alternative this moment is #1 and somehow let the client handle, with the api server providing a blame api21:11
jimbakerthomasem, agreed21:12
thomasemLet me see if I understand approach #121:12
thomasemMmmm, actually, I'm not sure I have an understanding yet. So... you're suggesting that we some how attribute the ambiguity to the parent it belongs to. Say, some how attribute the variable(s21:14
thomasem)21:14
thomasemthat are shared to the differing parent21:14
thomasem(side note: why did we go with resolved-values instead of resolved_values?)21:15
jimbakerthomasem, small stuff like that slips through reviews, and it does feel inconsistent21:19
thomasemWell, also can't pass it as **params to self.get :)21:19
thomasemBecause... yeah, python identifier21:19
jimbakeryeah21:19
jimbakerso we should fix21:19
thomasemMmmkay. Will file a bug.21:19
jimbakernow is not the time to say we are stuck with v1 of our API21:20
jimbakerwe are trying to stabilize the db... that's our level of maturity21:20
thomasemcool21:22
thomasemhttps://bugs.launchpad.net/craton/+bug/167288021:22
openstackLaunchpad bug 1672880 in craton "inconsistent URL param name, "resolved-values"" [Undecided,New]21:22
jimbakerthomasem, thanks21:22
thomasemyou betcha21:22
jimbakerok, so let's table this conversation on shared devices until tomorrow if that's ok21:23
thomasemSure21:23
jimbakerneed some rumination i think...21:23
thomasemNo worries. I have to entertain this evening, so will need to step away shortly to get some cleaning done.21:24
thomasemWow that sounded bad. I'm going to entertain and want to. Nothing about it is an obligation. :P21:24
jimbakerthomasem, no full confession required ;)21:29
thomasemLol21:29
thomasemElsa is chasing her tail so enthusiastically.21:35
thomasemShe used to be able to catch it, poor thing.21:35
antonymis there a hidden --verbose flag for the cratonclient by chance?21:43
antonymnovaclient had one which was useful for seeing the url being called on the request21:44
thomasemantonym: not yet: https://bugs.launchpad.net/python-cratonclient/+bug/166673421:44
openstackLaunchpad bug 1666734 in Craton's Python Client "Support debug logging for client/CLI" [High,New]21:44
antonymah, sweet21:44
thomasemYeah, I can certainly agree it's annoying right now not having that.21:45
antonymyeah, luckily the debug on the server output is useful21:45
thomasem:) good!21:45
antonymbtw, dropped a bug for the client, seems to let host-deletes work all day even if the id doesn't exist21:46
antonymhttps://bugs.launchpad.net/python-cratonclient/+bug/167257021:46
openstackLaunchpad bug 1672570 in Craton's Python Client "craton host-delete shows succesfully deleted if item does not exist." [Undecided,New]21:46
thomasemYeah. I remember during some dev I quickly threw a traceback formatter here: https://github.com/openstack/python-cratonclient/blob/master/cratonclient/shell/main.py#L20021:46
thomasemto help some21:46
antonymah, cool, maybe i'll give that a whirl21:47
thomasemantonym: https://review.openstack.org/#/c/427032/39/cratonclient/shell/main.py21:48
thomasemHelped me at least get the traceback when things went wrong. But, yeah, we really need verbose logging for http, etc.21:49
thomasemAllllrighty. Have a lovely evening, y'all!21:55
jimbakeryeah, let's get this done in this bug in the upcoming cycle. along with other fit & finish bugs that are out there22:02
jimbakeras we have time22:02
jimbakerthomasem, have a good one!22:02
antonymhmm, get this trace on a host show after resetting the db and using the bootstrap command: https://gist.github.com/antonym/d23c766d6673e6873335ae76ed57e94e22:55
jimbakerantonym, that means that the variable association table is missing an entry22:55
jimbakerof course the whole point of using the bootstrap command is to provide said entries22:56
jimbakerby avoiding direct mysql22:56
antonymhttps://gist.github.com/antonym/7e7b40b264c5e159f4f482affc7e1bce ?22:56
antonymthat one?22:56
jimbakerantonym, that's the one22:57
jimbakerlooks like it's making one for each entry22:57
jimbakerreally need to get my alembic script merged in22:57
antonymyeah, so i pulled latest master, and ran the upgrade and bootstrap22:57
jimbakerantonym, you want to try that out22:57
jimbakerit should prevent errors at least22:57
antonymsure22:57
jimbakerhttps://review.openstack.org/#/c/441644/22:58
antonymsame22:59
antonymstill tossed the exception with that patch22:59
jimbakerok, it didn't reject that constraint23:00
jimbakerok, at this point we need to try to reproduce exactly your build script23:00
jimbakersorry, meant to say, new constraints didn't reject whatever would cause that problem. or something like that :)23:00
antonymhttps://gist.github.com/antonym/12611a83d10e199f2458229890ae436223:02
antonymthat's pretty much it23:02
jimbakerantonym, ok, i see what's going on23:03
antonymdid i goof?23:03
jimbakerwe don't want you creating anything with mysql :)23:03
jimbakerso, yes23:03
antonymah, ok23:03
antonymthat was left over from the previous build script23:03
jimbakertechnically you could but you need to obey all the constraints23:03
jimbakerin the modeling code23:03
antonymok, so let me retry and use the client to make the users23:04
jimbakeryeah, that's the way to do it. thanks!23:04
jimbakerv1/users and v1/projects. should give you all the functionality23:04
antonymk23:04
antonymah, so it's not creating the variable assoication ids23:05
jimbakerexactly23:05
antonymgotcha23:05
jimbakerand without those, you are violating the model23:05
antonymyeah23:05
jimbakersince we are about to enhance the model further with rbac... really need to go through the api to build stuff23:06
antonymyeah, agree23:06
jimbaker(it will have similar assoc tables. nothing so complex mind you.)23:06
antonymi think this was a copy pasta thing i did a while ago23:07
jimbakerno worries, glad we could quickly debug23:07
antonymyep, thanks!23:07
antonymso i guess creating a user puts them in the default project currently?  can you specify the project you want to create the user in?23:26
antonymhttps://gist.github.com/antonym/13b16c4673e9056c8f6792420b2764ef so i'm guessing you post project_id along with user?  it still seems to want to throw it in the default bootstrap project23:44

Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!