13:00:30 #startmeeting neutron_db 13:00:32 Meeting started Tue Jun 3 13:00:30 2014 UTC and is due to finish in 60 minutes. The chair is HenryG. Information about MeetBot at http://wiki.debian.org/MeetBot. 13:00:33 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 13:00:35 The meeting name has been set to 'neutron_db' 13:00:52 Today's agenda: 13:00:58 #link https://wiki.openstack.org/wiki/Meetings/NeutronDB#Agenda 13:01:11 #topic Spec/Blueprint 13:01:13 hi 13:01:19 #link https://review.openstack.org/95738 13:01:32 #link https://blueprints.launchpad.net/neutron/+spec/db-migration-refactor 13:01:39 I have linked some bugs to the BP. 13:01:44 Please add any missing associated bugs. 13:01:50 (In the launchpad BP page, click on "Link a bug report".) 13:01:58 Some of those bugs may be abandoned. We'll discuss this shortly. 13:02:42 The questions raised in the spec review are design questions, so let's discuss those now. 13:02:59 #topic Design 13:03:13 I have missed the previous meeting - so if I’m talking about stuff already committed please just reply “sorry, already committed" 13:03:32 yes I've got this document with some notes and related link to change #link https://docs.google.com/a/mirantis.com/document/d/10p6JKIQf_rymBuNeOywjHiv53cRTfz5kBg8LeUCeykI/edit 13:03:40 salv-orlando: good to have you here! 13:03:57 I am still “supporting” a model where the migrations are healed within the migration path; this is mostly to make it easier for operators. 13:04:10 I also think and I believe we all agree that we don’t need to support offline migrations 13:04:40 And I still think we can rework existing migrations, guaranteeing downgrade up to havana 13:05:42 salv-orlando: So you mean no separate migration timelines? 13:06:04 yes. But since you’re supporting an approach for a fresh start, this is probably not feasible? 13:06:49 I am going to ask akamyshnikova and jlibosva to offer their opinions. 13:07:24 using healing migration have such plus that would be easier get context and won't be such problem that someone forgot to run --heal. But using separate script is also acceptable 13:08:07 rpodolyaka, what do you think do we need a separate script? 13:08:22 I thionk there are two problem with an upgrade script. None of them is a show stopper 13:08:55 1) operators should be aware of it and execute it prior to deploying juno. If the operator is a trunk chaser it should execute it immediately before rolling any juno commit 13:09:04 akamyshnikova: I think, no. so it would be just another migration 13:09:26 salv-orlando: why it cannot be run from neutron-db-manage? but not part of migration 13:09:31 2) discontinuity - no downgrade. Tipically people don’t. But sometimes things do not go right, so you have to. 13:09:57 The trickiest issue I see is that before the healing the schema is not a known thing (it depends on the config). So how can we downgrade to that? 13:10:17 I guess you still have the config 13:10:18 jlibosva: I am assuming you do not want to add conditional switches in neutron-db-manage to say if you’re going past icehouse then do first the script and then resume migration 13:10:45 I was think that we don’t need to keep all those hundreds of migrations we have. 13:11:24 if you install anything past icehouse. I would have a situation like the following: 13:11:46 from icehouse upwards first run healing migration and then any other migration that it might be added 13:12:08 from icehouse backward run healing migration again, and then a single, coalesced migration from going from icehouse to havana 13:12:23 as grizzly is not supported anymore - havana can be considered starting point 13:12:36 the healing migration, being idempotent 13:12:43 can be at multiple places in the migration path. 13:13:06 I think we all agree it will be idempotent, regardless of whether it’s a migration or a script? 13:13:15 right 13:13:18 meaning that if you run it twice you don’t screw your database! 13:14:36 no, I think running it twice won't be a problem. 13:15:08 akamyshnikova: it will probably depend on how you 'heal' the schema :) 13:15:51 rpodolyaka: have you seen akamyshnikova 's WIP? 13:16:27 HenryG: I saw some patch last week. Haven't seen updated stuff yet 13:16:56 * HenryG is looking for the patch ... 13:17:15 https://review.openstack.org/#/c/96438/2 ? 13:17:27 the last one is this #link https://review.openstack.org/96438 13:17:33 yes :) 13:17:40 * rpodolyaka looks 13:18:35 akamyshnikova: I'll some comments 13:18:42 *leave 13:19:06 of course, all comments are welcome 13:19:08 I think the concept would be pretty much “if this table is not there create it” or “if this column is not there, create it" 13:19:27 technically not super-difficult, but surely boring as hell 13:19:43 So are we agreeing that we'll aim for a "healing migration" and stop calling it a script? 13:19:51 there I use alembic that find out all differences 13:20:04 HenryG: looking at Anna’s patch it could be easily script run withing a migration 13:20:05 salv-orlando: probably, also missing unique constraints and indexes? 13:20:21 rpodolyaka: you’re tempting my pedantry… 13:20:59 So you can have a script for people who do not wish using migrations (if there’s anybody out there who runs for instance only on autogenerated schemas) 13:21:14 and the same script being executed within the migration path 13:21:53 I thought we are going to remove auto-generation? 13:24:46 Yes we are. 13:24:54 until that happens however people might still do that. 13:25:27 And also I was just looking for a good excuse to give users the double option of having an offline script to heal the database as well as a migration. 13:25:41 OK 13:26:32 So I assume the removing auto-generation of db schema from models at startup: that will have to be done some time after we have committed the healing? 13:26:33 Anyway I think we can move the technical discussions around design to gerrit, since the spec is there now. 13:26:58 HenryG: I think we can do that also in parallel, do you see a reason why we shouldn’t be able to do so? 13:27:32 salv-orlando: IIRC Mark told me the db scheme is not the same when using neutron-db-manage and create_all() 13:27:42 because of missing stuff in migrations 13:27:43 salv-orlando: if it goes in before then we can skip the extra script? 13:28:29 jlibosva: anna is looking after discrepancies 13:29:33 HenryG: I guess so. 13:29:59 So ... 13:30:12 1) fix migrations bugs currently filed 13:30:20 Honestly however the devil is in the details here, so I’d rely on the outcome of the various jenkins jobs for the patch that remove the migrations 13:30:52 migrations or auto-generation? 13:30:59 salv-orlando: I think we have all the bugs filed 13:31:18 2) remove auto-generation 13:31:38 3) Supply healing migration 13:31:43 4) ... 13:31:49 5) Profit! 13:32:02 I was hoping for that! 13:32:46 I am still little fuzzy on the downgrade, but let's discuss that in the spec comments. 13:32:55 What is item #4? 13:33:02 pray that everything works? 13:33:19 :) 13:33:41 We all agreed about not to do downgrade for healing script, am I right? 13:33:48 If we will fix all the missing parts in migrations, does it have to be in healing script then? 13:34:48 akamyshnikova: My fuzzy understanding is the downgrade will be a one-time special to havana only. 13:34:57 imo downgrade is not worth it 13:35:55 What I am not clear on is juno -> icehouse downgrade 13:36:41 I was thinking that the downgrade brings you in a parallel universe 13:36:43 ;) 13:36:55 where the parallel universe has a consistent “icehouse” db state 13:37:18 salv-orlando: is that really a downgrade? or a slidegrade? 13:37:31 but if you do not want to break space time continuum, then just kill the old migration path, and start a new one with juno 13:37:49 whatever it is it will give you an icehouse database you can use with the software 13:37:57 true 13:38:00 (I don’t know what a slidegrade is) 13:38:21 I meant sidegrade. It wasn't very funny. 13:38:23 Is it a downgrade done with powerpoint? :p 13:38:48 I see it’s pretty much like Doc’s diagrams on back to the future I guess... 13:39:02 you go back to icehouse but it’s not the icehouse you used to kniow 13:39:20 The downgrade to icehouse/havana can be worked on separately? 13:39:29 yes it can I guess 13:39:37 If so, we can keep it on a wishlist status. 13:40:29 Let's concentrate our efforts on the healing migration for now. 13:41:33 I will update the spec 13:41:52 Please keep the review comments coming 13:42:15 Any other design questions? 13:42:30 ok, also I hope to see some comments to my WIP change. 13:42:34 HenryG: I like the diplomatic answer to say - yes we could do that but I’d rather not ;) 13:43:43 salv-orlando: If I wrote that you would -1 me 13:44:23 whatever works for operators works for me anyway, so if we don’t have a requirement for downgrades from juno to havana I’m fine with doing keeping the discontinuity 13:45:18 Is there an operators list? Should I ask there? 13:45:33 operators@lists.openstack.org 13:45:54 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators 13:45:57 #action HenryG to ask about downgrade requirements on operators list 13:46:15 salv-orlando: thanks 13:46:35 moving on 13:46:41 #topic Testing 13:47:15 akamyshnikova: can you update me/us on what you are syncing from oslo? 13:48:54 it was a module that created rpodolyaka that check models and migrations synchronization. As it had to be moved from oslo to oslo.db work on this stoped. 13:49:19 Is oslo.db a package? 13:49:35 afaik is still “incubating” is it? 13:49:42 it's graduated 13:50:01 we haven't cut the first release yet 13:50:02 ah good to know, so we need to do another big port in neutron as we’re doing for oslo.messaging 13:50:23 I hope the transition will be fairly smooth 13:50:32 no big changes needed 13:50:36 rpodolyaka: when will it be released? 13:50:56 HenryG: asap, we are waiting for a few important patches to be merged first 13:51:17 I would rather go directly to the package if possible 13:52:21 rpodolyaka: will you be introducing oslo.db to neutron? 13:52:46 HenryG: yeah, as soon as it's released :) 13:53:29 OK, please keep me up to date on the progress 13:53:36 HenryG: sure, np 13:53:56 #topic Meeting time 13:54:13 Can we move the meeting to Mondays at 1300 UTC? 13:54:21 yes :) 13:54:32 np 13:54:52 rpodolyaka ? 13:55:46 mondays are fine for me fwiw 13:56:10 Great. I will update the wiki 13:56:23 HenryG: works for me 13:56:25 #topic Open discussion 13:56:50 If there are no further questions I will end the meeting 13:57:15 I have no questions 13:57:15 Thanks everyone for your time! 13:57:41 See you in the spec and code reviews! 13:58:16 #endmeeting