Monday, 2014-11-17

*** Riddhi has quit IRC00:09
*** topshare has joined #openstack-trove00:54
*** nosnos has joined #openstack-trove01:01
*** X019 has joined #openstack-trove01:19
*** tomblank has joined #openstack-trove01:29
openstackgerritLi Ma proposed openstack/trove: Add nova_proxy_admin_tenant_id to make nova_compute_url effective  https://review.openstack.org/11167901:53
*** haomaiwa_ has quit IRC01:55
*** haomaiwa_ has joined #openstack-trove02:17
*** annashen has joined #openstack-trove02:22
*** X019 has quit IRC02:32
*** erkules_ has joined #openstack-trove02:39
*** erkules has quit IRC02:42
*** X019 has joined #openstack-trove02:44
*** fifieldt has quit IRC02:45
*** annashen has quit IRC02:56
*** Longgeek has joined #openstack-trove03:28
*** Longgeek has quit IRC03:33
*** nosnos has quit IRC03:49
*** ramishra has joined #openstack-trove03:51
*** rushiagr_away is now known as rushiagr04:22
*** vigneshvar has joined #openstack-trove04:25
*** vigneshvar has quit IRC04:31
*** newb has quit IRC04:32
*** annashen has joined #openstack-trove04:35
*** annashen has quit IRC04:39
*** Longgeek has joined #openstack-trove04:44
*** nosnos has joined #openstack-trove04:46
*** vigneshvar has joined #openstack-trove04:46
*** Longgeek has quit IRC04:48
*** sgotliv has joined #openstack-trove05:26
*** Longgeek has joined #openstack-trove05:37
*** nosnos_ has joined #openstack-trove05:50
*** nosnos has quit IRC05:51
*** nosnos_ has quit IRC05:57
*** nosnos has joined #openstack-trove05:59
*** hogepodge has quit IRC06:01
*** Longgeek has quit IRC06:17
*** Longgeek has joined #openstack-trove06:18
*** Longgeek_ has joined #openstack-trove06:18
*** sgotliv has quit IRC06:20
*** miqui has quit IRC06:22
*** Longgeek has quit IRC06:22
*** tomblank has quit IRC06:23
*** nosnos_ has joined #openstack-trove06:23
*** nosnos has quit IRC06:23
*** hogepodge has joined #openstack-trove06:24
*** erkules_ is now known as erkules06:42
*** exploreshaifali has joined #openstack-trove06:47
*** Longgeek_ has quit IRC06:56
*** Longgeek has joined #openstack-trove06:57
openstackgerritMerged openstack/trove: Increase instances.task_description column size  https://review.openstack.org/11156007:02
*** miqui_ has quit IRC07:22
*** Longgeek has quit IRC07:27
*** Longgeek has joined #openstack-trove07:28
*** exploreshaifali has quit IRC07:39
*** Longgeek_ has joined #openstack-trove07:41
*** exploreshaifali has joined #openstack-trove07:41
*** Longgeek has quit IRC07:45
*** ramishra has quit IRC07:46
*** exploreshaifali has quit IRC08:02
*** exploreshaifali has joined #openstack-trove08:05
*** fifieldt has joined #openstack-trove08:09
*** exploreshaifali has quit IRC08:16
*** ajayaa has joined #openstack-trove08:24
*** romainh has joined #openstack-trove08:57
*** boblebauce has joined #openstack-trove09:20
*** sgotliv has joined #openstack-trove09:20
*** ramishra_ has joined #openstack-trove09:31
*** ramishra_ has quit IRC09:32
*** ramishra_ has joined #openstack-trove09:41
*** ramishra_ has quit IRC09:41
*** flaper87 has quit IRC09:43
*** flaper87 has joined #openstack-trove09:43
openstackgerritMerged openstack/trove: Update and correct documentation snippets  https://review.openstack.org/13236509:45
*** isviridov_away is now known as isviridov09:49
*** sgotliv has quit IRC09:57
*** ajayaa has quit IRC09:59
*** pboros has joined #openstack-trove10:00
*** haomaiwa_ has quit IRC10:34
*** topshare has quit IRC10:34
*** prasoon has joined #openstack-trove10:38
*** exploreshaifali has joined #openstack-trove10:52
*** denis_makogon has joined #openstack-trove10:55
*** prasoon has quit IRC10:55
*** ajayaa has joined #openstack-trove11:04
*** vigneshvar has quit IRC11:30
*** ajayaa has quit IRC11:34
*** vkmc has joined #openstack-trove11:38
*** openstackgerrit has quit IRC11:48
*** openstackgerrit has joined #openstack-trove11:49
*** ajayaa has joined #openstack-trove11:49
*** sgotliv has joined #openstack-trove12:09
*** IanGovett has joined #openstack-trove12:38
*** nosnos_ has quit IRC12:39
openstackgerritDenis M. proposed openstack/trove-specs: Added Cassandra cluster spec  https://review.openstack.org/12273612:43
*** sgotliv has quit IRC12:47
openstackgerritDenis M. proposed openstack/python-troveclient: Adding --os-auth-token argument  https://review.openstack.org/11092512:48
*** exploreshaifali has quit IRC12:55
*** ajayaa has quit IRC12:56
*** sgotliv has joined #openstack-trove13:01
*** rushiagr is now known as rushiagr_away13:12
*** amrith is now known as _amrith_13:16
*** k4n0_ has quit IRC13:39
*** pdmars_ is now known as pdmars13:42
*** tomblank has joined #openstack-trove13:50
*** jcru has joined #openstack-trove13:53
*** miqui has joined #openstack-trove14:10
*** vigneshvar has joined #openstack-trove14:23
*** johnma has joined #openstack-trove14:23
*** newb has joined #openstack-trove14:31
*** Barker has joined #openstack-trove14:36
openstackgerritDenis M. proposed openstack/trove-integration: Fix pre-install.d scripts for mysql/percona  https://review.openstack.org/13495014:37
*** robertmy_ has quit IRC14:38
*** robertmyers has joined #openstack-trove14:39
*** rushiagr_away is now known as rushiagr14:44
*** _amrith_ is now known as amrith14:46
*** johnma has quit IRC14:53
*** Longgeek_ has quit IRC14:59
denis_makogonSlickNik, amrith, hey, guys, our destack-gate faced with problem, https://bugs.launchpad.net/trove-integration/+bug/139343015:03
*** radez_g0n3 is now known as radez15:05
*** exploreshaifali has joined #openstack-trove15:16
*** grapex has joined #openstack-trove15:25
*** topshare has joined #openstack-trove15:30
*** ramishra_ has joined #openstack-trove15:36
*** ramishra_ has quit IRC15:36
*** robertmyers has quit IRC15:36
*** Riddhi has joined #openstack-trove15:40
*** Riddhi has quit IRC15:40
*** Riddhi has joined #openstack-trove15:41
*** johnma has joined #openstack-trove15:44
*** radez is now known as radez_g0n315:45
*** sriram_tesora has joined #openstack-trove15:47
*** jmontemayor has joined #openstack-trove15:48
amrithis there a trove BP meeting today? the agenda page says it is canceled for today (Nov 17th)15:51
amrithhttps://wiki.openstack.org/wiki/Meetings/TroveBPMeeting15:51
amrithand there's already an agenda for 24th.15:52
*** rwsu has joined #openstack-trove15:56
*** mattgriffin has joined #openstack-trove15:56
denis_makogonamrith, there was no email from SlickNik about canceling meeting for today, unless i'm missing something15:57
amrithdenis_makogon, I'm just going by the web page. not sure why it is canceled but I haven't looked hard either.15:59
denis_makogonamrith, i'd say that someone changed date of previous meeting (Nov. 10 and it was canceled) to new date16:00
*** jasonb365 has joined #openstack-trove16:00
*** thedodd has joined #openstack-trove16:01
*** radez_g0n3 is now known as radez16:04
*** tomblank has quit IRC16:05
*** sriram_tesora has quit IRC16:09
*** david-lyle_afk is now known as david-lyle16:11
denis_makogonromainh, hi there, i've made those changes that you've been asking for, take a look please, https://review.openstack.org/#/c/122736/ =)16:15
romainhdenis_makogon: hi Denis! ok done ;)16:28
*** Riddhi_ has joined #openstack-trove16:28
*** Riddhi has quit IRC16:29
*** boblebauce has quit IRC16:29
denis_makogonromainh, thanks!16:30
denis_makogonromainh, if it's ok for you could you please +1 it ?16:30
romainhdenis_makogon: ok16:30
*** johnma has quit IRC16:30
sgotlivromainh, denis_makogon or -116:31
*** pboros has quit IRC16:31
denis_makogonsgotliv, sure, if it's bad =))16:31
sgotlivdenis_makogon, why bad. not good enough16:32
sgotliv:-)16:32
denis_makogonsgotliv, hah, sure =)16:33
*** sriram_tesora has joined #openstack-trove16:34
*** boblebauce has joined #openstack-trove16:34
*** jasonb365 has quit IRC16:35
openstackgerritPeter Stachowski proposed openstack/trove: Mark certain configuration options as deprecated  https://review.openstack.org/12484616:36
openstackgerritPeter Stachowski proposed openstack/trove: Deleting failed replication backup can hide error  https://review.openstack.org/13159316:41
*** tomblank has joined #openstack-trove16:50
openstackgerritZhi Yan Liu proposed openstack/trove: Integrate OSprofiler and Trove  https://review.openstack.org/11665316:52
*** jasonb365 has joined #openstack-trove16:53
*** haomaiwang has joined #openstack-trove16:54
*** johnma has joined #openstack-trove16:56
*** Riddhi_ has quit IRC17:03
*** rwsu has quit IRC17:03
*** tomblank has quit IRC17:03
*** jasonb365_ has joined #openstack-trove17:04
*** jasonb365 has quit IRC17:05
*** jasonb365_ is now known as jasonb36517:05
*** tomblank has joined #openstack-trove17:08
openstackgerritZhi Yan Liu proposed openstack/python-troveclient: Add profiling support to Trove client  https://review.openstack.org/11665417:11
zhiyandenis_makogon: hey, i rebased osprofiler patch for trove&troveclient, thanks for your review.17:13
*** rwsu has joined #openstack-trove17:16
*** rwsu has quit IRC17:18
*** rwsu has joined #openstack-trove17:19
*** sgotliv has quit IRC17:19
SlickNikamrith: There is a trove BP meeting today. Someone changed the date in the heading, but left the other verbiage there, and since the last meeting was cancelled, it still says cancelled.17:20
SlickNikLet me update that.17:20
amrithlet there be light, and SlickNik appeared.17:23
*** robertmyers has joined #openstack-trove17:23
SlickNikUpdated.17:27
SlickNikIf folks aren't around to discuss their item at the BP meeting because of the confusion, we can just move that item to next week's meeting.17:29
*** jasonb365 has quit IRC17:30
*** nexusz99 has joined #openstack-trove17:40
*** harlowja_away is now known as harlowja17:41
*** boblebauce has quit IRC17:46
*** annashen has joined #openstack-trove17:49
*** Riddhi has joined #openstack-trove17:52
*** romainh has quit IRC18:00
SlickNik#startmeeting trove-bp-meeting18:01
openstackMeeting started Mon Nov 17 18:01:10 2014 UTC and is due to finish in 60 minutes.  The chair is SlickNik. Information about MeetBot at http://wiki.debian.org/MeetBot.18:01
openstackUseful Commands: #action #agreed #help #info #idea #link #topic #startvote.18:01
openstackThe meeting name has been set to 'trove_bp_meeting'18:01
SlickNikGiving folks a few minutes to trickle in18:01
SlickNikAgenda at18:01
grapexo/18:01
SlickNik#link https://wiki.openstack.org/wiki/Meetings/TroveBPMeeting18:01
amrith./18:01
georgelorcho/18:02
*** mattgriffin has quit IRC18:03
Riddhio/18:03
SlickNik#topic Add support for DB2 Express-C datastore18:03
*** arborism has joined #openstack-trove18:03
*** arborism is now known as amcrn18:03
amriththis is johnma's BP.18:03
SlickNik#link https://review.openstack.org/#/c/133856/18:03
johnmasorry I thought the meeting was at 118:04
johnmaI am here18:04
amrithit is at 1 ;18:04
amrith;)18:04
amrith1 o'clock somewhere.18:04
johnmaI was trying to add some more details to the bp but I will do that after this meeting I guess and include the feeedback18:04
SlickNikjohnma: the meeting is at 18:00 UTC.18:05
johnmayes I get confused all the time. Sorry about that. Thanks SlickNik18:05
SlickNikNot a problem :)18:05
amcrno/18:05
johnmaso this bp is to add support for DB2-Express C edition18:06
johnmaso the idea is to support the default OS for this first version - ubuntu and fedora18:06
johnmaand support the following guest api's: - launch , reboot, terminate, backup, restore, resize18:07
johnmathere wont be any clustering or replication support in this version since its the Express-C edition18:08
grapexjohnma: How close is using DB2-Express C to MySQL? Would you say its a close to it as is Percona and Maria?18:08
johnmathe way we create users and grant provileges are very different18:09
*** mattgriffin has joined #openstack-trove18:09
johnmabetween DB2 and MySQL. for one there is no notion of a DB2 user. for creating user, we have to first create an OS user and then DB2 privileges to it18:10
*** topshare has quit IRC18:10
SlickNikjohnma: Another question I had was around obtaining packages for DB2-Express C? Are they freely available on an apt-server somewhere? What is the redist license?18:11
johnmaand there isnt a single table like MySQL where we can access and get the privileges for a user.18:11
johnmayes thats very good question SlickNik and one reason why I need to update the spec about the Kilo-1 milestone which I dont think we will make for this reason18:11
johnmathis DB2 version is the free version, so there isnt any problem in that front. The problem area is that there is a registration process that user needs to go through first to get the packages18:12
johnmathe registration process is free but I have been told that its there to prevent users from embargoed countries from downloading the packages18:13
johnmaso we need to figure out a way to work around the registration process. We developed a prototype for the DB2 plugin with most of the features I mentioned above - (we need to implement the resize and backups apis's) which is why I thought we could make the Kilo-1 milestone18:14
johnmabut we need to find a work around for the registration process18:14
*** denis_makogon has quit IRC18:14
SlickNikOkay, all of that is good information to put in the specs (once it's figured out).18:15
amcrnjohnma: it looks like features such as replication require a yearly subscription?18:15
johnmasure will do that SlickNik18:15
amcrnis that restricted by license or by package?18:15
*** thedodd has quit IRC18:16
johnmaamcrn: Express-C version doesnt support high availability which is why we arent going to implement replication , clustering features for this version. Like you said for those features , user will require a subscription18:16
johnmaby license I believe18:17
openstackgerritMerged openstack/trove-specs: Add requirement for APIImpact flag  https://review.openstack.org/13234618:17
*** denis_makogon has joined #openstack-trove18:17
*** topshare has joined #openstack-trove18:17
johnmaas far as integration tests, what kind of tests do we usually run?18:19
johnmaI have only included unit tests in there18:19
SlickNikjohnma: Tests to test pretty much all the functionality that the datastore offers.18:20
johnmaok18:20
SlickNikSo in this case, that would be provisioning, and backup and restore.18:20
johnmasure, sounds good. thanks SlickNik18:21
SlickNikOne thing I'm working through is how we can leverage an external CI system for third party tests, and what those requirements look like for additional datastores.18:21
SlickNikSo I'll keep you in the loop with that info.18:22
johnmayes, that would be great. Appreciate it.18:22
SlickNikThanks johnma!18:22
SlickNikAny other questions?18:22
johnmaI am good on this18:23
SlickNik#topic Add support for Apache CouchDB datastore18:23
johnmayes thats me again18:23
SlickNik#link https://review.openstack.org/#/c/133849/18:23
SlickNikPretty much the same discussion applies here as well.18:23
johnmaso this is to add support for another datastore - Apache CouchDB18:24
johnmathats right18:24
johnmaagain for this , we are planning to support the following guest agent api's: - launch18:24
johnma- reboot18:24
johnma- terminate18:24
johnma- resize18:24
johnma- backup18:24
johnma- restore18:24
johnma- replication18:24
johnmacouchdb does backups through their replication interface. So they dont have an explicit backup solution.18:25
johnmaOne question I had is , is there any reason why the other no-sql datastores dont support managing databases and users (create/list/delete18:26
johnma)18:26
grapexjohnma: There's feeling it isn't necessary. Those API calls are actually viewed as an extension to Trove rather than a core feature.18:27
johnmaagain the plan is to support CouchDB on ubuntu and fedora for this release18:27
amrithjohnma would you like to support them for CouchDB?18:27
*** topshare has quit IRC18:27
SlickNikjohnma: Because the implementations chose not to implement that extension. Frankly folks felt it wasn't absolutely necessary, and the users extension has always been somewhat controversial.18:28
johnmaI was thinking of implementing those. Again the product team hasnt mandated that. I might have to get back with them and see what their use case is18:29
johnmato be honest I havent gotten that far as to prototyping that so I dont know how much work is going to be involved to implement it18:30
SlickNikjohnma: I'd recommend an initial spec without them, which you can revisit later as part of another spec if you feel that it's really needed.18:30
SlickNiksince it's an extension, it should be easy to separate out.18:31
johnmasounds good. i will take your advice SlickNik18:31
johnmaThats all I had. Any questions or concerns I can address?18:32
johnmaWe are planning for clustering work for the next release so wont be doing clustering in this one18:33
SlickNikSounds good, let's move on to the next item then. Thanks johnma!18:33
SlickNik#topic Example Snippet Generator18:34
johnmaThank you. Appreciate all the feedback18:34
SlickNikHey there, grapex18:34
grapexYo everyone. If anyone isn't familiar with the Trove API docs, they have these snippets showing what the content of the REST request and response is18:35
grapexFor example, here's on on "configurations"18:35
grapexhttps://github.com/openstack/trove/blob/master/apidocs/src/samples/db-configuration-create-request-json.txt18:35
grapexhttps://github.com/openstack/trove/blob/master/apidocs/src/samples/db-configuration-create-request.json18:35
grapexhttps://github.com/openstack/trove/blob/master/apidocs/src/samples/db-configuration-create-response-json.txt18:35
grapexThese end up going into the PDFs that get generated on how to use the Trove API18:36
grapexthe problem is, they're generated statically and could be nothing but lies18:36
grapexthough to be fair they probably are mostly true ;)18:36
grapexSo this blueprint adds a test which captures the request and response body of the python-troveclient we all know and (hopefully) love18:37
grapexthe tests then does a diff to see if the files in the output of this test is different from the files in source control, and if it is the test fails18:38
grapexmeaning18:38
grapexif someone inadvertently changes the API in some minor way that makes a documentation snippet inaccurate, the test fails18:38
grapexthey have to update the actual text snippet file to be accurate as part of their pull request to make Jenkins pass18:38
grapexHopefully that will then trigger a discussion during the code review process.18:38
amcrngrapex: this should definitely be helpful, nice work18:38
grapexSo lets say, just to make up a fictional example, the configuration had some value in the request change from a number to string18:39
cp16net^^ would have found some issues we've had to back port...18:39
grapexthe test would fail18:39
grapexand the person who saw this would either change the code, so the snippet would be the same18:39
grapexor, if that change was intentional, they'd change the snippet. Core reviewers would see it and then decide if the API change was OK or not18:39
*** rushiagr is now known as rushiagr_away18:40
grapexthe end18:40
SlickNikcp16net: I was gonna say — wish we had this earlier.18:40
SlickNikgrapex: Nice! This was the same thing that we discussed at the mid-cycle meetup, right?18:40
cp16net:-P18:40
grapexSlickNik: Yep. And the same thing that was discussed during the Sprint midcycle in Austin- this is actually one big motivation for the Trove docs living in the Trove repo.18:40
SlickNikJust in more concrete form.18:40
grapexHopefully it will also get us in the habit of writing docs as we add features18:41
grapexI've noticed in a lot of code reviews recently, there is push back if some minor nitpick doesn't match what the blueprint said18:41
grapexI might be starting a tangent here18:41
grapexbut I don't agree with that18:41
amcrnlol18:41
amrithwrite a blueprint about it ;)18:41
grapexThe blueprint is to get people on board with the gist of the change, make sure people don't outright hate it and generally agree the idea is sound18:41
grapexThe documentations is where we should actually... documentate what the API does18:42
openstackgerritMerged openstack/trove-specs: Add RSS feed  https://review.openstack.org/13125318:42
grapexI can't see users reading the specs repo for behavior18:42
amcrnthe nitpicking is a bit tangential, but i agree that this will definitely be a boon for users wanting to understand the req/resp model18:43
amcrnvs. waiting for labeleled releases with new doc cuts18:43
grapexAs work is done, the right thing to do might not be what the blueprint said. I'd like to endorse that as it encourages people to think about edge cases not present in the plain text description of what they thought they would be writing.18:43
grapexamcrn: Agreed18:43
grapexAnd the blueprint doesn't cover this-18:44
grapexbut I've always thought it would be cool to somehow show an example of what the Python code involved to make things happen using the python-trovelcient alongside the generic REST information.18:44
grapexThat's probably a bit futuristic at this point, plus it could involve really changing the docs18:45
grapexanyway... thoughts?18:45
SlickNikI agree with you guys completely on this.18:45
SlickNikThe spec won't be able to cover 100% of the cases anyhow.18:46
SlickNikAnd having some latitude for design flexibility is a good thing.18:46
openstackgerritamrith proposed openstack/trove: Rename generic variable named with mysql specific name  https://review.openstack.org/12952818:46
SlickNikBut let's try not to get too derailed with this topic in the interest of time for this meeting. :)18:46
cp16net+1 to the doc changes.18:46
SlickNikOkay, any other questions for this?18:47
Riddhi+1 from my side as well18:47
SlickNik#topic Flavors per datastore18:48
SlickNik#link https://blueprints.launchpad.net/trove/+spec/associate-flavors-datastores18:48
SlickNikSo this spec was previously approved for Juno.18:48
SlickNikBut didn't make it in time after the Feature Freeze IIRC.18:48
Riddhisgotliv and peterstac had some concerns about the api changes18:49
Riddhithought we could discuss about it in the meeting and get some consensus18:49
amcrni've got some concerns too, but i'll yield the floor to sgotliv + peterstac first18:49
amrithneither of them appears to be here18:50
amrithamcrn, why don't you go ahead18:50
amrithI'll try and rustle them up18:50
Riddhiamcrn: yeah...go ahead :)18:50
peterstacgotta page it back into memory first ;)18:50
amcrni haven't had a chance to peer into the code review, but is https://wiki.openstack.org/wiki/Trove/associate-flavors-datastores still up-to-date? if so, my concern is with the default-datastore behavior.18:51
Riddhipeterstac: your comment on this review might help - https://review.openstack.org/#/c/109824/18:51
Riddhiamcrn: yes it is up to date18:51
amcrndefault_datastore was only introduced to avoid breaking backwards compatibility for those who had deployments that relied on mysql being the only datastore in existence, aka pre icehouse18:52
peterstacamcrn: I think that was my concern - if there were no flavors defined, then it looked like it would fail18:52
amcrngenerally speaking, any new deployment should not set that value18:52
Riddhipeterstac's comments were - "I have to run the code to be sure, but from my review it looks like this becomes a required feature. Not sure that's what existing customers would want. If it turns out I'm mistaken - or the consensus is that that's what we want, I'll switch my vote (of course)."18:52
Riddhipeterstac, amcrn: if there are no flavors associated to the datastore version..the default flavors are listed18:53
peterstacUnfortunately my env got upside down so I haven't had a chance to run the code yet18:53
amcrnin short, i'd like to remove the default flavor listing route18:53
amcrnit's an unnecessary shortcut for a cfgopt that shouldn't be used18:53
amrithRiddhi, your most recent comment appears to contradict your response in code review (patch set 9) "The expected behavior is to check if the flavor that is to be used for the instance, has a binding with the datastore_version.id being used for the instance. It throws an exception if not. The code tries to check the same."18:53
*** thedodd has joined #openstack-trove18:55
Riddhiokay..one at a time: amcrn: you do not want the list default flavors api call anymore you say?18:55
amcrnpretty much. rip out GET /{tenant_id}/flavors and i'm ok with the proposal.18:55
amcrnactually, that isn't a proposal, that route already exists...18:56
*** johnma has quit IRC18:56
SlickNikWouldn't that be altering the API though?18:56
amcrnso if a deployer doesn't have default_datastore set, that behavior has to remain as it is today18:56
grapexamcrn: Wait, I'm confused. I thought you just wanted it so that if a datastore wasn't specified then it would show *all* flavors, rather than the default. Right?18:56
amrithsorry, what? amcrn are you suggesting deleting /{tenant_id}/flavors?18:56
amcrnSlickNik: i'm backpedalling18:56
edmondkyou would need to version the API if you ripped out the default /flavors that currently exists18:56
amcrnno the blueprint doesn't state whether the routes are new or changed18:56
amcrnyes yes yes18:56
amcrnhence the confusion at first18:57
grapexamrith: It's hard to get context on your last comment. Maybe we should just start over and people who are still not ok with this can state what they want?18:57
grapexLet's go with amcrn first18:57
amcrni rescind my comments, because we can't touch GET /{tenant_id}/flavors due to backwards compatibility, it doesn't matter how nonsensical it is18:58
SlickNikAh got it — took me a moment to realize it was an existing route as well.18:58
amrithamrith, I'm all set (see amcrn's most recent comment)18:58
grapexUh-oh, I think someone has hacked into amrith's account and just inadvertently referenced him in the third person!18:58
amrithI talk to myself all the time (in first person). it is boring.18:59
edmondkJust to clarify is the existing /{tenant_id}/flavors remaining exactly the same as it is now?18:59
grapexamrith: Tim knows what you mean.18:59
grapexedmondk: I think so, right Riddhi?18:59
Riddhiamcrn, SlickNik: yes, it is an existing route..the only reason it was outlined in the bp was to maintain the backward compatibility...i think the desc for the /flavors api call is causing the confusion..18:59
peterstacedmondk: Yes, that's an existing API call18:59
edmondkgot it19:00
peterstacIsn't the new one: GET /{tenant_id}/flavors/{datastore_version_id} ?19:00
grapexRiddhi: By pointing out you wouldn't change a feature that was so broadly despised, you actually made everyone think you were changing the API. :)19:00
Riddhipeterstac: yes..thats the new one19:00
SlickNikedmondk: I think it's a subtle change — previously you'd get all flavors, after this change you'd presumably get all flavors associated with the default datastore.19:00
amrith#idea ... take existing BP and make it an RST and let people comment on it.19:00
RiddhiSlickNik: yes thats right19:00
peterstacSlickNik: yeah, that would be bad19:00
Riddhithe new call is /{tenant_id}/flavors/{datastore_version_id}19:01
grapexamrith: I'd normally say yes... but I'd really like to just finish getting to the bottom of these concerns19:01
Riddhithe trove-manage utility provides the ability to add/delete flavors19:01
grapexamrith: only due to the extreme age of this blueprint.19:01
amrithgrapex, I'm proposing it because we are discussing here (in IRC) things that would be better (IMHO) to discuss in review.19:01
Riddhiassociated with these ds versions19:01
*** jmontemayor has quit IRC19:01
amrithbut I see your point about the age of this BP19:02
Riddhithe old flavors route/call still remains the same19:02
amrithit may not survive the replanting19:02
SlickNikamrith / grapex: I'd like to get an .rst in for spec bookkeeping for kilo though.19:02
grapexSlickNik: Argh19:02
SlickNikEven if it's just the current wiki page replanted to rst format.19:02
grapexSlickNik: That *is* a good reason though19:02
*** jmontemayor has joined #openstack-trove19:02
grapexStill19:03
grapexI feel like I don't understand people's concerns19:03
amrithgrapex, I'll do the gardening if it will help ease the workload19:03
amcrnRiddhi: make sure to make the id a string and not an integer19:03
amrithgrapex, ask Tim about it ;)19:03
Riddhiamcrn: you mean the flavor id right?19:04
* grapex wonders if he'll go to hell if he also asks Riddhi to write documentation snippets for this...19:04
amcrncorrect19:04
Riddhigrapex: will do!19:04
amcrnotherwise the id_str hack will have to propigate to a newly introduced api, which would be sad19:04
grapexRiddhi: You are *really* bad at bargaining!19:04
SlickNikThanks Riddhi! Really really appreciate it.19:04
grapexThe two big concerns right now are from amcrn and amrith right?19:05
SlickNikOkay, we're done with meeting. We can stay back to close on rst / spec conversation as needed.19:05
SlickNikThanks all!19:05
SlickNik#endmeeting19:05
openstackMeeting ended Mon Nov 17 19:05:28 2014 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)19:05
openstackMinutes:        http://eavesdrop.openstack.org/meetings/trove_bp_meeting/2014/trove_bp_meeting.2014-11-17-18.01.html19:05
openstackMinutes (text): http://eavesdrop.openstack.org/meetings/trove_bp_meeting/2014/trove_bp_meeting.2014-11-17-18.01.txt19:05
openstackLog:            http://eavesdrop.openstack.org/meetings/trove_bp_meeting/2014/trove_bp_meeting.2014-11-17-18.01.log.html19:05
*** vigneshvar_ has joined #openstack-trove19:06
SlickNikgrapex: I don't think they're concerns as such, but more of implementation caveats.19:07
SlickNikAt least the "string" for ID one that amcrn mentions is.19:08
grapexSlickNik: Ok19:08
grapexSlickNik: Btw- I have no idea why this is failing: https://review.openstack.org/#/c/132367/19:09
grapexAssertionError: fake_host_1 != fake_host_219:09
amcrngrapex: yeah, i have no concerns now that the default route confusion was cleared up.19:09
grapexamcrn: Ah, good to know19:10
*** vigneshvar has quit IRC19:10
grapexI think the big problem with this blueprint is its been passed around to three people. I hate that Riddhi now has to write the spec but it will probably eliminate some confusion about it.19:10
grapexSlickNik: Back to the example generator pull request: Is this error about the fake host name not matching a random error people are normally seeing?19:11
Riddhigrapex: yeah..makes sense..!19:11
SlickNikgrapex: not sure — trying to make sense of the traceback.19:12
grapexSlickNik: fake_host_2 != fake_host_119:13
grapexThis was never a very reliable test...19:13
amcrnRiddhi: fwiw, i edited https://wiki.openstack.org/wiki/Trove/associate-flavors-datastores to differentiate between new routes and existing routes.19:14
grapexActually, its running the snippets... thats not good19:14
Riddhiamcrn: saw that..thank you..was just about to do it myself:D19:14
amcrn:)19:14
grapexOk... I guess this is a test that only runs one way on one host OS and different somewhere else19:14
grapexI'll figure it out, n/m19:14
SlickNikgrapex: It looks like it's expecting an ordered listing from the API, which might not be the case since the hosts can be returned in any order by the API.19:15
grapexSlickNik: Yeah, I noticed it right after I spoke up19:15
grapexIf you want to see your dumbest mistakes, just ask someone else for assistance. :)19:16
SlickNikOh I definitely know all about that. :)19:16
*** jmontemayor has quit IRC19:19
amcrngrapex: i'll mail you a rubber duck (http://en.wikipedia.org/wiki/Rubber_duck_debugging) ;)19:23
*** jmontemayor has joined #openstack-trove19:25
grapexamcrn: Oh awesome. I'm worried though that that might create jealousy with my split personality Jim.19:46
amcrnhaha19:47
grapexI think if I used that thing eventually I'd hear the duck talking to me in Mr. Hat's voice... "The tests failed again, didn't they? Do you even *KNOW* how to write Python!"19:47
grapexThe midday quiet of the office would be shattered by me yelling "Shut up you stupid duck!"19:48
openstackgerritTim Simpson proposed openstack/trove: Create example generator  https://review.openstack.org/13236719:51
*** jmontemayor has quit IRC19:59
*** jmontemayor has joined #openstack-trove20:04
*** sgotliv has joined #openstack-trove20:14
*** sgotliv has joined #openstack-trove20:14
*** todd_dsm has joined #openstack-trove20:19
*** boblebauce has joined #openstack-trove20:19
amrithdenis_makogon, yt?20:22
*** denis_makogon_ has joined #openstack-trove20:24
*** denis_makogon has quit IRC20:25
*** denis_makogon_ is now known as denis_makogon20:25
*** dmakogon_ has joined #openstack-trove20:25
denis_makogonamcrn, ping20:27
amrithdenis_makogon, ping20:27
amrith;)20:28
amrithor you can talk to amcrn ;)20:28
denis_makogonamrith, sure, i'm in20:28
denis_makogonamrith, anything new my friend?20:28
amrithhey, had a good trip home?20:28
amcrndenis_makogon: hi20:36
denis_makogonamcrn, i want to talk about https://review.openstack.org/#/c/134583/20:38
amcrnsure20:38
denis_makogonamcrn, there's a problem, if we don't do clubbing, we would have to make python-troveclient aware of supported datastores.20:40
amcrndenis_makogon: that's a foregone conclusion, isn't it?20:41
*** sgotliv has quit IRC20:43
denis_makogonamcrn, iirc no20:43
amcrnthat point is somewhat tangential to the discussion at hand20:43
amcrnadding a node and adding a shard are two different things20:44
denis_makogoni agree20:44
denis_makogonbut we have to dael with clients stateless20:44
amrithdenis_makogon, didn't we discuss this in Paris? I recall that the issue was that we didn't like 'add_shard'. 'add_node' is fine if I recall correctly.20:44
denis_makogonamrith, sure we did20:45
amcrni don't understand the "i don't like add_shard'.20:45
denis_makogonwe also have some notes on etherpad20:45
*** exploreshaifali has quit IRC20:45
amcrni've read the etherpad. the point is not clear.20:45
amrithmy recollection was that add_node wuld remain and add_shard (the API) would exist for 1 release and in future people would have to use cluster_scaleup or some such.20:45
amrithI believe that we were just renaming the API20:45
denis_makogonamrith, correct20:45
amcrni'll reiterate that adding a shard is a distinct action20:46
amrithlike we didn't like "slave" in replication so we called it "replica"20:46
amcrnthe concept of a shard doesn't exist in any other datastore20:46
amrithamcrn, the thought in Paris was that trove would support an action "scaleup". the implementation for mongoDB would be add_shard, and for some other datastore it would be something else.20:46
amrithI'm not saying that's right or wrong20:47
amrithjust that this is what was discussed and "agreed" to.20:47
amriththe intent was to expose a datastore agnostic API20:47
denis_makogoni'd say that we need to have generic way (from clients API, or Web, or CLI) to execute upscaling against different clusters20:47
amrithwith datastore specific implementations.20:47
amcrnthe point is that datastores have eccentricities, aka actions, that are unique to them. intrinsically, these cannot be datastore-agnostic.20:48
amrithamcrn, agreed20:48
amrithhowever, the objective was to define terms that would definite datastore agnostic operations.20:48
amrithprovision/deprovision, scaleout, scalein, scaleup, scaledown etc.,20:48
amcrnso why would add_shard be deprecated?20:49
amrithscaleup and scaledown are our current resize operators20:49
*** openstackgerrit has quit IRC20:49
*** openstackgerrit has joined #openstack-trove20:49
denis_makogonamcrn, yes, right after Kilo + 1 release20:49
amrithamcrn the reason was that the api could be defined in terms of datastore agnostic operations.20:49
amrithadd_shard is datastore specific20:49
SlickNikhey guys, just saw this conversation.20:49
amcrni get the intent, i'm just stating it's not a reality20:49
amrithamcrn, why is not a reality?20:50
amriththe mongoDB implementation would be the existing add_shard code ...20:50
SlickNikamrith: I think what amcrn is saying is that you can define a scale up operation/API without having to deprecate the add-shard action for a mongo-db cluster.20:50
amcrndoes scaleup add a shard or a node?20:50
amcrnthat's why it doesn't work.20:50
amrithamcrn, that depends on the implementation20:50
amcrnso you introduce scaleup2?20:51
amrithno.20:51
amrithare you saying that there are multiple ways to scale up mongoDB?20:51
amcrnwell, first, the term "scale" is a poor choice20:51
amcrnthat aside20:51
amrithin that case we would like the api to be able to handle that.20:51
amcrnyes, you can add node(s) to a shard, and you can add shards.20:51
amrithso, if we adopt the thinking from Paris, then "scaleup" or whatever would need to be able to express both of those variants.20:52
amcrnwith mongodb you need the ability to express votes, type (arbiter or member), hidden or not hidden, etc .etc.20:53
denis_makogonserver side can handle any implementation of an action, but what about client side, if we'd still have multiple action how would client know which action to execute against given cluster ?20:53
amcrnyou'll end up with an extremely bloated generic action that is nearly impossible to decipher20:53
amriththe converse is that we end up with an extremely bloated API with many unsupported calls. I believe that this is what we were trying to avoid.20:54
amcrnif by bloated you mean you have granular payloads that are specific to datastores, then yes.20:54
amcrnthe original blueprint modeled this. each datastore typically needs 2-4 pieces of metadata when adding a node, which means your documentation for add_node will have 20+ fields, each littered with "this is only applicable to <x> datastore"20:55
amrithso maybe the action here is to look at the datastores we know of and make sure that a generic call (scaleXX) can be used for the various scenarios we expect to encounter.20:56
denis_makogonamcrn, could you please answer how should client know which action are allowed and which are not against cluster datastore?20:56
amcrni'm not concerned about the cli at the moment. as long as the api is modeled correctly, the cli can adapt as deemed necessary.20:57
denis_makogonamcrn, what about web?20:57
amrithamcrn, yes to that. absolutely. getting the api right is more important. the CLI will be a breeze by comparison.20:58
amcrnamrith: depending on the datastore, building a node vs. adding a node vs. joining a node are different. the terminology used is paramount.20:58
*** boblebauce has quit IRC20:58
amcrnheck, even "node" vs. "member" mean different things depending on the datastore20:58
amrithabsolutlely. a trivial solution that would meet the goal that we set out to acheive in paris would be to have the api's be /.../scaleup/add_shard and /.../scaleup/add_node20:59
amrithbut that's not what I'm after.20:59
SlickNikamrith / amcrn: So just to confirm that folks are on the same page, the way we support actions today is through a single API endpoint <instance-uuid>/action.20:59
SlickNikThe actual action to perform is part of the payload.20:59
openstackgerritBob Thyne proposed openstack/python-troveclient: Adds support for Keystone V3 API  https://review.openstack.org/13412620:59
amcrnSlickNik: correct21:00
*** sgotliv has joined #openstack-trove21:00
amrithyes, that's the intent of the earlier /scaleup/add_shard or scaleup/add_node approach21:00
amrith<instance-uuid>/scaleup/add_node wouldn't be outrageous21:00
amrithaction ~ scale...21:00
amcrnso how would replacing a node be modeled?21:00
amcrnscale-nothing?21:01
amrithwhat's the datastore agnostic "action" for replacement?21:01
amrith<instance-uuid>/replace/...21:01
SlickNikamrith: But what if your datastore "scales up" not by adding a node, but by adding a shard?21:02
amrithSlickNik, that would be <instance-uuid>/scaleup/add_shard21:02
amrithif some other datastore does it by more hamsters, you may have21:03
amcrnbut what have we solved then? it's not generic, because add_shard still exists21:03
amcrnyou've just introduced another level of indirection (scaleup)21:03
amrith<instance-uuid>/scaleup/add_hamsters21:03
amrithamcrn, like I said this isn't really the idea way21:03
*** vigneshvar_ has quit IRC21:03
amrithI said (at 15:59) a trivial solution would be ... this is just a lame indirection21:03
amriththe right way is to come up with a proper set of abstractions that will be truly database/datastore agnostic.21:04
amrith"so maybe the action here is to look at the datastores we know of and make sure that a generic call (scaleXX) can be used for the various scenarios we expect to encounter."21:04
amriththat was my understanding of the rationale for this discussion in Paris.21:04
amrithSlickNik, is that right?21:04
SlickNikBut in that case, don't you end up with a fragmented API? I.e. different datastores support only some parts of the API, and you're not quite sure which are supported for which datastores?21:05
amcrni don't get the value of the abstraction. it merely guarantees that people who really understand their datastore won't get to use terms that they know and understand.21:05
SlickNikI think folks suggested that it might be useful to have something generic like grow-cluster.21:07
amrithSlickNik, that is true. it would be good to have a properly modeled generic abstraction.21:07
amcrnwhat does "grow-cluster" mean in the context of mongodb? how about redis w/ sentinel?21:07
amcrnit's not clear, so you have to keep adding datastore-specific fields to a "generic" action for it to make sense21:07
amcrnwhich defeats the original intent altogether21:08
amrithif we go down this path, and conclude that each datastore has its own eccentricities, then the abstraction I'd suggest is <instance-uuid>/mongodb/...21:08
amrith<instance-uuid>/redis/...21:08
amrithor some such21:08
SlickNikamcrn: the only way I see something like that make sense is if you'd be able to define as part of the datastore what a generic "grow" API call would mean.21:10
amrithin any event, the intent of the bp was to be to explore whether we could have such a "more generic" api.21:10
amrithSlickNik, I believe that is possible.21:10
amrithand would be beneficial.21:10
amcrnthat's extremely difficult21:10
*** thedodd has quit IRC21:10
SlickNikAnd even then, I'm not sure if that could be solved, or if that might actually be a property of the deployment in some cases.21:11
amrithSlickNik, what do you suggest?21:12
amrithis it worth exploring some more or not?21:12
amrithI think we agreed in Paris that this was worthwhile and Denis wrote the spec. Are we now saying thank you but no thank you?21:13
openstackgerritPeter Stachowski proposed openstack/trove: Mark certain configuration options as deprecated  https://review.openstack.org/12484621:13
denis_makogonso, let me clarify something, for now we have actions for clusters, but we as users don't know which actions are allowed (right?), what if we'd have an API that describes which cluster actions are allowed for execution against specific datastore?21:14
SlickNikamrith: For one, I think the spec that's written is not a reflection of what we are talking about here, and might be one of the main reasons for the -2 on the spec.21:14
amcrndenis_makogon: you're resurrecting the idea of "capabilities". be careful, dragons be here ;)21:14
amrithI thought that was what capabilities was for.21:14
openstackgerritPeter Stachowski proposed openstack/trove: Mark certain configuration options as deprecated  https://review.openstack.org/12484621:14
amrithdamn, amcrn beat me to it as I read what SlickNik wrote ;)21:15
SlickNikamrith: specifically the topic of deprecating the "add-shard" action21:15
SlickNikBut yes, I'm not sure we want to go down a capabilities route either.21:15
amrithSlickNik, yes, there's some difference between what we discussed and what is in the spec. but looking only at what we discussed, (which did include deprecating add-shard), what are we saying?21:15
*** boblebauce has joined #openstack-trove21:16
amrithif we don't deprecate add-shard then adding "grow-cluster" seems pointless.21:16
amrithbecause tomorrow, you'll need "add-hamster" as well21:16
amrithand "expand-redis-with-sentinel"21:16
amrithand so on.21:16
denis_makogonamrith, agreed21:17
SlickNikamrith: I'm not sure I buy that.21:17
amcrnfwiw, when this was originally discussed, there was a consensus that having (1) /action/<the_action> and (2) /<datastore>/action were more harmful than (3) /action with payloads varying on the datastore/situation.21:18
amrithSlickNik, why?21:18
SlickNikAs a user of the trove API, do I really care if I grow my cluster by adding a shard, or by adding a hamster?21:18
amrithamcrn, yes, that is what we talked about.21:18
amrithSlickNik, if your datastore has two distinct capabilities, I believe you would21:19
amrithlike the ability to choose the right one for you.21:19
denis_makogonSlickNik, amrith is right21:19
amrithgiven the particular reason why you are "growing the cluster".21:19
amrithif you have more data with the same keys, you'd like to grow the shard.21:19
SlickNikIn that case your generic API would not work, since you can now not differentiate whether to add a shard or a hampster just depending on that one API call.21:19
amrithif you have more data and want to spread it around, you'd want to add shards.21:20
amrithSlickNik, the payload to the generic api would tell which you wanted.21:20
amriththat would be like (3) in amcrn's outline21:20
amriththe issue is what we define as the action21:20
amrithis it "grow cluster" or "add shard"21:21
amrithis "add shard" in the payload21:21
amrithor the action21:21
amrithI thought we wanted "grow cluster" to be the action21:21
amrithand "add shard" the payload21:21
amrithwhich make deprecating "add shard" make sense21:21
SlickNikIf you're depending on the payload to grow cluster, how is that different from depending on the payload to /action?21:21
amrithand my thinking at the time was the simplistic indirection we discsussed arlier.21:21
*** fifieldt_ has joined #openstack-trove21:22
amriththe distinction is that you have 1 action with two kinds of payload. or two actions (each with their own payload).21:22
amrithI thought we wanted 1 action21:23
amrithand would pay the price of having two kinds of payload21:23
amrithbut I don't think we talked about the latter part21:23
amrithonly the former, of having 1 action, the unified "grow cluster" action21:23
*** fifieldt has quit IRC21:23
amriththe distinction of add_node vs. add_shard is not something we discussed.21:23
*** thedodd has joined #openstack-trove21:24
SlickNikSo don't we just get that if we add another payload like "add-node" to /action for clusters?21:24
amrithwe certainly could.21:25
SlickNikdoes moving that payload to /grow-cluster instead give us much benefit other than pointing out that some of the actions you're now calling help grow the cluster?21:25
amrithgood question, I don't know the answer for sure.21:26
amrithbut at first blush it appears that it provides no more.21:27
*** radez is now known as radez_g0n321:27
amrithwhich of course begs the question, why not stick with what we have?21:27
amrith"add-shard" seems fine to me in that case.21:27
amrithanyway, toodles for now. I have to and play in traffic for a while.21:28
denis_makogonhm, good question21:28
SlickNikamrith: will catch up with you later.21:28
SlickNikamrith / amcrn / denis_makogon: thanks for bringing this up for discussion.21:29
amcrnword21:29
*** miqui has quit IRC21:29
*** jcru has quit IRC21:29
*** exploreshaifali has joined #openstack-trove21:30
*** amrith is now known as _amrith_21:37
*** sriram_tesora has quit IRC21:44
*** sriram_tesora has joined #openstack-trove21:44
*** jmontemayor has quit IRC21:51
*** tomblank has quit IRC22:01
*** jmontemayor has joined #openstack-trove22:05
*** grapex has quit IRC22:07
*** grapex has joined #openstack-trove22:08
*** grapex has quit IRC22:13
*** boblebauce has quit IRC22:18
*** exploreshaifali has quit IRC22:20
*** newb has quit IRC22:23
*** jmontemayor has quit IRC22:26
*** robertmyers has quit IRC22:27
*** tomblank has joined #openstack-trove23:06
*** vkmc has quit IRC23:11
*** sriram_tesora has quit IRC23:27
openstackgerritRiddhi Shah proposed openstack/trove-specs: Specs for flavors per datastore  https://review.openstack.org/13512823:52
*** mattgriffin has quit IRC23:52
openstackgerritRiddhi Shah proposed openstack/trove-specs: Specs for flavors per datastore  https://review.openstack.org/13512823:53
*** denis_makogon has quit IRC23:54
openstackgerritRiddhi Shah proposed openstack/trove-specs: Specs for flavors per datastore  https://review.openstack.org/13512823:54

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