Earlier  
Posted Nick Remark
#openstack-nova - 2021-02-19
15:06:42 stephenfin I will give it to whomever wants it
15:07:04 stephenfin you can sub whomever with him, her, us etc.
15:07:11 sean-k-mooney imperitive vs questioning ?
15:07:15 stephenfin Whoever wants it can have it
15:07:33 stephenfin you can sub whoever for he, she, we, etc.
15:08:08 stephenfin so if e.g. "him" would make sense, choose whomever, else choose whoever
15:08:16 stephenfin at least I think that's how it works :)
15:08:59 stephenfin Yup, Google agrees with me https://www.grammarly.com/blog/2-effective-ways-to-deal-with-whoeverwhomever-confusion/
15:10:15 openstackgerrit Artom Lifshitz proposed openstack/nova master: pci: implement the `socket` NUMA affinity policy https://review.opendev.org/c/openstack/nova/+/772779
15:17:50 gibi sean-k-mooney, bauzas: I think I figured out another interesting thing. A subnet can be created without providing a segment id but also with --network-segment the user can provide a segment_id for a subnet. In the former case the segments plugin ignore the subnet and no placement and nova aggregates are created. But in the latter case the segment plugin acts on the subnet. However in both cases nova
15:17:56 gibi considers the network having a a segment as the segments list command returns the segment regardless of how the subnet was created.
15:29:34 openstackgerrit Artom Lifshitz proposed openstack/nova master: pci: implement the `socket` NUMA affinity policy https://review.opendev.org/c/openstack/nova/+/772779
15:58:45 bauzas gibi: I'm back
15:59:14 bauzas wrapping up on your comments
16:07:31 bauzas gibi: what you said last doesn't look an issue to me, right?
16:07:48 bauzas it's more the operator who messed up
16:09:40 gibi bauzas: no, both config is valid and both network is a valid network
16:10:06 gibi I think neutron considers net3 as a non routed network while net4 as a routed network
16:10:16 gibi but now consider both as routed and try to find the aggergate for net3
16:10:18 gibi and fails
16:10:52 gibi s/but now/but nova/
16:11:39 bauzas gibi: you refer to http://paste.openstack.org/show/802828/ ?
16:12:10 gibi sorry I refer to https://review.opendev.org/c/openstack/nova/+/773976/10/nova/scheduler/utils.py#1370
16:12:56 sean-k-mooney gibi: yes subnets dont need to have segment ids
16:13:11 sean-k-mooney gibi: but a network requires that all subnets either have them or none of them do
16:13:54 sean-k-mooney gibi: we shoudl have support for both routed and non routed netowrks in teh same cloud
16:14:16 gibi sean-k-mooney: ^^ yeah this is what my example in the comment tries out
16:14:56 sean-k-mooney no what i mean is i pointed this out already and bauzas added a func test to make sure this works if i am not rembereing
16:15:03 gibi so we can have one network with a segment and with subnet without that segment, and also another network with a segmetn and a subnet that has that segment
16:15:16 sean-k-mooney gibi: we will check every network but if a netwrok does not have segment it wont break anything
16:15:36 sean-k-mooney we are ment to catch InvalidRoutedNetworkConfiguration in the prefilter
16:15:37 gibi sean-k-mooney: yes but if the network has a segment but the subnet does not
16:15:58 bauzas gibi: and you're passing a port ?
16:16:00 sean-k-mooney segments are mapped to subnets
16:16:04 sean-k-mooney not to networks
16:16:14 bauzas that ^
16:16:14 gibi sean-k-mooney: but nova queries segment list
16:16:18 gibi for networks
16:16:34 bauzas gibi: for net3, it won't return segments, right?
16:16:43 sean-k-mooney no we get the segment on a network and look those up
16:16:46 bauzas https://review.opendev.org/c/openstack/nova/+/773976/10/nova/scheduler/utils.py#1356
16:17:01 sean-k-mooney the network itself never has a segment
16:17:14 gibi https://review.opendev.org/c/openstack/nova/+/773976/10/nova/network/neutron.py#3510
16:17:15 sean-k-mooney and all subnets in a singel networ will eithe rhave segments or not
16:17:23 sean-k-mooney neutorn does not allow you to mix within a netowrk
16:17:41 gibi bauzas: for net3 the segment list will return a segment
16:18:10 bauzas because of provider-segment ?
16:18:41 gibi I guess becuase it is a provider network
16:18:46 sean-k-mooney net3 in the test not http://paste.openstack.org/show/802828/ right
16:18:55 sean-k-mooney sorry need to try an pull up the same thing your looking at
16:19:16 sean-k-mooney same
16:19:32 bauzas I don't see how neutron can end up creating segments by the network
16:19:38 gibi sean-k-mooney: you see in that paste that for net3 the segmetn list returns a segment
16:19:47 sean-k-mooney what is net 3
16:19:58 sean-k-mooney the first vxlan one
16:20:08 sean-k-mooney sorry vlan
16:20:10 sean-k-mooney 0437d333-a597-4d50-867e-d1bee7e4fc59 | None | a75a232f-c1df-4b71-9597-92acc8e83dad | vlan | 103 | <-- this is net3
16:20:12 gibi sean-k-mooney: give me a sec, I put up a full reproduction printouit
16:20:29 bauzas gibi: looks to me the segmentation_id on the network is a VLAN ID
16:20:32 gmann lyarwood: ack, looks ok to me, I will merge that.
16:20:45 bauzas which makes no sense on a L3
16:20:49 bauzas but whatever
16:20:56 sean-k-mooney gibi: provider:segmentation_id is not the same as the segment-id
16:21:01 bauzas my point ^
16:21:04 sean-k-mooney provider:segmentation_id is the vlan id
16:21:08 bauzas \o/
16:21:13 bauzas I'm a network expert !
16:21:14 bauzas :D
16:22:05 bauzas gibi: that being said, does https://review.opendev.org/c/openstack/nova/+/773976/10/nova/network/neutron.py#3510 returns you some segments for net3 ?
16:22:10 bauzas it shouldn't
16:22:33 sean-k-mooney gibi: so ya the neutron plugin is slightly wrong
16:22:35 bauzas gibi: could you actually issue the CLI call against net3 ?
16:22:42 sean-k-mooney but it wont break us
16:22:56 gibi http://paste.openstack.org/show/802832/
16:23:03 sean-k-mooney we are doing the right thing and only looking a subnet segment_ids
16:23:41 bauzas holy fuck
16:23:41 sean-k-mooney gibi: yep that is not a routed network
16:23:50 gibi so in that paste you see that a simple net create and subnet create result in a segment returned by the the segment list command
16:23:51 bauzas sean-k-mooney: but that's not normal
16:24:04 bauzas segment list returns the VLAN ID as segment
16:24:11 bauzas which is horribly wrong
16:24:13 sean-k-mooney ya that proably a bug
16:24:18 sean-k-mooney but we are not using that api
16:24:21 bauzas we do
16:24:22 sean-k-mooney so its not an issue
16:24:33 bauzas sean-k-mooney: https://review.opendev.org/c/openstack/nova/+/773976/10/nova/network/neutron.py#3510
16:24:36 gibi yes nova does use segment list
16:24:40 bauzas we do use segment list
16:24:51 sean-k-mooney oh ... yes i see
16:24:52 bauzas gibi: could you try hitting the API directly?
16:25:02 sean-k-mooney well there is a way to work around it
16:25:10 gibi (interestingly the segments plugin in neutron does not relay on the segment list of the network but rely on the segment_id attribute of the subnet only)
16:25:10 sean-k-mooney provider:segmentation_id will always be ints
16:25:11 bauzas gibi: I'll show you the API call
16:25:21 sean-k-mooney and segment_ids will alwasy be uuids
16:25:24 gibi bauzas: I can do that
16:25:26 bauzas gibi: this is so fucked
16:25:55 bauzas gibi: please issue https://review.opendev.org/c/openstack/nova/+/773976/3/nova/network/neutron.py#3523
16:25:59 sean-k-mooney gibi: yes so there is a bug in neutron but we can workaround it
16:26:38 bauzas sean-k-mooney: oh surely we can workaround by uuid.isuuid()

Earlier   Later