16:00:22 #startmeeting blazar 16:00:23 Meeting started Thu Nov 19 16:00:22 2020 UTC and is due to finish in 60 minutes. The chair is priteau. Information about MeetBot at http://wiki.debian.org/MeetBot. 16:00:25 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 16:00:27 The meeting name has been set to 'blazar' 16:00:35 #topic Roll call 16:05:55 o/ 16:06:19 o/ 16:06:22 Hi diurnalist 16:06:31 Welcome back! 16:07:53 Thank you 16:08:39 Sorry for skipping a couple of meetings due to being away 16:08:52 We are now returning to our regular schedule 16:09:22 I wanted to catch up with you, I saw a number of updated patches but I haven't had time to look at them yet 16:09:24 sounds good 16:09:55 yes, I haven't had much time for upstream contributions myself, but had a day where I tried to go through all of our patches and try to get them up 16:10:03 rebasing on master etc 16:10:45 jakecoll doesn't work on the project anymore, but before he left (end of last week) he helped me write up some of the missing docs for network reservations 16:11:14 I saw an updated patch from him last Friday 16:11:27 I was wondering if he was going to be involved again 16:12:38 I've got limited time for reviews until end of last week most likely, are there some patches that you would suggest are good candidates to be merged? 16:12:45 I see network reservation still needs work 16:14:20 Yes, I think it needs pep fixes at minimum. We had also discussed a tempest test, should we still try that? I think the difficulty was that the network plugin needs to be enabled by default, likely 16:15:43 These ones are pretty small: https://review.opendev.org/#/c/762006/ https://review.opendev.org/#/c/761994/ https://review.opendev.org/#/c/761990/ https://review.opendev.org/#/c/589899/ 16:15:44 I was asking for the tempest test mostly because my manual testing of the patch back in… April? uncovered various issues (even though unit tests were passing) 16:16:01 Just left feedback about the first one 16:16:05 I see your comment on the shuffling, I forgot we had discussed the toggle 16:16:45 Once those are in I would move on to brushing up the enforcement stuff and submitting that 16:16:47 I forgot about the traceback one, adding it to my list to look at later 16:17:41 this one has been sitting for a while and is probably the most complicated (other than net res.) https://review.opendev.org/#/c/731586/ 16:18:26 Yeah it's a though one, need some proper review session to go through it 16:18:45 I'll try to schedule one soon 16:19:54 ok, appreciated-- I have also thought about setting aside some time to perform some other refactors. In my opinion much of the plugin logic could/should be pulled up one level into the base implementation, or some other component 16:20:05 really there are 2 refactors I have been kicking around: 16:20:46 1.) update lease tear-down to gracefully handle individual reservation termination errors. I already have a patch for this and we're testing now. Currently a termination halts on the first failed reservation teardown failure. 16:21:24 2.) move resource filtering out of plugins and make it shared business logic 16:22:09 Both would be really good 16:22:26 what I would really like to do long-term is support out-of-tree resource plugins. i envision moving more stuff to core concerns will make it much easier to do this 16:22:38 Another I thought about is common code for handling extra capabilities 16:22:44 :nod: 16:22:54 Currently there's lots of code duplication to do this across both hosts and networks 16:23:16 yes, especially that extra capabilities are really just a key/value system that can apply to any resource type 16:23:30 Do you see out of tree resource plugins being loaded like scheduler filters in nova/ 16:24:02 I'm not 100% how nova does it. I am familiar with the Ironic way, where it's via entry_points 16:24:11 which I think is fine, and pairs well with stevedore 16:25:32 ironic's way might be more modern since it was written more recently 16:25:46 the way that would work is you'd define an entry point namespace like "blazar.resource_type" and then your python module would export an entry point like "my_type = module.path.to:Thing" 16:25:47 I tend to see more old patterns in nova than in the rest of OpenStack projects 16:26:11 and then blazar conf would have "enabled_plugins = physical:host,my_type" or similar 16:26:31 as long as the module is installed in the same python path as blazar, everything's good 16:27:52 I am not too familiar with this area but I guess it should work 16:28:13 We mostly need to make sure there are no conflicts between plugins 16:29:02 yes, and I think the trickiest thing is going to be how to handle DB dependencies. the DB schema might need to change, which is going to be painful 16:29:22 OSC also uses entry points btw, this describes it a bit: https://docs.openstack.org/python-openstackclient/latest/contributor/plugins.html 16:30:08 Separate DBs maybe? 16:30:58 I guess Neutron is the other project to look at here 16:30:58 That way you could have an alembic serial number by plugin 16:31:37 one question to think about is: can all resource plugins share a db. is there anything that is not possible w/ this 16:32:48 tricky because some resource properties are more important than others, like hypervisor_hostname for the physical host plugin 16:32:51 I thought alembic migrations would conflict, but maybe not 16:33:02 I can see in neutron-lbaas it uses alembic as well 16:33:08 and AFAIK it was using the neutron db 16:33:22 i think it has its own tables that it targets though, could be wrong 16:33:29 vpnaas is similar 16:34:43 Yes, separate tables but same db 16:35:02 Could we keep resource plugins constrained to their own separate tables 16:35:29 They would still be able to manipulate existing tables, but through the existing models (no schema changes) 16:35:44 yes, i think that's workable. the extra capabilities functionality is a bit tricky to express this way, maybe there is a way 16:36:18 plugins should not be responsible for implementing that IMO 16:38:10 Maybe with an additional layer in the DB, a resources table that would describe which plugin is responsible for each resource 16:38:24 And extra caps would reference this table, rather than the custom table from the plugin 16:38:42 A bit like how there is a split between the reservations table and computehost_reservations / instance_reservations 16:41:22 i'll have to look again to see how that works 16:41:49 There might be some details that I've not considered but it's worth trying 16:43:12 :nod: 16:43:33 will keep kicking it around, at some point there will need to be a spec. it's more of a general direction i think things should move 16:44:17 I am all for it if it makes your life easier 16:45:38 Anything else to cover? 16:46:32 one other thing: has anybody worked on making blazarclient osc-compatible? 16:46:46 Good question 16:47:22 i am wondering if it might be a good project for a new hire as a way of getting acquainted w/ the process. a bit hard for us to argue for its utility, but it's always bugged me :) 16:47:28 There was a start a while ago from someone in the community, but I don't think the patches were submitted upstream 16:48:19 I'll see if I can get the patches, but it might be difficult 16:49:01 It could be a good project to get used to the client and the API. It's not really useful for learning about the internals of the service of course. 16:49:31 i think if the patches are very old it may be worth it to just start over 16:50:01 ok, i'll let you know if it gets scheduled 16:50:36 otherwise nothing else from me, I don't think. there is a general question of how to handle upstream contributions given that it seems like you are the only active reviewer these days 16:51:31 Maybe you should become core reviewer ;-) Although that doesn't really help with your own patches 16:53:10 But if there are contributions from the new hire in your group, we could merge them with +2 from you and I 16:53:52 that may be helpful 16:54:18 I'll propose something :) 16:54:31 in principle i worry about taking a bit too much extra responsibility, but in practice we are the main ones proposing things these days, and i'm reviewing that code anyways 16:55:26 Yes I don't think it would add much workload for you 16:56:20 Let's wrap up 16:56:25 Thanks a lot for joining! 16:56:27 #endmeeting