15:00:11 <johnthetubaguy> #startmeeting XenAPI
15:00:12 <openstack> Meeting started Wed Dec 18 15:00:11 2013 UTC and is due to finish in 60 minutes.  The chair is johnthetubaguy. Information about MeetBot at http://wiki.debian.org/MeetBot.
15:00:13 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
15:00:14 <BobBall> it's 15:04 according to rackspace's public cloud ;)
15:00:15 <openstack> The meeting name has been set to 'xenapi'
15:00:26 <BobBall> ohhhh
15:00:38 <BobBall> okies
15:00:39 <BobBall> hi :)
15:00:51 <johnthetubaguy> well according to your VM I guess, time for NTP
15:00:57 <johnthetubaguy> #topic date of next meeting
15:01:04 <johnthetubaguy> OK so its a bit backwards
15:01:07 <BobBall> yeah
15:01:08 <BobBall> true
15:01:19 <johnthetubaguy> but its Christmas soon, so when is the next date people are around?
15:01:36 <johnthetubaguy> 8th Jan?
15:01:40 <BobBall> I'm off for like ages
15:01:41 <BobBall> yes
15:01:43 <BobBall> should be back then
15:01:45 <BobBall> with any luck
15:01:47 <johnthetubaguy> cool
15:02:04 <johnthetubaguy> #info next meeting is Wednesday 8th January 2014
15:02:24 <johnthetubaguy> #topic blueprints
15:02:36 <BobBall> We've got a number of apologies
15:02:38 <johnthetubaguy> any blueprint updates this week?
15:02:43 <BobBall> Mate can't be here because he's off ill
15:02:50 <johnthetubaguy> ah, OK, apologies are good
15:02:52 <BobBall> Guillaume can't be here because he's on holiday
15:03:08 <johnthetubaguy> both reasonable excuses, and expected this time of year I guess
15:03:17 <BobBall> Euan can't be here either (although he's not been focusing on OpenStack stuff lately either)
15:03:22 <BobBall> so it's just you and me John.
15:03:50 <BobBall> I'll say what I can - but I suspect we'll have a short meeting :)
15:04:10 <BobBall> Guillaume has updated the ehterpad at https://etherpad.openstack.org/p/pci-passthrough-xenapi
15:04:13 <johnthetubaguy> hmm, thinking we should have just met up for mulled wine somewhere, but anyways
15:04:32 <BobBall> I can't have mulled wine and champagne on the same day...
15:04:58 <johnthetubaguy> lol, OK, its not even mixing your drinks
15:05:12 <johnthetubaguy> Oh, I see, more info on the plugin
15:05:14 <johnthetubaguy> cool
15:05:17 <johnthetubaguy> seems like progress
15:05:23 <johnthetubaguy> did you hear about any blockers?
15:06:01 <BobBall> blockers for what?
15:06:12 <BobBall> XenAPI being broken? or PCI or what?
15:06:16 <BobBall> no
15:06:20 <BobBall> in any case lol
15:06:47 <johnthetubaguy> I was just meaning anything they found that is blocking them macking progress
15:06:57 <BobBall> no
15:06:58 <johnthetubaguy> anyways, sounds all good
15:07:07 <BobBall> he's got a patch nearly ready to upload
15:07:13 <johnthetubaguy> I have a few blueprints up for review, but nothing major
15:07:18 <johnthetubaguy> looking forward to reviewing it
15:07:22 <BobBall> he asked me today (despite being on holiday) about how to get it up
15:07:34 <BobBall> so I said to upload to gerrit and mark WIP if he wants early feedback
15:07:43 <johnthetubaguy> cool
15:07:44 <johnthetubaguy> thanks
15:08:16 <johnthetubaguy> I have VIF hotplug, vcpu_pin_set and resize ephemeral disks up for review
15:08:32 <BobBall> brill
15:08:37 <BobBall> I've got a bunch of stuff up for review
15:08:40 <BobBall> but none has a BP
15:08:42 <BobBall> tempest improvements
15:08:47 <johnthetubaguy> right now I am concentrating on making live-migrate suck less, its mostly about cells, reporting errors, and edge cases, when it works it seems solid now
15:08:47 <BobBall> minor bug fixes
15:09:10 <johnthetubaguy> yeah, they look like quite important fixes mostly, nice work there
15:09:33 <johnthetubaguy> OK… so lets talk bugs I guess
15:09:38 <johnthetubaguy> #topic Bugs and QA
15:09:39 <BobBall> Should I make a random BP for them?
15:09:52 <BobBall> I know you're looking, but I'm not sure how else to encourage reviewer love ;)
15:09:56 <johnthetubaguy> BobBall: nah, probably not worth it, but its up to you really
15:10:04 <johnthetubaguy> well it would only get low anyways
15:10:08 <BobBall> well I'll give it till after christmas
15:10:10 <johnthetubaguy> maybe target the bugs for Icehouse-2
15:10:52 <johnthetubaguy> so I spotted a nasty live-migrate issue, where the VM can get deleted
15:10:59 <BobBall> deleted?
15:11:01 <BobBall> ouchy
15:11:02 <BobBall> how
15:11:03 <johnthetubaguy> https://review.openstack.org/#/c/62855/
15:11:32 <johnthetubaguy> it could be a theoretical error, but I had a coding error make a VM get destroyed, so I felt the need to fix it
15:11:59 <johnthetubaguy> its because libvirt, I think creates the domain, so needs to destroy it, but XenServer looks after all that "for free"
15:12:20 <BobBall> ah ok
15:12:28 <johnthetubaguy> I need a follow up patch to do a proper rollback, but I am good with a bit broken over utter disaster
15:13:15 <BobBall> yeah
15:13:16 <BobBall> true
15:13:22 <johnthetubaguy> cool
15:13:45 <johnthetubaguy> so any updates on the Zuul + tempest + XenServer stuff? I have lost touch with mate the last few days
15:14:05 <BobBall> he's been off
15:14:13 <BobBall> Latest status is the patches you know about
15:14:42 <BobBall> I was hoping that he'd make some more progress this week
15:14:47 <BobBall> but he won't be back till tomorrow
15:14:50 <johnthetubaguy> ah, OK, that would explain that, hope he gets better soon (and not just because I want that tempest testing running!)
15:14:51 <BobBall> so not much will happen I'm afraid
15:15:08 <johnthetubaguy> yeah, thats the way it goes, but we have some progress at least
15:15:35 <johnthetubaguy> I have a config drive fix to get ip addresses, but it didn't get out in the pre-christmas deploy that is happening at the moment
15:15:44 <johnthetubaguy> so will be post christmas now
15:15:47 <BobBall> that's fine
15:15:51 <BobBall> I'm not fussed about that
15:15:55 <BobBall> that's niceities
15:16:05 <BobBall> but not needed for the initial proveitworks
15:16:06 <johnthetubaguy> yeah, its not a requirement, but could make things alot easer
15:16:24 <johnthetubaguy> yeah, I thought that, but the work arounds are getting more complex by the second
15:16:34 <johnthetubaguy> anyways, we are getting closer, slowly
15:16:34 <BobBall> hehe
15:16:38 <BobBall> I think we're there though
15:16:44 <BobBall> I don't think we need any more for the config drive issue
15:17:15 <johnthetubaguy> I promised to look at configuring the localrc, but I am guessing mate has the environment for that already, so I am not sure me wading in is worth it at this point
15:17:28 <johnthetubaguy> buy lets check back in early Jan, and see where we are all at
15:17:42 <johnthetubaguy> I assume Mate is off for most of the christmas period?
15:17:50 <BobBall> Not most of it, no
15:17:52 <BobBall> he's working most
15:19:00 <BobBall> sorry, I have to brb john
15:19:10 <johnthetubaguy> OK
15:19:23 <johnthetubaguy> we might be done...
15:19:29 <johnthetubaguy> #topic Open Discussion
15:19:42 <johnthetubaguy> BobBall: ping me if you have anything to raise
15:19:45 <johnthetubaguy> I think that is all from me
15:21:38 <BobBall> sorry about that - I'm back now
15:21:42 <BobBall> johnthetubaguy: ping
15:21:49 <johnthetubaguy> hey
15:21:52 <BobBall> just wanted to talk about backporting aggregate fixes
15:21:57 <johnthetubaguy> ah OK
15:22:02 <johnthetubaguy> for the pool support?
15:22:02 <BobBall> https://review.openstack.org/#/c/61712/
15:22:07 <BobBall> indeed
15:22:25 <BobBall> The main issue is whether we can push for a simple backport
15:22:32 <BobBall> -backport
15:22:39 <BobBall> or if we have to backport the object support
15:22:56 <BobBall> the "simple fix" is to rename "metadetails" to "metadata" and cope with the hybrid model that we've got
15:23:00 <BobBall> but that's not the fix that went into trunk
15:23:02 <johnthetubaguy> ah, I would go for the simple backport
15:23:11 <johnthetubaguy> yeah, thats fine
15:23:18 <BobBall> good
15:23:21 <BobBall> that's what I thought
15:23:24 <johnthetubaguy> as long as a unit test catches it, I think thats cool
15:23:31 <BobBall> but wanted to make sure you were on board
15:23:37 <johnthetubaguy> no problem
15:23:50 <BobBall> the problem is the unit tests were wrong
15:23:58 <johnthetubaguy> it blocks out people using pools on havanna
15:24:05 <johnthetubaguy> and that seems like something worth fixing
15:24:13 <johnthetubaguy> if we don't plan on removing that support!
15:24:16 <BobBall> they were verifying the wrong behaviour in Havana - because the object support changed the interface without updating the users of the interface ;)
15:24:24 <johnthetubaguy> yeah, I remember
15:24:42 <johnthetubaguy> as long as there are fixed unit tests that fail before your fix, then pass after your fix, we are good, I feel
15:24:55 <BobBall> indeed john - there are
15:25:23 <johnthetubaguy> I figured they had to be, lol, but just giving you words to convince other people :)
15:25:52 <BobBall> The other part of it is I want - somehow - to test that the input to add_to_aggregate is what is expected at run time
15:25:55 <BobBall> not sure how to test that though
15:26:10 <BobBall> tempest doesn't do any mocking which would be needed to have two computes in a real environment
15:26:20 <BobBall> and it's an incredible high level test for a unit test
15:26:29 <johnthetubaguy> hmm, thats a good call, a unit test at the higher level should do that I guess? maybe compute rpc_api level?
15:27:01 <BobBall> do we have such tests that don't just mock everything?
15:27:17 <BobBall> my issue is that unit tests should be testing at a very low level
15:27:27 <BobBall> but this is a high level test with partial mocking that I'd need
15:27:31 <BobBall> and it's a bloomin pain
15:27:33 <BobBall> :)
15:27:35 <johnthetubaguy> well, you just need the call to RPC layer right, that shoudl be there already in a unit test
15:27:44 <BobBall> yeah
15:27:47 <johnthetubaguy> in theory at least
15:27:50 <BobBall> ok
15:28:01 <johnthetubaguy> I have a feeling I touched or created one of those at some point...
15:28:02 <BobBall> so you'd suggest a nova unit test doing whatever-the-hell-I-need-to-do
15:28:12 <BobBall> including DB access etc
15:28:20 <BobBall> cuz ideally I don't want to mock that
15:28:22 <johnthetubaguy> oh, I don't think you need any of that
15:28:41 <BobBall> Well the test will need a DB somewhere to store the aggregate I create
15:28:46 <johnthetubaguy> just create the object, fake out a load of stuff, and see what the compute rpc api gets
15:29:08 <BobBall> hmmm - I see
15:29:11 <johnthetubaguy> it will get an object_to_primitive conversion, and you should see the raw dict
15:29:29 <BobBall> I guess I can test that
15:29:38 <BobBall> hmmm
15:29:43 <johnthetubaguy> its worth a try, if it feels fake, go bigger I guess
15:29:46 <BobBall> that won't test everything I want tested though
15:30:06 <johnthetubaguy> yeah, it doesn't do end to end through RPC, but thats life at the moment
15:30:16 <BobBall> the thing that I want testing in a unit or tempest test is that the actual code in the driver to add an aggregate works with the input that it's passed... because that was where the object disconnect was
15:30:41 <johnthetubaguy> hmm, but tempest mocks nothing, just looks at public API endpoints
15:30:55 <BobBall> i.e. the input and output APIs were tested and "verified" by unit tests - but the input and output did not match
15:31:23 <johnthetubaguy> yeah, agreed, but thats why we need the XenAPI tempest ASAP (obviously)
15:31:33 <BobBall> That's still not going to test aggregates
15:31:38 <BobBall> and I don't see how it can without mocking
15:31:45 <BobBall> which tempest doesn't have ATM :)
15:32:02 <johnthetubaguy> yeah, we need multi host tests ASAP, which would test this
15:32:09 <BobBall> although I was musing on having a separable nova
15:32:20 <BobBall> prefix all hypervisor resources with a runtime defined string
15:32:28 <BobBall> then you can have multiple nova's for a single XenServer in theory
15:32:28 <BobBall> :)
15:32:39 <johnthetubaguy> we have the fake virt driver
15:32:47 <johnthetubaguy> you could expand that just to do the xenapi pool stuff
15:32:49 <johnthetubaguy> then test that
15:32:59 <BobBall> maybe
15:33:02 <johnthetubaguy> but its not worth it
15:33:04 <johnthetubaguy> I feel
15:33:12 <johnthetubaguy> just setup one system and log out the content
15:33:27 <johnthetubaguy> or better, just setup a system and test it once manually
15:33:48 <johnthetubaguy> you hit the errors really early on at least
15:34:16 <BobBall> manual testing isn't better
15:35:15 <johnthetubaguy> long term, sure, short term, its the best trade off I think
15:35:33 <johnthetubaguy> we need to get the multi xenserver tempest test, and sets up a pool at some point
15:35:43 <johnthetubaguy> but lets not run before we can walk right
15:36:16 <BobBall> That's a massive step - multi host stuff just isn't designed to work in zuul
15:36:22 <BobBall> __everything__ is single host only
15:36:31 <johnthetubaguy> agreed, we really need that soon
15:36:40 <johnthetubaguy> its killing us on a whole host of features
15:36:46 <BobBall> I think our only option in any <6 month (probably longer!) timescale is faking a host
15:37:00 <BobBall> or two novas on one VM
15:37:12 <johnthetubaguy> right, and we have the fake virt driver thats used of scheduler testing, you could expand that
15:37:21 <BobBall> yup
15:37:33 <johnthetubaguy> but its messy, and not very real
15:37:52 <johnthetubaguy> I guess our fake xenapi for the unit tests, wired up with the xenapi driver might get you some distance?
15:37:53 <BobBall> indeed
15:38:03 <BobBall> I started playing with that
15:38:07 <BobBall> but it gets ugly quickly
15:38:21 <johnthetubaguy> I know it doesn't do networking, for starters
15:38:40 <johnthetubaguy> I think its real or total fake as the two options
15:38:52 <johnthetubaguy> might be better making a local compute rpcapi
15:39:00 <johnthetubaguy> so we can test across the boundry
15:39:13 <johnthetubaguy> similar to some conductor stuff we do already I guess
15:39:26 <johnthetubaguy> would that work?
15:39:42 <BobBall> maybe, yeah
15:40:16 <johnthetubaguy> maybe try a fake rpc driver, that just makes real calls?
15:40:24 <BobBall> I think part of my issue is struggling to decide on the concept of the test because there are so many ways it _could_ be done and all of them are horrid
15:40:35 <BobBall> I'll have another think
15:40:41 <BobBall> let's not worry too much this week
15:40:46 <BobBall> hopefully we can talk about it next meeting
15:40:52 <BobBall> although I'm on holiday for most of the xmas period
15:40:52 <johnthetubaguy> OK
15:40:59 <johnthetubaguy> likewise really
15:41:31 <johnthetubaguy> I think testing across the compute boundary is worth a look, by someone wiring the two bits together
15:41:55 <johnthetubaguy> anyways
15:41:58 <johnthetubaguy> lets call it a day
15:42:02 <johnthetubaguy> any other bits?
15:42:08 <BobBall> nop
15:42:09 <BobBall> nope*
15:42:18 <johnthetubaguy> cool, have a good Christmas!
15:42:28 <johnthetubaguy> #endmeeting