14:01:30 #startmeeting neutron_ipv6 14:01:31 Meeting started Tue Feb 11 14:01:30 2014 UTC and is due to finish in 60 minutes. The chair is sc68cal. Information about MeetBot at http://wiki.debian.org/MeetBot. 14:01:32 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 14:01:35 The meeting name has been set to 'neutron_ipv6' 14:01:50 Hello everyone 14:01:58 hello 14:02:01 hello 14:02:12 hola 14:02:24 hello 14:02:30 #topic recap previous meeting 14:03:10 #link http://eavesdrop.openstack.org/meetings/neutron_ipv6/2014/neutron_ipv6.2014-02-04-13.59.html Previous meeting log 14:03:29 So last week, I had two items, post to the ML about our devstack config 14:03:36 and edit the horizon blueprint 14:04:01 Thankfully, someone else has taken up the horizon BP - so I'm not a SPOF on that 14:04:18 and I did post our devstack config to the mailing list 14:05:00 aveiga: you had an item to post to the ML, and I saw it yesterday yes? 14:05:09 yup 14:05:24 #link http://lists.openstack.org/pipermail/openstack-dev/2014-February/026792.html ML discussion about modes and validation 14:05:38 #topic blueprints 14:06:15 Looks like we've got some good discussion about that on the ML - saw a couple e-mails this morning 14:07:21 Do we have any blueprints, or any questions about the validation? 14:07:50 not so far 14:08:27 we need new blueprints for the validation? 14:09:04 I don't think that warrants a new BP 14:09:12 should be part and parcel of the API 14:09:28 +1 14:09:46 if you guys just give me clear direction on what combos to reject, I can add it to the API validation method 14:09:58 as xuhanp commented in the review 14:10:44 If there isn't anything else, I'll turn it over to open discussion 14:10:56 sc68cal: I brought up in the ML discussion that I think the only truly invalid combos are when the RA and addr modes conflict 14:11:10 example, one is set to slaac while the other is set to stateful or something 14:11:28 but we should give it a day or two for the ML to look at it 14:11:39 since this was (my apologies) only a recent discussion 14:12:14 OK. Can the check simply be if ra_mode != address_mode -> validation error? 14:12:24 or is stateful + stateless a valid combo 14:12:39 no 14:12:47 because mode/off are valid 14:13:06 addr = stateful, ra = off for example 14:13:34 gotcha. OK, I'll eyeball shshang 's pdf and build a table of good/bad values 14:13:54 thanks, sc68cal! 14:13:54 on the subjeft of the pdf, does the BP whiteboard support tables? 14:14:04 stateless and slaac is also valid 14:14:09 I'd like to convert the PDF to something a bit less dependant on outside systems 14:14:13 it doesn't seem like. I tried it, but I cannot insert table 14:14:28 We have a big wiki space on Openstack 14:14:39 I'll try adding it to the wiki 14:14:48 that may be the way to go 14:14:49 xuhanp: I'm worried about that combo 14:14:51 #link https://wiki.openstack.org/wiki/Neutron/IPv6 IPv6 Wiki 14:15:01 technically, yes it's possible and it will work 14:15:15 but you'll never initiate the stateless transaction without the O bit set 14:15:16 I believe the wiki supports tables :) 14:15:51 I may need to revisit the RFC to find out the details 14:16:47 xuhanp: the crux is that setting ra mode to slaac would be A=on, O/M=off 14:17:01 stateless mode would be A/O=on, M=off 14:19:20 oh, I see. So stateless by dnsmasq mean external router need to set O=on 14:19:45 xuhanp: yeah, the RA needs the O bit set 14:19:51 wherever it comes from 14:20:48 so why in the table, stateless and stateless is valid? 14:21:05 it should be 14:21:21 stateless RA sets A and O 14:21:43 stateless addr means auto-calculate the SLAAC address, but also have dnsmasq server up DNS and other options 14:21:57 Oh. Right. I see :-) 14:22:33 it just get confusing each time I look back at the two modes :) 14:22:57 thanks for the explanation 14:23:01 so if the addr mode and the RA mode are the same, it's always valid 14:23:10 if either mode is off, it's also always valid 14:23:26 BUT, if both are on but not the same, I think those are the only real invalid modes 14:25:01 although technically ra slaac and addr stateless is functional, it just would never use the dhcp server that we'd run for no reason :-P 14:27:22 any other blueprint stuff - otherwise I'll go to open discussion 14:27:54 I wonder how is it going with shshang's part 14:28:13 seems still a lot of work to do 14:28:29 xuhanp, any specific subjects? 14:28:48 no. Just wondering about your submitted change 14:28:58 seems like you changed a lot of code 14:29:15 yes, indeed 14:29:30 I saw your comments yesterday and i will clarify it 14:29:46 thanks 14:29:48 but thanks for providing the comments 14:30:01 no problem 14:30:37 I have a question, if both modes are off (as indicated in the first two rows in shshang's table), Is the CIDR still required while creating the ipv6 subnet? 14:30:38 If you think I overlooked anything, shoot me an email 14:30:54 hi.. sorry just catching up on comments form earlier in the meeting.. so not all combinations of ra and address are valid huh? 14:30:58 baoli: I think it should be 14:31:09 absubram: nope 14:31:20 aveiga, can you explain why? 14:31:32 absubram: the API will return you an error if you pick a bad combo, if you're worried about the horizon bp 14:31:41 because if you're creating a subnet anyway, you intend to use it 14:31:46 otherwise why create it? 14:31:49 sc68cal: thanks! that was going to be next Q :) 14:32:02 to points being made on the ML about multiple connections to the same subnet, this would deter that 14:32:15 or at leawst make it follow the validation bounds if they change them for SRIOV 14:32:39 sc68cal: how are things looking on the neutron side though? see the review is still in progress? 14:33:01 absubram: they are in progress - how are things on the horizon side? 14:33:15 aveiga, in that case, would the user simply say enable IPv6 on my network? 14:33:45 yes, because creating the subnet would allow for an RA to be issued from an outside source 14:34:21 perhaps a further refinement down the road would be for FWaaS to validate that the RA is on the right network or drop it 14:34:26 sc68cal: well I've updated the BP.. we have our weekly irc in a couple hours so will bring this up then.. let's see.. I think the only concern will be that we need to get this in after the neutron review is approved 14:34:42 so I think we should require a scope to be added for other systems to be able to do validation 14:34:48 even if we aren't using them yet 14:35:06 absubram, thanks a bunch for taking care of horizon piece. 14:35:37 any risk the BP may not get in on time? 14:35:43 absubram: Agreed- but you can still start the work. I don't remember off the top of my head if undefined attributes are silently discarded or an error is raised 14:36:00 sc68cal: I was also wondering.. if I did have some code ready for testing.. would one of you be able to test it just to ensure no functionality is missing? I can do some basic testing using the review diffs 14:36:25 absubram, I would love to help 14:36:27 absubram: yes, just pull down my review into your neutron repo for devstack 14:36:53 shshang: thanks! will keep you guys updated 14:37:14 absubram, please send email to the ML when your code is ready, and we can all test it 14:37:15 baoli: does that make sense to you? 14:37:18 aveiga, I wonder if today's neutron code allow create subnet without any IP specified? 14:37:20 I know I will. 14:37:21 I don't want to go spouting off 14:37:36 xuhanp: good question, I haven't validated 14:37:37 shshang: will do 14:37:46 xuhanp, I think CIDR part is mandatory 14:37:47 xuhanp: I don't think so 14:37:47 I can do a quick check tomorrow. 14:37:56 +1 - I think CIDR is mandatory 14:38:10 and I think ip version 14:38:36 so we should follow along with parity there, since anything developed against neutron subnets will rely on it being there by assumption 14:38:51 aveiga, I need to think about it. 14:39:00 do you have a use case in mind? 14:39:26 so what can we input for the CIDR if we want SLAAC IP address work with outside RA 14:39:43 Aveiga, I'm just thinking about the external router and service VM, etc. 14:39:54 xuhanp: The correct CIDR 14:40:02 sc68cal: +1 14:40:04 we have that patch that will calculate EUI64 addresses 14:40:11 baoli: it would be fine 14:40:12 so neutron will agree with the network 14:40:18 you should just provide the addressing 14:40:50 meaning neutron should match what you'll be configuring with the external router 14:41:38 still a little confuse. so neutron calculate EUI64 address, but that's after the subnet create is called, right? 14:41:53 xuhanp: yes 14:42:05 it's when a port is created from the subnet that the EUI64 address is calculated 14:42:05 Aveiga, think about ipv6 prefix delegation. Would it be known beforehand the prefix for a subnet? 14:42:11 for that port 14:42:47 baoli: nope, but your device could create the subnet in neutron from the delegated prefix 14:42:58 after all, until it's delegated, you have no network? 14:43:09 yes. so from the user perspective, they need to input the right prefix align with RA from external? 14:43:57 or the address in DB and in VM will mismatch, right? 14:44:07 xuhanp, yes 14:44:09 xuhanp: it's worse than that 14:44:33 if someone sets up rules further on that validate RAs to be for the local network, it will fail 14:46:00 also the iptable rule will block the traffic too 14:46:26 shshang: I think the iptables rules are port specific, except forr the RA source rules which are based on single addresses 14:47:04 that is correct. If the CIDR you configure is different from the real one, the iptable rule won't allow traffic in or out 14:47:24 ok, so it's about the iptable rules that have to be set based on the CIDR 14:47:39 baoli: it's more than just the iptables rules 14:47:47 it's what neutron has to provide to other sources 14:48:12 I think the answer to the PD question for now, is to crete the subnet after delegation occurs 14:48:22 until we can get some work done to properly handle PD 14:49:17 +1 - eventually we'll add support for PD so openstack does it all by itself 14:49:25 it may need to be an API extension however 14:49:48 unless I can convince them to crowbar just one more itsy bitsy change into the API ;) 14:49:52 PD support is a lot of work 14:50:02 since it makes the neutron network a client at that point 14:50:42 true - but Neutron was happy to be told a CIDR and when you switch off enable_dhcp it behaves nicely 14:50:53 then with the EUI64 it'd match up 14:51:03 Aveiga, I will take a close look at it from neutron side. 14:51:19 baoli: bring it up on the ML when you find something 14:51:28 aveiga, sure thing 14:51:29 I'd like to make sure we cover everyone's needs 14:51:51 sc68cal: sort of, but neutron would have to actually run a dhcpv6 client 14:51:56 for pd to work 14:52:18 aveiga: That's fine, that could be an async operation 14:52:38 I think that's a chat for after we've got more basic support in and workign 14:52:54 just create a new subnet and specify PD 14:53:04 we'd need to relax the cidr requirement, but that's OK 14:53:17 if we made it an API extension, we'd actually not need to muck with that 14:53:36 just do a request to the API extension, and it'd go create a new subnet with the PD 14:53:46 I'd go the other way, because the router would have to request the prefix 14:53:54 so it would just create the subnet on the fly 14:54:00 but again, that's a discussion for later 14:54:10 right - obviously some RPC work to make it all communicate correctly 14:54:18 in any case, not yet relevant 14:55:12 I have a quick question about code submission 14:55:28 can anybody help me how to write testing code? 14:55:52 I saw test.py in other code review, but not sure what it is for and how to build it. 14:57:07 since we only have several minutes, I also want to mention that I submitted code for RA security group. Will be great if you can take a look. 14:57:08 https://review.openstack.org/#/c/72252/ 14:57:17 thanks sc68cal for your review 14:57:24 No problem, you did a great job 14:57:27 shshang, sorry for the interrupt 14:57:35 np 14:57:38 hopefully my code was at least helpful 14:58:12 shshang: If you look in the neutron/tests/unit directory there are unit tests for the DHCP server there 14:58:13 it was very helpful, sc68cal 14:58:26 and aveiga's talk with me was too 14:58:41 shshang: Take a look at the console log from jenkins, find the unit tests that failed, and fix them up. Are you familiar with Mock? 14:58:52 glad to help 14:58:53 no, not at all 14:59:36 let me take a look at the tests/unit directory and I will send my questions to you, sc68cal? 14:59:54 yeah let's talk via e-mail and set up a pair programming time 15:00:06 sure, that will do. Thanks, sc68cal! 15:00:16 if anyone else wants to join in, let me know - trying to do some dev doc for Neutron 15:00:37 neutron is kind of a beast to learn 15:00:42 I might be able to help... this is for adding unit test cases? 15:00:50 yes 15:01:06 Alright - well until next time! Thanks everyone 15:01:11 #endmeeting