16:00:41 #startmeeting ironic_neutron 16:00:42 Meeting started Mon Jul 20 16:00:41 2015 UTC and is due to finish in 60 minutes. The chair is Sukhdev. Information about MeetBot at http://wiki.debian.org/MeetBot. 16:00:43 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 16:00:45 The meeting name has been set to 'ironic_neutron' 16:01:02 Good morning and welcome to our weekly meeting 16:01:11 #topic: Agenda 16:01:16 #link: https://wiki.openstack.org/wiki/Meetings/Ironic-neutron 16:01:35 Anybody would like to add/change anything on the agenda? 16:01:58 nope :) 16:02:04 #topic: Announcements 16:02:26 Liberty release schedule - https://wiki.openstack.org/wiki/Liberty_Release_Schedule 16:02:42 This gives us solid month and half to get our code in 16:03:13 ironic doesn't do a traditional feature freeze any more 16:03:33 jroll: Neutron side will impose it 16:03:34 but this is a large change, so I think it's still good to aim for early to mid september 16:03:37 right, I know 16:03:40 just a heads up. 16:04:13 As long as we get the Ironic-Neutron interface ironed out, we can continue to work on the Ironic side 16:04:34 Ironic Mid-Cycle - https://etherpad.openstack.org/p/ironic-liberty-midcycle 16:04:39 #link: https://etherpad.openstack.org/p/ironic-liberty-midcycle 16:05:14 I and mitch from Arista will be participating 16:05:36 * jroll will be there 16:05:46 Anybody has any other announcements? 16:05:59 Sudhhev: is this about mid-cycle participation? 16:06:13 viveknarasimhan: yes 16:06:15 yes, ironic midcycle. 16:06:22 Sukhdev: ok. thanks. 16:06:27 oh, also- 16:06:53 I'll be at the nova midcycle this week, hoping to spend some time discussing baremetal networking things in general, and reviving the nova patches I have for this 16:07:15 jroll: fantastic 16:07:59 jroll: please get the network flip logic (in principal) blessed by the team 16:08:15 will do what I can :) 16:08:31 Any other announcement? 16:08:48 Sukhdev: We are pushing 16:08:48 #topic: Specs Under review 16:08:56 #undo 16:08:57 Removing item from minutes: 16:09:15 viveknarasimhan: Please go on 16:09:23 Sukhdev: the mech-driver code-pieces under github.com/hp-networking/baremetal-network-provisioning 16:09:40 Sukhdev: we will bring them into Openstack namespace as per advise from armax 16:10:07 viveknarasimhan: I saw it, but, have not had a chance to review it carefully 16:10:31 viveknarasimhan: Do you have any ML2 driver already in place for VMs? 16:10:43 Sukhdev: Nope 16:10:52 #link: github.com/hp-networking/baremetal-network-provisioning 16:11:01 Sukhdev: We do have for VMs with ESX deployments under openstack/networking-vsphere 16:11:38 viveknarasimhan: I see - otherwise, these changes for Ironic will be trivial enhancements to existing ML2 drivers :-):-) 16:12:04 Anything else? 16:12:07 viveknarasimhan: question - is this meant to be an ml2 mech for all switch vendors, eventually, or only HP? 16:12:20 Sukhdev: Agree.. but HPN strategy has requested us to handle this separately in a different mech-driver. So we are pursuing this way 16:12:44 jroll: I guess not 16:12:55 jroll: Initially our focus is on HP ToR switches. We will add code eventually for other vendor switches as well 16:13:02 jroll: this is HP specific 16:13:07 viveknarasimhan: ok, interesting 16:13:11 Sukhdev: it appears pluggable. 16:13:16 anyway, let's move on? 16:13:34 jroll: It is pluggable.. we are defining it that way :) 16:14:00 viveknarasimhan: I will spend some time to review it and provide feedback 16:14:21 anything else? 16:14:28 Sukhdev: Please, welcome 16:14:48 #topic: Specs Under Review 16:15:03 We have one of the specs merged - yay! 16:15:07 \o/ 16:15:33 Second one is almost there - I was hoping we will get another Ironic core to +2 on it :-) 16:15:46 :jroll good job :) 16:15:51 yeah, I've been bugging people about the second 16:15:53 devananda had some questions 16:15:55 thanks lauramoore :) 16:16:09 o/ 16:16:29 devananda: see if you are satisfied with the responses to your comments - 16:16:31 there seemed to be 2 questions 16:16:48 1 about naming - i am thinking to go with portgroup 16:18:08 lauramoore: +1 on 1 16:18:12 does anyone have an issue with that? 16:18:31 fine with me 16:18:53 ok, second point seemed to be about using multiple pxe addresses 16:19:06 i'm not sure i completely followed this 16:19:12 right, so 16:19:19 my understanding was that we'd create a portgroup for a LAG'ed interface 16:19:24 the concern seems to be the "pick one at random" part 16:19:26 the portgroup would have 1 pxe address 16:19:48 i was thinking we could just enforce the portgroup address in that case? 16:20:00 the operator would set that address in the portgroup 16:20:17 lauramoore: so I don't think anyone is arguing with that 16:20:21 just the "If there are multiple ports choose one at random." 16:20:40 if there are multiple ports with pxe_enabled, we could just set up pxe options for all of them 16:20:52 and whichever the node boots from, it boots from 16:21:53 I think same as jroll. 16:22:21 correct - I think the wording is confusing the folks - 16:22:38 so in the case that we have 2 ports both pxe enabled, both in a portgroup 16:23:07 lauramoore: that case is clear, the portgroup is the only thing to boot from 16:23:25 ok, so we go with portgroup and the pxe_address in portgroup, right? 16:23:27 lauramoore: port group is really one (logical) port - 16:23:35 lauramoore: the unclear case is two ports (not in a group) or two portgroups, both with pxe enabled 16:24:00 in that case we take all ports not in portgroups that are pxe_enabled 16:24:12 we take all portgroups that are pxe_enabled 16:24:44 is this what you also think? 16:24:52 yes, and set dhcpboot options for all of them 16:24:59 however the spec says choose one at random 16:25:02 this was my understanding, but maybe the wording just needs fixed up to make it a bit clearer 16:25:40 I think it should read "if there are multiple ports, set DHCPBOOT options for all ports" 16:26:47 Are we good with this? 16:27:13 I am 16:27:17 looks good 16:27:18 ok, i'll update this, thanks! 16:27:26 thank you! 16:27:38 cool - looks like we have a closure on this 16:27:49 anything else on the specs? 16:27:50 lauramoore: a new rev with all the weedback would be great, ping me when it's up and I'll review asap 16:28:18 :jroll, thanks! 16:28:30 will aim to do this later today 16:28:47 We already have approval from the neutron side - so, this should go smoothly 16:29:01 on that note, I need to go catch a plane, sorry I can't stay for the rest of the meeting 16:29:28 jroll: we will try to miss you :-):-) 16:29:34 jroll: safe travells 16:29:36 heh 16:29:42 thanks everyone, see you later 16:29:59 Anything else on the specs before we move on? 16:30:26 #topic: Patches under review 16:30:33 #link: https://review.openstack.org/#/c/197774/1 16:30:48 I pushed this patch a while back as WIP - 16:31:00 this is to define the new vnic-type 16:31:22 this is to facilitate the filtering for ML2 drivers 16:31:56 I will remove the WIP from it - so that we can get this approved and merged 16:31:59 Sukhdev: useful patch. can we merge this 16:32:26 Sukhdev: +1 16:32:34 viveknarasimhan: I wanted folks to have a chance to review it - since this will be used by the Ironic side 16:32:39 it itself looks good 16:33:04 where can we implement the validation for this vnic type? ml2 plugin? ml2 mech driver? 16:33:23 amotoki viveknarasimhan : I spent some time last week playing with binding profile to make sure we are good with the interface 16:33:37 amotoki: We have done it in mech-driver 16:33:54 :sukhdev, thanks for posting this, it looks good to me too 16:34:12 amotoki: I think ml2 driver 16:34:13 Sukhdev: nice. i hope we have te validation logic in a common place. 16:34:26 Sukhdev: You can post teh binding_profile interface you have tested with. And we can correlate with ours we have used to develop. 16:34:55 viveknarasimhan: Oh - I did not get to finish my thought on my testing 16:34:58 it is from API perspective, but we can check it in a mech driver in the fist impl. 16:35:51 amotoki: I want to pick on your brain in terms of testing - in the Testing section - I have added a section to the Agenda - 16:36:13 so, hold off the testing part for a moment 16:36:30 So, coming back to my interface testing - 16:37:09 So, created a hacked up Nova patch (to be replaced by lauramoore's real patch) to verify the logic all the way back to ML2 16:38:00 The good news is that our ML2 framework is in real good shape and does not require any modification - other than the patch that I have pushed 16:38:15 Sukhdev: We observed the same too 16:38:41 we are in good shape - I was able to mess around on the nova side to push different values and they go in the correct place in the ML2 drivers 16:39:05 viveknarasimhan: excellent - so, double checking is great!! 16:39:15 Sukhdev: We did not change Nova, instead we played around with neutron port-create RESTful API during our development 16:39:27 no impl change is good for mech drivers. 16:39:46 a bad thing is there is no way to know the feature is supported from outside (like nova, horizon). 16:39:49 viveknarasimhan: either way is good - as long as we can mimic the behaviour 16:40:11 Sukhdev: Agree. 16:40:13 amotoki: you know from nova - but, not from horizon 16:40:41 amotoki: nova boot - knows when you are launching baremetal 16:40:46 Sukhdev: hehe.... it means we cannot implement a dashboard 16:41:01 it is a joke. 16:41:02 amotoki: correct - no horizon 16:41:45 So, I wanted to make a point that we are looking real good from the interface point of view - 16:41:56 from API perspective, nova networking interface (nova/network/neutronv2/api.py) checks if the feature is supported and then send request to neutron. 16:42:23 amotoki: correct 16:42:27 at now we need to send a request to neutron anyway to check baremetal vnic is supported. 16:42:34 amotoki: it uses ironic-driver 16:42:49 if nova can tell that the feature is supported by querying neutronAPI, then, in principle, someone could add that check to horizon as well, right? 16:43:32 devananda: yes 16:43:43 at now neutron does not support API micro-vesioning, so we need to use extension list to check a feature (ie, querying a fearture) 16:44:20 the current proposed change is an implicit change in the existing attribute (binding:profile) and there is no way to check it. 16:44:43 also, wouldn't this be a cloud-wide feature, not something that needs to be checked on every request? 16:44:44 devananda: currently neutron API can not tell 16:45:01 Sukhdev: oh ok, I misunderstood amotoki's comment then 16:45:25 amotoki: can we provide a simple extension file for this feature (no overriding any neutron resource in that ) 16:45:46 viveknarasimhan: it is what I start to think now. 16:46:15 amotoki: neutron ext-list validation should be sufficient for nova 16:46:27 viveknarasimhan: is it some thing trivial? can we pull it off in Liberty or shall we plan for M-release? 16:46:47 Sukhdev: It should be possible. we are still at Liberty-2 16:47:11 ideally it is better to define new attributes, but ml2 driver maintainer seem to want not to change ML2 driver interface and continue to use binding:profile. 16:48:19 amotoki: I would like to explore viveknarasimhan's idea about this 16:48:32 that may be a low hanging fruit 16:48:58 amotoki: your thought? 16:49:41 Sukhdev: I am okay, but I would like to avoid implicit changes as API person. 16:49:46 can we mention the API interface may be changed in Mitaka release? 16:50:36 amotoki: sounds good to me 16:50:50 amotoki: ok 16:51:13 I could not upload neutron devref last week. I try to cover the potential change in it. 16:51:44 anything else? since we are touching on documentation - that is our next topic 16:51:45 amotoki: cool. thanks 16:51:55 #topic: Documentation 16:52:16 amotoki and I discussed about the documentation plan for this interface 16:52:48 amotoki graciously agreed to document this in the devref 16:53:09 so, he has already provided the update on it :-) 16:53:19 amotoki: do you want to add anything more to it? 16:53:39 nothing at now 16:53:42 :amatoki, nice one, thankyou! 16:54:28 We will need another set of document from the Ironic side 16:54:43 perhaps I will add to the agenda for next week 16:55:17 The second part of the documentation will address the operator side - i.e. how to configure LAG/MLAGs 16:55:45 port channels, etc.. i.e. how to use the new Ironic API called out by lauramoore's spec 16:56:10 anything else on documentation? 16:56:16 * Sukhdev time check 4 min 16:56:27 #topic: Testing 16:56:41 I wanted to talk a bit about testing this feature - 16:57:05 there are two parts to the testing - end-to-end functionality 16:57:12 and, the API interface 16:57:30 amotoki: I want to pick on your brain regarding API testing 16:57:47 Since, we are tight on time - perhaps we can discuss this in next meeting 16:57:57 we have two new API: ironic side and neutron side. 16:58:05 Sukhdev: which part in your mind? 16:58:18 amotoki: the neutron side 16:59:01 amotoki: i.e. how to verify the switch-id, port groups, etc… 16:59:14 Sukhdev: I see. 16:59:15 amotoki: we do not have any tests that we can leverage from 16:59:37 doesn't port binding test help? 17:00:15 amotoki: I am going to explore it - I discussed this in ML2 meeting last week - 17:00:29 amotoki: it seems that may not be sufficient - 17:00:42 amotoki: lets plan on discussing this next week 17:00:43 Sukhdev: I can explore too. time is over.. 17:00:57 Yes, time is up folks - 17:01:09 Thanks for attending - it was a good discussion 17:01:12 bye 17:01:17 #endmeeting