21:12:11 #startmeeting nova 21:12:12 Meeting started Thu Jan 31 21:12:11 2013 UTC. The chair is dansmith. Information about MeetBot at http://wiki.debian.org/MeetBot. 21:12:13 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 21:12:15 The meeting name has been set to 'nova' 21:12:17 #topic vm-ensembles 21:12:19 sorry guys 21:12:23 yay 21:12:25 #chair vishy 21:12:26 Current chairs: dansmith vishy 21:12:28 i just ran out for lunch an i was late 21:12:38 bon apetite 21:12:56 we are just complaining about reviews in here anyway 21:12:57 :P 21:13:18 who all is here? 21:13:18 hemna: man, you really know how to get people to review your stuff, huh? 21:13:32 dansmith, I was just joking 21:13:33 i don't see comstud or markmc 21:14:03 well lets discuss ensembles anyway 21:14:27 where should we start? 21:14:41 i think the biggest request so far is to identify what you can't do with the current scheduler data 21:14:57 i.e. why is different_host not enough 21:15:37 as we have shown in the document it is best that scheduler has the whole picture and does not doe it in a pience meal fasion 21:15:45 (sorry it takes me a while to write) 21:16:16 there can be cases when the scheduling could lead to false negative admission control 21:16:46 more specifically when the host capacity allocation is high 21:17:08 the best way to do this is do have the scheduler make a "group" scheduling decision. 21:17:32 #link https://docs.google.com/document/d/1bAMtkaIFn4ZSMqqsXjs_riXofuRvApa--qo4UTwsmhw/edit (for the new people) 21:18:19 we provide a solution which uses anti affinity to ensure server fault tolerance 21:18:31 sorry, host fault tolerance 21:18:41 garyk: so the question is: is that small failure scenario enough to warrant the extra complication 21:19:18 garyk: it will still have to have some pretty smart logic in how to schedule the whole group and deal with all sorts of weird race conditions 21:19:28 garyk: so it may not even be feasible to do so 21:19:55 vishy: we feel that this can occur, the false negative, quite often. 21:20:13 especially when the host allocation capacity is high 21:20:17 hmm, I thought the goal of this stuff was something different, other than fault tolerance 21:20:52 there are 2 goals: 21:21:05 we started with high availability via anti affinity 21:21:22 and we are strving to add network proximity to improve performance 21:21:28 so it will be HA and performance 21:22:44 HA and performance are the major aspects of service level or quality of service 21:23:39 vishy: the proposed solution lowers the chance of problems. it does not prevent them complete;ly 21:23:59 i'm not totally convinced that it is better to do this via complicating the scheduler vs doing simple hints and try, retry 21:24:16 in fact, I think the proximity scenario (e.g., for HPC or Hadoop workloads) is a rather strong case to require group scheduling, which can not be easily achieved with sequential provisioning.. 21:24:47 glikson: but in that case why not just do a hint for host aggregates 21:25:15 I think trying to make the scheduler too smart will lead to a lot of hard to find bugs 21:25:39 well, how would you ensure that the first instance is provisioned in a location wit henough capacity "nearby"? 21:25:46 glikson: you wouldn't 21:25:56 if there isn't enough capacity it would fail and try again 21:25:56 vishy: all of the inaformation can be passed by hints. the sceduling hould just be done at one time. 21:26:58 vishy: how retries would help? wouldn't the weighting function return the same result? 21:27:03 garyk: i suppose we already do group scheduling, can we do this by just using the currentmulti_boot code? 21:27:47 as in simply change how instances are allocated when you do -n 5 21:27:47 vishy: this is possible. one would just need to know when the group ends. 21:27:51 that seems simple enough 21:28:23 garyk: nova boot -n 5 --hint same-network 21:28:27 or something like that 21:28:30 vishy: there are 2 issues with this 21:29:16 1. this is done with the same type of vm's and does not cater for heterogenous groups of vms (like we provided in the document) 21:29:50 2. the current implementation does not have anti affinity support for the group opertaion (which is a very simple patch) 21:30:05 so i would suggest we do 2 first 21:30:15 i think that the first case has more weight in the sense that if thescheduler has the whole pcture then it can make te best decision. 21:30:19 that seems like an obvious win 21:30:48 then i guess we need to support passing multiple requests in together 21:31:02 #2 is similar t what has already been implemented int he proposed review. 21:31:13 russellb: isn't really here to complain :) 21:31:23 it just extends that to be more than one group 21:31:29 russellb: is on a plane 21:31:35 can you link the review btw? 21:31:43 https://review.openstack.org/#/c/19906/ 21:32:17 we are sitting at -2 due to not supporting cells. but i think that it does support cells (i need a claficication from chris) 21:35:10 shall we move on? 21:35:38 dansmith: can we just continue with one more issue 21:36:00 garyk: if you've got one, it just seemed like the conversation had faded out 21:36:59 i was wondering if we need to talk about storing the group information. the initial plan was to store it int he meta data 21:37:05 aye 21:37:16 ok we will wait for comstud 21:37:22 what i am trying to say is that we need to store the group information 21:37:34 garyk: why do we need to store it? 21:38:00 vishy: we need to store it for future use. 21:38:19 vishy: that is future rescheduling of vm's that need to comply with the policy 21:38:57 or adding more VMs that should comply to the same policy (group elasticity) 21:39:19 an example of this is host maintenace. when moving the avtice vm's we should still strive for the network proximity an affinity 21:39:58 garyk: ok we need to save hints as well in that case 21:40:02 garyk: host maintenance is a bit sensitive topic now, if you follow the review on it :-) 21:40:05 storing it in system_metadata seems ok 21:40:33 vishy: that works for us at the moment. 21:40:34 #link novaclient/shell.py 21:40:43 #link https://review.openstack.org/#/c/19906/ 21:40:53 #action comstud to give feedback on cells 21:41:11 #action initial patch to simply extend multi-boot to schedule with hint 21:41:52 #Info initial patch to simply extend multi-boot to schedule with hint 21:42:09 vishy: for that we will need first and last (i.e. be able to do with heterogenous vm's) 21:42:19 #info later patches to add support for heterogeneous guests 21:42:37 garyk right either first and last or pass the whole list at once 21:42:48 personally thinking the whole list at once will be cleaner 21:42:53 ok lets move on 21:43:04 vishy: ok. thanks! 21:43:09 #info http://wiki.openstack.org/Meetings/Nova 21:43:13 * dansmith added to the agenda a minute ago 21:43:16 #topic Full Tempest Gate 21:43:24 sdague: around? 21:43:31 vishy: so, this is me fighting sdague's battle 21:43:38 vishy: he wants you to go +1 that patch :) 21:43:55 #link https://etherpad.openstack.org/MissingTempestTests 21:44:48 that is very cool 21:44:58 dammit 21:45:05 what is wrong with me and my link pasting? 21:45:10 #link https://review.openstack.org/#/c/20762/ 21:45:41 I'm like some sort of blabbering idiot this week.. must be the post-vacation syndrome 21:46:14 what's a vacation? 21:46:34 vishy: see the +1, thanks, we can move on now :) 21:46:35 so anything else to discuss there 21:46:40 not if you're good with it 21:46:53 that is a pretty short list for missing tests 21:47:02 tempest has come a long way 21:47:11 they're coverage-based missing tests :) 21:47:18 #topic Grizzly-3 review 21:48:19 #link https://launchpad.net/nova/+milestone/grizzly-3 21:48:25 only 50 blueprints! 21:48:36 :o 21:48:51 so mainly it is review review review 21:48:57 no-db-compute is getting really damn close 21:49:02 if there are any that you know aren't going to make it let me know 21:49:22 dansmith: don't forget about set-password 21:49:23 :) 21:49:39 vishy: yeah,. it's on the list 21:49:43 I'm trying to do more reviews of other folks' stuff to help out 21:49:44 also we lost our volunteer for https://blueprints.launchpad.net/nova/+spec/multi-boot-instance-naming 21:49:53 so if anyone wants to grab the patch and clean it up... 21:49:54 vishy: help me reduce my to-be-reviewed queue and I'll get to it sooner :D 21:50:27 i would also really like https://blueprints.launchpad.net/nova/+spec/improve-block-device-handling to make it 21:50:39 there has been a lot of discussion on the ml 21:51:31 i also see that there are 3 new unapproved bps 21:51:48 vishy: what's the process for cinder folks helping with nova reviews? 21:51:53 this one needs reviews https://blueprints.launchpad.net/nova/+spec/optimize-nova-network 21:52:02 kmartin: feel free to review stuff 21:52:43 i'm going to try and do lots of reviews over the next few days 21:53:13 thanks for the suggestions, I'll look at those as well fwiw 21:53:27 I did a bunch today hoping to win karma for my own patches :) 21:53:49 most of which are just a single tick away 21:54:02 #topic bugs 21:54:15 vishy: ok, should we just comment or give out -1 or +1 without have a bunch of experience in nova I don't want to step on anyones toes? 21:54:19 #link http://webnumbr.com/untouched-nova-bugs 21:54:23 we are going up a bit 21:54:32 so we need to remember to review those 21:54:41 not too bad for this point in the cycle though, it seems 21:54:51 kmartin: always give +1 -1 if you feel it is appropriate 21:54:58 also we have lots of bugs in novaclient 21:55:27 #link https://bugs.launchpad.net/python-novaclient/+bugs?search=Search&field.status=New 21:55:36 free cookies 21:55:38 :) 21:56:12 please help triage 21:56:25 i realize we will be switching focus to bugs soon but lets not let it get too far 21:56:30 #topic open discussion 21:56:36 anything else? 21:56:44 vishy: I would like to discuss https://blueprints.launchpad.net/nova/+spec/deferred-instance-deletes if possible. 21:57:21 We have been working on a draft review for it based upon how we implemented it in our essex product. 21:57:46 cburgess: ok shoot 21:57:52 Wanted to see if anyone has any opinions on the blueprint before we post the review. 21:57:59 At preset we are implementing 2 flags. 21:58:13 1 to control turing it off/on and another to specifty the location to store the deleted instances. 21:58:32 cburgess: i don't see the benefit of a new option over the current soft delete implementation 21:58:36 its up to each driver to implement support. We have a periodic job in the manager to do the cleanup that again each driver that wants to support it needs to implement. 21:58:56 Current soft deleted does not cover the 2nd and 3rd condition we outline in the blueprint. 21:59:13 Errors arrising from live migrations and user issuing a "stop" and "start" action via the API. 21:59:15 condition 3 doesn't exist anymore 21:59:23 stop and start doesn't delete the instance 21:59:26 Ahh ok cool. We shall remove that then. 21:59:35 It doesn't re-image anymore? 21:59:37 so i would prefer solving condition 2 by another means 21:59:49 cburgess: no it just powers off the vm 21:59:53 Excellent. 22:00:18 Hmm well I guess we could add some logic into the post migrate to do an m5sum on the disk images or something before cleaning up on the source. 22:00:26 cburgess: i would repurpose your stuff as configuring how long to keep the vm around during migrate 22:00:33 if it is a real issue 22:00:48 md5 sum would be a great idea, but since it is live... 22:00:52 they won't match 22:01:05 We've seen it happen a few times. Usually it involves also triggering some type of kvm/qemu or libvirt bug the result is the same, data gets nuked. 22:01:23 cburgess: so we should keep migrated disks around for a while 22:01:28 Yeah thats the issue I was thinking. I don't know of a truly unique fingerprint/checksum we could use on the disk. 22:01:31 cburgess: or... 22:01:48 we could force a resize_confirm like we do with non-live migrate 22:01:57 vishy: I suppose we could extend soft delete to also cover migrated. Only issue there is we couldn't use the DB record since the instance isn't in a soft deleted state. 22:02:46 vishy: I will take a look at resize_confirm and see what it provides. 22:02:54 cburgess: we've been discussing reorganizing the migrate code so resize/migrate share code with live/block migration 22:02:59 so if we do that 22:03:09 then we can force a confirmation step on block migrate as well 22:03:32 although i hate having to work around qemu/libvirt bugs like that :) 22:03:39 anyway we should probably end the meeting 22:03:44 cburgess: you have enough to go on? 22:03:56 vishy: I'm not a fan of working around bugs either but we simply can't loose our clients data if we can prevent. 22:04:02 #endmeeting