Monday, 2017-03-06

*** VW has joined #craton00:15
*** VW has quit IRC00:36
*** VW has joined #craton00:38
*** VW has quit IRC01:59
*** VW has joined #craton01:59
*** VW has quit IRC02:08
*** VW has joined #craton02:21
*** VW has quit IRC02:26
*** VW has joined #craton03:44
*** VW has quit IRC03:44
*** VW has joined #craton03:44
*** VW has quit IRC03:47
*** VW has joined #craton03:47
*** tojuvone has joined #craton04:14
*** VW has quit IRC05:36
suloo/09:47
*** openstackgerrit has quit IRC10:33
*** openstackgerrit has joined #craton11:26
openstackgerritSulochan Acharya proposed openstack/python-cratonclient master: Include parent_id by default in devices  https://review.openstack.org/44188811:26
suloreally simple review pls ^^^11:27
thomasemo/13:27
*** VW has joined #craton13:41
*** VW has quit IRC13:45
antonymif i wanted to track a list of all of the macs for a device, is that something that i could put under the vars for a host?  and could i search for that list given just the mac?  also, where would the best place to store the other attributes that belong with the ip address, like netmask, gateway, dns, etc ?14:05
suloantonym: heh, so i did start modeling a network interface / network device and networks separately a while bac14:06
sulohttps://github.com/openstack/craton/blob/master/craton/db/sqlalchemy/models.py#L44614:06
sulobut it needs a bit more work tbh14:06
antonymyeah, i noticed that but it didn't look like it had any linkage from the host14:07
sulothe idea was to link host to interface14:07
suloi think thats missing14:07
sulobut i wants sure what properties we wanted either14:07
suloi did try to ping a few network folks to get some feedback but didnt get too far14:08
suloantonym: if you havea req .. i can work on that14:08
suloits somehting i wanted to clean up anyway14:08
antonymyeah, main use case is to blindly discover a host booting, push it's macs up and create a record with all attributes from a server, and then the next time it boots, it could use the mac to relook up the exist record14:08
sulogotcha14:09
antonymip info so that i can pull everything to configure an interface given that host record14:09
antonymcould probably shove all the networking info in as vars for now, but if i want to search by macs, it'd probably be nice to search for a list of vars so i don't need mac1, mac2, etc14:11
thomasemsulo: how does the commit message need to be updated here: https://review.openstack.org/#/c/427032?14:11
thomasemI thought I had updated, wondering what I missed?14:12
suloantonym: ack14:12
sulothomasem: ah, i saw craton host-vars-get 3 x=true y=47 z=foo/bar w=3.14159 so i thought that was not implemented and from old patch ?14:13
sulounless thats set ?14:13
sigmavirussulo: that looks like set14:25
thomasemsulo: Ohhh, I didn't see that. Thank you, lemme update.14:26
fsaadmorning guys!14:27
thomasemhey fsaad!14:27
fsaadhi thomasem14:27
openstackgerritThomas Maddox proposed openstack/python-cratonclient master: Add variables support for remaining resources  https://review.openstack.org/44162714:27
openstackgerritThomas Maddox proposed openstack/python-cratonclient master: CLI and client support for get/set/delete of resource vars  https://review.openstack.org/42703214:27
thomasemsigmavirus: jimbaker: Took away that nested/recursive conversion for the Variables dict and turned it into just the top-level being wrapped in a Variable object.14:28
thomasemsulo: updated commit message14:29
sigmavirusthomasem: +114:29
thomasemLol whatta patch14:30
thomasemTruly a team effort.14:30
*** VW has joined #craton14:49
*** VW has quit IRC14:49
openstackgerritMerged openstack/python-cratonclient master: Include parent_id by default in devices  https://review.openstack.org/44188814:50
*** VW has joined #craton14:50
*** VW_ has joined #craton14:51
*** VW has quit IRC14:51
*** VW_ has quit IRC14:53
*** VW has joined #craton14:53
*** VW has quit IRC14:54
*** VW has joined #craton14:55
*** VW has quit IRC14:56
*** VW has joined #craton14:57
*** VW has quit IRC14:58
*** VW has joined #craton14:58
jimbakerthomasem, thanks so much for taking on that vars patch. looking just about there!14:59
jimbakerand yes, truly a team effort14:59
sigmavirusCourtesy reminder, meeting in #openstack-meeting-4 in 1 minute14:59
*** VW has quit IRC14:59
sigmavirusthomasem: want me to chair this one?14:59
thomasemUp to you. I just got the etherpad set up.15:00
thomasemAre you eager to chair?15:00
jimbakerjust waiting for the previous meeting to end it looks15:00
sigmavirusthomasem: eager to chair? not really =P but I'm happy to do it if you have feedback from jimbaker to addres15:00
thomasemOh, none that's come through yet.15:01
thomasemAppreciate it!15:01
jimbakersigmavirus, thomasem - not yet, i just took the briefest of looks15:01
jimbakerwill do so in depth once we are done w/ the upcoming meeting15:01
openstackgerritSulochan Acharya proposed openstack/craton master: Fake Data: Add labels to devices  https://review.openstack.org/44198115:14
*** david-lyle has quit IRC15:20
sulofsaad: demo dry run ?15:34
fsaadyeah just go over it before the actual demo15:34
suloso i was going to set it up in that box15:34
sulobut for some reason i couldnt get in15:34
fsaadwut15:34
sulobut setup is as easy as running the docker file15:34
fsaadroot pw I handed didn't work ?15:34
sulocommands15:34
sulofsaad: no15:34
jimbakerfsaad, sulo, i will let you take that on15:35
sulofsaad: also15:35
sulowhere does the presentation fit here15:35
sulofsaad: do you want to do that first then do the demo ?15:35
jimbakersulo, btw, just so you know: user construction is stricter with the schema change i made in https://review.openstack.org/#/c/441644/ - see https://review.openstack.org/#/c/441644/2/tools/docker_run.sh15:36
sulofsaad: not sure i followed what format we wanted15:36
jimbakerthomasem, ^^^15:36
fsaadthe intent of the presentation as I understood it was just to go over each UC slide and demo the functionaliity15:36
fsaadis what I understood really15:36
jimbakertrying to avoid future bugs where the data model is out of sync with the database15:36
fsaadthe slides don't have to have any meat to them, it's just a title for us to use as guideline on what to demo15:36
sulojimbaker: stricter in what way ?15:37
jimbakeras in the same bug we saw in projects if it didn't have a variable association15:37
sulogotcha15:37
jimbakerwe also mix in variables with users15:37
suloi am running master for demo so i havet hit any new patch15:38
jimbakeranything that mixes in variables MUST have a corresponding variable association. the foreign key constraints now enforce this15:38
jimbakersulo, no worries, just in case you try it out. alembic change is only for production stuff, doesn't change anything demo wise15:38
sulojimbaker: thats good. we just need to smooth the bootstrap user/project thing15:39
suloor atleast document it on the intended usage etc15:39
suloi believe project-create or user-create does the right things15:39
suloso that first user should really be use and throw15:39
jimbakersulo, yeah, i think if we do something like https://review.openstack.org/#/c/441644/2/craton/tests/functional/__init__.py15:39
jimbakerbut instead it generates high quality crypto credentials, and reports back, that would suffice15:39
thomasemjimbaker: yeah, an initial data migraiton should set that up15:40
jimbakerbut not dbsync itself15:40
thomasemwas the idea we had discussed previously15:40
thomasemWhy?15:40
sigmavirusbrb15:40
thomasemWhere else are you going to bootstrap that?15:40
thomasemIf you make it a part of the base version of the DB, you won't accidentally re-bootstrap on start or anything... otherwise you have to do that logic in the code.15:41
jimbakerthomasem, i suppose we could add some state info to dbsync15:41
jimbakerand get at what you want15:41
suloit should be aapart of the carton-dbsync command15:41
thomasemYeah15:41
suloand to remove them too15:41
jimbakeranyway, the important thing is: only use the model code to construct objects. done.15:41
thomasemsulo: how will we then be able to create a root user for legitimate root purposes?15:42
thomasemLike adding projects15:42
thomasemIf we bootstrap, set up, and then remove said bootstrap user15:42
thomasemYou don't want an admin user to have the privileges to create root users15:42
sulocreate a root user using project create or user craete commands15:42
sulousing the initial root user15:42
thomasemRight15:42
jimbakerfor all of this, we should only use the rest api15:42
thomasemI thought you were saying to create the bootstrap user do some migration stuff, then delete it15:43
thomasemI misunderstood, sulo15:43
jimbakerso the initial bootstrap user is constructed15:43
jimbakerwe get back its token with a high entropy secret15:43
thomasemjimbaker: correct, and to do that, we need to apply some RBAC around the user creation and add support for creating a root user with that API.15:43
jimbakereverything else can go from there15:43
*** Syed__ has joined #craton15:44
jimbakerif you want, you as the craton deployer can delete this bootstrap user15:44
jimbakeranyway... may i suggest this is a topic for tomorrow? :)15:44
thomasemSure15:44
jimbakersorry, very interesting stuff15:44
jimbakeradding to tomorrow's topics...15:44
thomasemIt's cool. You linked the review, man. :P15:44
sulofsaad: so do you want ot quickly go throughthose at first then i will do the demo15:45
thomasemawesome, looking forward to it15:45
fsaadsulo: can do that, all we wanted was to stick to the subject and go in order iirc from last demo, which happened to start jumping through subjects and didn't allow us to get much done15:46
fsaadso I think it'd be good to make sure questions are asked at the end, and we demo each one of the use cases at a time in order that's all15:46
jimbakerright, so just make sure we do the classic presentation:15:46
fsaadwill the bulk export be demo-able? https://bugs.launchpad.net/python-cratonclient/+bug/1667109 ?15:47
openstackLaunchpad bug 1667109 in Craton's Python Client "Allow environment export from client" [Undecided,New] - Assigned to Ian Cordasco (icordasc)15:47
jimbakertell me what we are going to say (or in this case, demo), specifically with respect to workflow; demo; tell them what we have demoed15:47
*** VW has joined #craton15:47
jimbakersigmavirus, looks we should unassign that to you15:47
jimbakerfsaad, just fixed up the labels on https://bugs.launchpad.net/python-cratonclient/+bug/166710915:48
openstackLaunchpad bug 1667109 in Craton's Python Client "Allow environment export from client" [High,New]15:48
jimbaker(not going to demo today)15:49
fsaadboo15:49
jimbakersorry15:49
fsaadit's all good ;)15:50
* fsaad silently removes slide from presentation hoping no one notices15:50
suloheh, there no bulk anything ;)15:51
*** VW has quit IRC15:51
jimbakernot yet. let me add to tomorrow's meeting15:51
thomasemlol fsaad15:53
thomasemjimbaker: you have a lot of stuff assigned to you at once... are those all small changes, or are you feeling like you could use some cover there?15:53
thomasemAsking, because, I'll probably be looking to snag things in the next day or so.15:54
* thomasem is overusing commas again15:54
thomasemhttps://launchpad.net/craton/+milestone/v0.1.015:55
thomasemLooking there15:55
jimbakerthomasem, brb15:55
thomasemokay.gif15:55
fsaaddoes the bulk export really belong in the client ? thinking it's simpler to do it there but if we're gonna put the work might as well be in the server, unless there's some technical reason I'm oblivious to now15:56
thomasemfsaad: there is this https://bugs.launchpad.net/craton/+bug/166171415:57
openstackLaunchpad bug 1661714 in craton "Bulk endpoint for working with resources" [High,Confirmed]15:57
thomasemI think we're going to address that server-side. I suspect the client implementation is to get something a bit quicker while we design and implement something server-side.15:57
thomasemAt least, that was my understanding. I have been wrong many times before.15:58
fsaadyeah same thomasem thanks15:58
fsaadsulo: wanna do a quick chat ?15:58
*** VW has joined #craton15:58
sulofsaad: sure, in 5 mins .. just going to get a cup of tea15:59
sulo?15:59
thomasemMmm, and biscuits?15:59
fsaadyeah will do the same15:59
fsaady'all welcome to join just want to chat about the demo and if I can help with anything btw15:59
*** VW has quit IRC15:59
sulothomasem: yes, for sure15:59
*** VW has joined #craton16:00
thomasemSo awesome16:00
*** VW has quit IRC16:01
*** VW has joined #craton16:01
*** VW has quit IRC16:02
*** VW has joined #craton16:02
sulofsaad: i am in your room16:07
*** VW_ has joined #craton16:07
*** VW has quit IRC16:10
jimbakerthomasem, just removed myself from https://bugs.launchpad.net/craton/+bug/166830816:16
openstackLaunchpad bug 1668308 in craton "orphan variables on host delete" [High,Confirmed]16:16
openstackgerritgit-harry proposed openstack/craton master: Remove networks validation duplicate details key  https://review.openstack.org/44201516:17
jimbakeri was naively thinking that my alembic work could also support on that, but it should be done at a higher level in model code16:17
jimbakerit should be a straightforward fix however16:17
*** david-lyle has joined #craton16:17
thomasemjimbaker: gotcha. Okey doke! Responsibility is one of my top strengths, so I'm especially sensitive to someone taking on too much for some period of time. :P16:17
jimbakerthomasem, other than that, i do own all of those other bugs16:17
thomasemIf you can do all of that at the same time, cool. But, yeah.16:18
jimbakeralthough if someone had some spare cycles to implement testing for https://review.openstack.org/#/c/440929/, i wouldn't mind16:18
fsaadcloudnull: around to join a vidyo call ?16:18
fsaads/around/available/16:18
jimbakerbut it's on top of that existing review of course16:18
jimbaker(this time, i don't think it's also, completely refactor the WIP code, as we saw with vars in the client...)16:19
cloudnulli am. is it now ?16:19
jimbakerand speaking of that, time to do that review16:19
cloudnulland where?16:19
fsaadcloudnull: we're in vidyo in my channel, if you can make it16:19
cloudnulljoining16:19
*** david-lyle has quit IRC16:22
openstackgerritThomas Maddox proposed openstack/python-cratonclient master: Add variables support for remaining resources  https://review.openstack.org/44162716:39
openstackgerritThomas Maddox proposed openstack/python-cratonclient master: DRY out Variables shell tests  https://review.openstack.org/44202616:39
openstackgerritThomas Maddox proposed openstack/python-cratonclient master: Adds remaining shell tests for variables  https://review.openstack.org/44202716:39
openstackgerritThomas Maddox proposed openstack/python-cratonclient master: DRY out Variables shell tests  https://review.openstack.org/44202616:46
openstackgerritThomas Maddox proposed openstack/python-cratonclient master: Adds remaining shell tests for variables  https://review.openstack.org/44202716:46
thomasemOhhh yay! It's getting a little sunny outside. I think I know a furball that wants a walk. bbiab for lunch.16:53
openstackgerritMerged openstack/craton master: Remove networks validation duplicate details key  https://review.openstack.org/44201517:05
*** david-lyle has joined #craton17:18
*** david-lyle has quit IRC17:24
*** david-lyle has joined #craton17:30
*** jovon has joined #craton17:44
sulohey fsaad can you give me that link to the scrip again17:44
sulovidyo sucks with keeping history17:44
fsaadno probs, sec17:45
fsaadhttps://github.com/osic/ops-generic/blob/master/tools/osa_import_for_craton/osa_import.py17:45
fsaadhey guys I'm going to change the meeting room to allow Syed to join externally17:45
thomasemback17:47
thomasemthanks jimbaker!!17:47
fsaadwb thomasem17:47
thomasemwty fsaad17:47
jimbakerthomasem, thanks for all that hard work on the vars stuff, nice to see it work so well!18:01
jimbakernoticed we need to update our README.rst on the client, https://github.com/openstack/python-cratonclient (was just checking commit & mirroring progress)18:01
sigmavirusjimbaker: yeah, we need to set up the infra jobs to publish docs I think18:02
jimbakeryep, sounds good to me18:04
openstackgerritThomas Maddox proposed openstack/python-cratonclient master: Ensure consistent variables behavior across  https://review.openstack.org/44209918:10
openstackgerritThomas Maddox proposed openstack/python-cratonclient master: Ensure consistent vars shell behavior across resources  https://review.openstack.org/44209918:11
thomasem^^ uses the same test code across all resource for variables shell tests18:12
thomasemjimbaker: you bet!18:15
jimbakerthomasem, doing a fast follow! :)18:15
thomasemlol, yes indeed18:16
thomasemOn my walk I said to myself, "Wow... that was pretty crummy copying all of those test around. Should be the same behavior everywhere, let's ensure that."18:16
jimbakerwhich sounds good to me. to be honest, i did some opportunities for refactoring. but i also decided, working and pretty good code now, better code in the future! :)18:17
jimbaker*did see*18:17
thomasemAgreed. This one was so straightforward it seemed silly not to just take the 5 minutes.18:17
thomasemBetter to start off on the right foot18:17
thomasemSee several things I'd change even in that patch, but I could iterate all day. We have other priorities.18:18
jimbakerindeed. the good before the perfect. but perfectibility, i'm all in favor of that. *it is a process*18:18
thomasemmhmm18:18
thomasemAlright, onward!18:19
openstackgerritIan Cordasco proposed openstack/python-cratonclient master: Add testing plan to specifications  https://review.openstack.org/44210218:19
*** VW_ has quit IRC18:19
openstackgerritIan Cordasco proposed openstack/python-cratonclient master: Add testing plan to specifications  https://review.openstack.org/44210218:28
sigmavirusjimbaker: you have feedback on I1f84c29610127de12c292a210fd003ae07bd646218:29
jimbakersigmavirus, yeah, responding. i don't know about 64 or 50 (or maybe 45) for ipaddr fields18:32
jimbakeri didn't actually change that value with this update18:33
sigmavirusjimbaker: just wondering why you chose 6418:33
sigmavirusah18:33
jimbakeryeah, sorry, that was potentially a separate change. but we have a mix of automated script building + manual changes18:33
jimbakerand i wanted to make it consistent to the extent i could with how it's done in models.py18:34
jimbakerthe other thing you mention is respect to breaking out the sql changes in docker_run.sh18:35
jimbakerso to summarize a comment i'm making, plus a bug report - we should not do this in sql at all18:35
openstackgerritMerged openstack/python-cratonclient master: Ensure consistent vars shell behavior across resources  https://review.openstack.org/44209918:35
jimbakerit should be done in one level up, using model code18:35
jimbakerthe sql in docker_run.sh is not portable, and it's not good long run. we need this done with something that dbsync can call, and maybe it's just exposed by dbsync18:36
jimbakerbut cryptographically sound credentials are generated for the bootstrap user, etc18:36
jimbakerso that change in docker_run.sh was necessary purely because it was violating the contract for the users table, as implied by models.User18:38
* sigmavirus wasn't aware we cared about portability at this point in time18:39
openstackgerritMerged openstack/craton master: Fake Data: Add labels to devices  https://review.openstack.org/44198118:39
jimbakeroh sure. except this is the only usage that's not portable18:39
sigmavirusSure, but portability isn't something OpenStack in general is concerned about18:39
jimbakermore importantly, the other concerns about gen credentials are more immediately germane18:39
sigmavirusGiven MySQL/Maria are the (far and away) dominant databases in use by OS operators, I don't think we should care18:40
jimbakerbrb, upcoming demo & all18:40
openstackgerritMerged openstack/craton master: Documentation Fix for Region Create  https://review.openstack.org/44079018:40
openstackgerritMerged openstack/craton master: Minor Documentation Cleanup  https://review.openstack.org/42979718:41
jimbakersigmavirus, postgresql has better json support, but weaker clustering, than mysql. i like to keep us competitive by not locking in against a specific db as they evolve over time19:02
sigmavirusjimbaker: I personally quite prefer Postgres over MySQL/Maria. That said, I expect operators to leverage existing infrastructure in their clouds, which is overwhelmingly MySQL/Maria19:03
sigmavirusI'm basing all of this on the User-Survey results19:03
sigmavirusSo I think, until we have actual Postgres users, we should document our existing mysql/maria nonsense prominently so people can actually bootstrap their installs.19:04
jimbakersure. anyway, the portability of sql is the weaker arg. the more important thing is to go against the models level; and to use python for that19:04
*** VW has joined #craton19:41
sigmavirusAlways blame dusty19:42
jimbakersigmavirus, sounds like a standing agenda item for our meetings: #topic blame dusty19:56
sigmavirusIt'd be funnier if dusty were in those19:56
jimbaker+1. need to make that change19:57
jimbaker:)19:57
fsaadhey guys wanted to chat about the inventory load script, and together with it the querying capabilities of craton for those imported variables20:26
fsaadI sort of chatted with thomas a bit already, and will create a ticket as well20:26
fsaadbut I think what will be required from the import tool is that all the ansible facts are loaded into craton in a way that are searchable, I used as an example hard drive manufacturer with him20:27
fsaadusing as example, the import tool should load the ansible facts like this "hosts.host[0].hardware_profiles.disks.disk[0].manufacturer=>'seagate'"20:28
thomasemI think we can store that, just can't yet query specifically for that?20:28
fsaadsuch that the user can query "which of my customers have hard drive==seagate" in order to plan for maintenances and the like20:28
sigmavirusfsaad: so, ansible doesn't have that information by default20:28
fsaadacross clouds of course20:28
fsaadsigmavirus: the manufacturer is an example, but I think the full info gathered by the setup module would be a great start20:29
sigmavirusthomasem: jimbaker how does one query vars that are nested?20:29
sigmavirusfsaad: sure20:29
thomasemThat's the problem20:29
sigmavirusAnd that information would be discoverable20:29
thomasemthe data model doesn't exactly support it20:29
sigmavirusthomasem: that's what I thought20:29
sigmavirusso the variable/metadata info will need to be rather flat for queries like that to be useful20:29
thomasemYeah20:30
fsaadzz_pwnall138: ^ relevant to our earlier conversation btw20:31
sigmavirusfsaad: I think zz_pwnall138 is sleeping on the job20:31
thomasemLol20:31
fsaadsigmavirus: well the import script could flatten the environment as such right, like flatten the nested environment name to something like key1.key2.key3?20:31
fsaadinstead of key1:{key2:value{key3:value}}}20:32
* fsaad hopes he closed all '{'s20:32
fsaadoh I closed more20:32
sigmaviruslol20:32
fsaaddon't know, up for discussion obviously20:33
sigmavirusfsaad: depends on who writes the import script =)20:33
fsaadtrue, well end goal is to be able to search for those values independent of each other right, so which structure makes more sense ?20:33
fsaadlike right now zz_pwnall138 wrote it in a way that all facts are dumped as a single key=>v, where v is the json blob of all facts20:34
fsaadwhich meets requirement of storing those in craton, but doesn't allow for the customer/support rep to search / filter across customers that meet a particular set of values20:34
sigmavirusfsaad: right20:34
sigmaviruswell the other thing, is how the data about the harddrive manufacturer gets there20:34
sigmavirusbecause let's say we have some little piece of junk that is run by cron on thet customer server that detects that info and updates craton20:35
sigmavirusif it does that, I'd expect it to do something like harddrive.sda.manufacturer = seagate20:35
sigmavirusthe problem still occurs that you won't be able to say 'harddrive.manufacturer = seagate'20:36
thomasemThe problem is, if you have other keys somewhere along there, it won't match correctly... You couldn't search for {key1: {key2: {key3: value}}} and get back what you expect if the stored data is: {key1: {key2: {key3: value, key4: value}}}, for instance.20:36
sigmavirusto query on *20:36
thomasemAnother problem is*20:36
sigmavirusthomasem: right20:36
sigmavirusyou'd need to be able to do filter like harddrive.*.manufacturer=seagate20:36
sigmavirusthat's *plausible* but probably ill-advised20:36
thomasemSo, we see a lot of problems with it as it's currently implemented. Now, what do we do aboot it?20:37
antonymyeah, same situations with macs, if i wanted to capture them all and get a result based on one of them20:37
fsaadthis sounds like a problem for elasticsearch dammit20:37
fsaad:)20:37
thomasemLol20:38
sigmavirusfsaad: so20:38
sigmavirusI mentioned a long time ago that craton + searchlight could do a lot20:38
sigmavirusbecause searchlight already understands notifications and we could emit notifications so searching through stuff inc raton would be as nice as using elasticsearch20:38
sigmavirus(hint, searchlight uses elasticsearch to do this but does the shim work of taking notifications and putting them in ES and providng multitenancy + rbac)20:38
sigmavirusso technically, there exists something that could make this easier for us20:39
sigmavirusbut we also have the problem of craton needing to be small20:39
sigmavirusand self-contained20:39
fsaadyeah, interesting though.20:39
sigmaviruswhich is why we keep rejecting the idea of using something actually secure to store secrets20:39
sigmavirusso if we can figure out exactly how many external services we want to integrate with/rely on for certain features we can avoid development years20:40
sigmavirusObviously, we don't want to make deploying Craton a nightmare but I think we need to balance our priorities20:41
sigmavirusDo we want secure secret storage for customers? Do we want highly flexible searching?20:42
sigmavirusAnd does craton have to do all of those things or can we rely on ohter thigns?20:42
sigmavirusbut yeah20:44
sigmaviruswe have some options20:45
sigmavirusI suspect that cassandra could solve the searching problem too20:45
sigmavirus(I think that's partly why cloudnull picked it for his poc)20:45
fsaadoh I see20:47
*** zz_pwnall138 is now known as pwnall133720:55
thomasemadded to https://etherpad.openstack.org/p/craton-meetings21:02
thomasemI think it'd be good for us to set aside some time to truly discuss the future of Craton in that respect. Because, yeah, we could wind up spending a really long time solving things that have already been solved.21:03
thomasemAnd probably solved in a better way :P21:03
sigmavirusAnyway21:05
sigmavirusI've been hacking since around 6:30 this morning, so I'm going to go for a walk and make dinner21:06
sigmavirusHave a good evening y'all21:06
thomasemsigmavirus: take it easy! Catch ya tomorrow.21:07
jimbakersigmavirus, two approaches. first full text searching (so searchlight). second json path queries21:09
jimbakerneither is currently implemented, but both are certainly implementable with what we have21:10
jimbakerwith no changes to the model21:10
jimbakerhttps://dev.mysql.com/doc/refman/8.0/en/json-search-functions.html#operator_json-column-path21:10
jimbakeralso the current query scheme of conjunctive filters is the smallest possible query implementation that could be useful; and easy enough to express in a url. clearly we can do more, as we figure out what "more" should be21:12
-openstackstatus- NOTICE: restarting gerrit to address performance problems21:14
openstackgerritIan Cordasco proposed openstack/python-cratonclient master: WIP: Add Betamax for testing  https://review.openstack.org/44216521:17
thomasemsigmavirus: your bot doing work for you?21:17
jimbakerhttps://dev.mysql.com/doc/refman/8.0/en/json.html#json-paths21:30
thomasemLet's pull down 8.0 and give it a go? Having a hard time finding when that's supposed to be considered stable? I guess that's a question. Do we care?21:31
jimbakerthomasem, so i look at this longterm21:33
thomasemSure. I guess the question is more around how soon do we need to support what? Is this some how blocking our short-term goals?21:34
jimbakerat some point, both mysql and mariadb will reach feature parity with postgresql on json - it's clearly not just "roadmap"21:34
thomasemOh, correct21:34
thomasemYeah, I get that.21:35
jimbakerpostgresql for json btw - https://www.postgresql.org/docs/9.6/static/datatype-json.html - specifically GIN indexes21:35
jimbakerthomasem, in the short term, we can work around21:35
thomasemWhat workaround are you proposing? :)21:36
jimbakerspecifically for short term: so 5.7 also has json support, specifically virtual column indexing. it's not as great as GIN, but it probably will work for us21:36
jimbakersorry, apparently i need to write this faster... :)21:36
thomasemNot a problem at all.21:36
jimbakerthe disadvantage of virtual column indexing is that we need to use some form of structuring to take advantage of it21:37
jimbakerbut probably works well enough for "common cases". let's see21:37
thomasemAha, yeah. It looks like there's a fair amount of support in 5.7. I didn't realize.21:38
jimbakeralso there's nothing wrong with scanning records for small data sets. if we are just looking for a matching set of keys first, that probably works21:38
jimbakeras a first pass filter, not to mention the other filters21:38
jimbakersmall data sets certainly include 1000 records....21:39
jimbakeror maybe 1000021:39
jimbakeror maybe larger21:39
jimbakergiven that the records are most likely to be in memory anyway21:39
jimbakerso hopefully that gives context of why went down this path21:40
jimbakerwhy *we* went21:40
thomasemYeah, it helps.21:40
thomasemThank you21:40
jimbakernp21:41
*** jovon has quit IRC21:52
fsaadshould I file a ticket with what we've got so far on variable store/retrieval or have a meeting all together and build it up ?21:55
fsaador do we have one already? :)21:55
fsaadis that https://bugs.launchpad.net/craton/+bug/1661226 ?21:56
openstackLaunchpad bug 1661226 in craton "Filter by variables lacks resolved variables" [Critical,In progress] - Assigned to Jim Baker (jimbaker)21:56
pwnall1337btw https://github.com/osic/ops-generic/tree/master/tools/osa_import_for_craton imports ansible vars21:58
pwnall1337host facts21:59
pwnall1337re working it right now to import each host facts as it's own key21:59
pwnall1337spoke with fsaad21:59
thomasempwnall1337: So, we support what you need there for the import. The only missing thing is nice queries for nested variables afterwards?22:01
thomasemIs that true?22:02
jimbakerwe could look into providing that sooner than later via json path22:03
jimbakerhttp://docs.sqlalchemy.org/en/latest/core/type_basics.html#sqlalchemy.types.JSON22:05
jimbakerwe may need to relax this constraint first in requirements.txt: SQLAlchemy<1.1.0,>=1.0.10 # MIT, and upgrade to SA latest22:07
thomasemGotcha22:09
thomasemOh, yeah! How was everyones' weekend?22:09
thomasemForgot to ask with all of the goings on.22:09
fsaadgreat! relaxing thankfully. Got a run in a natural area park I like to go on saturday morning, rest was filled with family stuff but mostly hanging out at home ;)22:10
thomasemThat sounds awesome!22:11
fsaadI was schooled by a couple 40+'s (I'm 3 years short of that group)22:11
fsaad:)22:11
fsaadthomasem: you ?22:11
thomasemLOL22:11
thomasem:P22:11
jimbakernice weekend. i did fix up a few things workwise, notably the alembic stuff (and need to respond to sigmavirus on his comments...)22:12
fsaadI meant your weekend not your age btw hehe22:12
jimbakerbut also got in some good biking and hiking in beautiful weather22:12
fsaadnice ... weather was pretty meh here, drizzly mostly but not show stopper. Good to hear you had nice weather there22:13
thomasemMine was nice! Let's see dinner party on Friday (ended up chatting and being silly until like 5am Saturday), Saturday evening met up with some friends at Salt Lick (ohhh man that was good), and Sunday I got to go visit an old friend that I went to college with and catch up over whiskey/cigars. I am SO not used to socializing like that. So, my social meter's on empty about now. :P22:14
thomasemjimbaker: that's excellent!22:14
fsaadhaha, that's awesome thomasem22:14
* fsaad envies on that salt lick visit22:14
thomasemI'd never been. They have one hell of an operation there.22:15
fsaadnow I want some bbq22:15
thomasemHahaha22:15
jimbakeri like running at salt lick gulch here in colorado....22:15
jimbakergreat trail runs22:15
antonymman salt lick sounds good right now22:15
fsaadyeah, I've been just once but completely agree, big place, quick service, real good food22:15
jimbakersalt lick bbq is also good22:15
jimbakerand convenient airport location too22:15
thomasemOhhh jimbaker, that's one of their satellite places. There's the original one in Driftwood, TX that's this complex including a huge restaurant, vineyard, booze shop, etc. super rustic and inviting.22:17
jimbakeryep, i know of the original as well22:18
thomasemOhhh gotcha, okay, cool.22:18
thomasemI didn't. So, I got surprised when we drove up.22:18
fsaadthat once I was there I saw it was so packed I thought it'd be a franklins-like experience of standing in line, but was pleasantly surprised22:18
jimbakerthe AUS location is somewhat more convenient, i have only driven slow route between san antonio and austin once, 3 years ago22:19
thomasemGotcha22:19
thomasemfsaad: yeah, I was surprised by that, also. And the staff didn't even charge us for the kids at the table, which was kind of nice of them.22:19
thomasemGood stuff. Glad folks had good weekends.22:20
thomasemAlrightyo, I need to run for an appointment. Have a lovely evening, everyone!!22:26
fsaadlaters thomasem22:32
fsaadI'm gonna transfer home, hopefully avoid some traffic ... bbiab22:32

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