15:00:58 #startmeeting neutron_qos 15:01:03 Meeting started Tue Jul 30 15:00:58 2019 UTC and is due to finish in 60 minutes. The chair is ralonsoh. Information about MeetBot at http://wiki.debian.org/MeetBot. 15:01:04 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 15:01:06 hello 15:01:07 The meeting name has been set to 'neutron_qos' 15:01:46 hi 15:02:03 he don't have agenda, but the qos classification 15:02:08 i'm waiting for davidsha 15:02:21 Hey 15:02:44 * njohnston lurks 15:03:08 so, as commented, there is no agenda 15:03:12 no RFEs 15:03:14 no bugs 15:03:27 #topic Open Discussion 15:03:33 #link https://bugs.launchpad.net/neutron/+bug/1476527 15:03:34 Launchpad bug 1476527 in neutron "[RFE] Add common classifier resource" [Wishlist,Triaged] - Assigned to Igor D.C. (igordcard) 15:03:54 njohnston: Does that change on https://review.opendev.org/#/c/670050/2 work for you? I remember a tonne of semantic discussions early on in neutron-classifier about classifier vs classification 15:04:22 davidsha, I'm still writing a review in your neutron and n-lib patches 15:04:23 davidsha: Yes that works great for me! 15:04:46 davidsha, ok, let me push what I have now 15:04:59 davidsha, I would like, for the records, one thing 15:05:30 I updated the endpoint to classification based on comments, which is the main change since last update, I'm going to try and add in the propagation code to the various neutron agents, but mainly L2 for the moment. 15:05:32 I don't understand the relationship between ClassificationGroup, CGToClassificationMapping and CGToClassificationGroupMapping 15:06:48 ralonsoh: CGToClassificationMapping maps classifications to classification groups and CGToClassificationGroupMapping maps classification groups to classification groups. 15:08:09 davidsha, can you explain how this mapping is done 15:09:44 On creation when you pass in what classification/classification group objects compose a classification group, the service plugin will create a mapping from the newly created classification group to the previously created classification/classification group, there is no update mechanism for this to avoid a circular dependency at the moment 15:10:30 so you can have two classifications and you can create a CG 15:10:48 and then one CG and one C, and you can create a second CG 15:10:58 like a binary tree 15:11:00 Yup 15:11:07 okidoki, understood 15:11:29 now I need to retake the POC in neutron to review the DB definition 15:11:30 btw 15:11:32 in the n-lib 15:11:36 one sec 15:12:01 https://review.opendev.org/#/c/670049/ 15:12:28 you are missing a lot of information 15:12:39 name, description, timestamp, etc 15:13:03 that's why in the neutron patch, here https://review.opendev.org/#/c/670050/2/neutron/extensions/classification.py 15:13:20 you use api_ext.ExtensionDescriptor, instead of APIExtensionDescriptor 15:13:44 anyway, I still need to review the n-lib patch 15:14:06 another question 15:14:09 kk, I wasn't sure how much was necessary and how much was for this instance. I'll update this 15:14:23 class ClassificationBase() 15:14:44 why do you need it? this is not a classification itself 15:15:44 there should not be a DB definition of this generic classification, or at least you should have a class not inheriting from model_base.BASEV2 15:16:03 and then inherit it from the classification type classes 15:17:21 is that ok for you? 15:17:45 Ack, We used it initially for a generic pull in the classification and then use it to find out which classification it was specifically. I'll remove model_base.BASEV2, I'll see do we need it for the previous functionality still. 15:18:10 do you need a generic classification table? 15:19:01 For now, I'll say we do, but it can be refactored out 15:19:42 what is the goal/use of this generic type? 15:20:04 there won't be a classification base on this generic type 15:20:19 same a in QoS: there is no generic QoS rule 15:20:25 you have max, min or dscp 15:20:49 We have it here on line 65: https://review.opendev.org/#/c/670050/2/neutron/db/migration/alembic_migrations/versions/train/expand/ae8df423b477_neutron_classifier.py 15:21:56 yes, the migration and the db definition should be the same 15:22:08 but my question is: do you need this generic classification? 15:22:28 you have ipv4, 6, udp, ethernet and tcp 15:22:37 5 types, if I'm not wrong 15:22:48 At the moment yes, it handles how classifcations can be retrieved only with they're ID when you don't know what type that ID is 15:23:49 There are 5 types, but when we were scoping out an RFE to enable security groups with Neutron classifier I think it would involve about 40 different protocols 15:24:29 yes, but you can build a classification only with known types 15:24:41 now those types are these 5 15:24:44 only 15:25:50 Not necessarily, for the backend, it only provides the ID, it doesn't have what types the classifications are. 15:27:08 the backend won't know what the classifications are? 15:27:23 how are you going to implement the DSCP rules without this information? 15:27:29 in the backend 15:27:57 if you don't have this info, how are you going to config, for example, linux bridge with those specific dscp rules? 15:28:34 They do know the type by the time it's consumed, but it's just being provided classification group id as an arguement. 15:29:38 ok, I still don't know why we need a generic classification table 15:29:47 please, comment it in the review 15:29:53 I don't see any reason for that 15:30:14 as said, for me this is the same as the qos rules: there is no generic type 15:30:40 mlavalle: slaweq: I updated the neutron bug deputy schedule by adding a column of "note". we can keep the order :) 15:31:15 amotoki: thx, but please don't disturb qos meeting here :) 15:31:18 woops.... I thought I was in #-neutron channel. sory 15:31:22 hahahaha 15:31:25 no problem amotoki 15:31:34 kk, I'll respond, it's basically to do with the API only having a "Classification" type, and the DB having the subtypes based on their definitions, I'll clarify in the patch 15:32:33 davidsha, thank you! I need to understand this better 15:32:41 just one last thing 15:32:51 both patches (neutron and n-lib) 15:32:55 are the server part 15:33:05 did you try the agent implementation? 15:33:15 which backend are you using? 15:33:52 Ya, my next update is migrating in the advertiser and the classification AgentExtenionsAPIMixin that I had in the other patch 15:34:14 For the moment, I'm test with OvS 15:34:18 okidoki 15:34:24 and about the spec 15:34:36 do you have something written down? 15:35:08 Spec for the QoS integration? No, I'll start that now 15:35:23 (you know this is not going to be approved for train, but just to start reviewing it) 15:35:52 There is the one we used for defining the Classification API that was merged into Neutron Specs 15:35:55 kk 15:36:22 yes, but the justification to integrate this in Neutron 15:36:23 you should be ready to present it in Shanghai 15:36:31 kk 15:36:52 that was a good "interrogatory"!! 15:36:57 thank you davidsha 15:37:07 no prob, thanks! 15:37:24 is there something else to be discussed today in this meeting? 15:38:11 I think we can finish here 15:38:14 thank you all 15:38:22 cool, thanks! 15:38:24 #endmeeting