16:00:26 #startmeeting nova 16:00:27 Meeting started Tue Oct 31 16:00:26 2023 UTC and is due to finish in 60 minutes. The chair is bauzas. Information about MeetBot at http://wiki.debian.org/MeetBot. 16:00:27 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 16:00:27 The meeting name has been set to 'nova' 16:00:31 hey folks 16:00:34 #link https://wiki.openstack.org/wiki/Meetings/Nova#Agenda_for_next_meeting 16:00:36 who's around ? 16:00:40 do we have quorum ? 16:00:55 nothing urgent to say this week given we had the PTG last week 16:01:02 o/ 16:01:10 o/ 16:01:46 everyone is travelling back from PTG i guess :D 16:02:10 yeah 16:02:12 o/ 16:02:21 some rh folks also have some meetings 16:02:35 those have finished already fyi 16:02:50 well ignorign the one that overruning 16:02:53 okay we can wait a bit 16:03:03 we proably can get started 16:03:14 well, okay 16:03:32 * bauzas was working on a customer bug meanwhile :) 16:03:38 #topic Bugs (stuck/critical) 16:03:42 #info No Critical bug 16:03:46 #link https://bugs.launchpad.net/nova/+bugs?search=Search&field.status=New 36 new untriaged bugs (-11 since the last meeting) 16:03:58 kudos to melwitt and gibi for triaging ! 16:04:04 #info Add yourself in the team bug roster if you want to help https://etherpad.opendev.org/p/nova-bug-triage-roster 16:04:19 Uggla: would you be happy with taking the baton this week ? 16:04:35 bauzas, yep it's ok. 16:05:16 cool thanks 16:05:21 #info bug baton is Uggla 16:05:25 #topic Gate status 16:05:29 #link https://bugs.launchpad.net/nova/+bugs?field.tag=gate-failure Nova gate bugs 16:05:31 o/ 16:05:32 #link https://zuul.openstack.org/builds?project=openstack%2Fnova&project=openstack%2Fplacement&pipeline=periodic-weekly Nova&Placement periodic jobs status 16:05:42 all greens 16:05:52 \o/ 16:05:53 #info Please look at the gate failures and file a bug report with the gate-failure tag. 16:06:06 I think I've seen some gate failures on my rpc series 16:06:29 but I need to verify which jobs were having problems 16:06:41 I hadn't time yet to recheck 16:07:50 moving on ? 16:08:16 #topic Release Planning 16:08:53 #link https://releases.openstack.org/caracal/schedule.html 16:08:57 #info Caracal-1 milestone in 2 weeks 16:09:23 we agreed last week on the fact today should be a spec review day but unfortunately I hadn't provided an email 16:09:35 so if you want, next week will be the first spec review day 16:09:37 fine ? 16:09:49 next tuesday* 16:09:53 the spec review day was not ment to be today 16:10:35 well, I will be on bank holiday tomorrow (+ Uggla + kashyap IIRC) and on Friday I'll be on PTO 16:10:51 *Yep) 16:10:59 https://etherpad.opendev.org/p/nova-caracal-ptg#L175 said R-22 would be our spec review day 16:12:01 bauzas: i gues syou did say r-22 16:12:07 i feel like that was a mistak 16:12:37 i tought i suggested m1 for that bvut no worries 16:12:38 no, I remember we said 'the week after PTG' 16:12:41 we can do it next week 16:13:02 m-1 was for reviewing implementations 16:13:03 oh we are doing the implemation review day on m1 16:13:12 yep 16:13:25 so ya we missed the first sepc review day 16:13:34 yeah, my fault 16:13:37 honestly im still burnt out form ptg so next week woudl be better 16:13:39 -ETOOMANYTHINGS 16:13:49 okay, agreed 16:14:15 #info Next Tuesday (Nov 7) we will have a spec review day 16:14:24 #action bauzas to community on that review day 16:14:28 #unfo 16:14:31 #undo 16:14:31 Removing item from minutes: #action bauzas to community on that review day 16:14:39 #action bauzas to communicate on that review day 16:15:13 I'll also communicate the implementation review day in 2 weeks from now 16:15:35 moving on 16:15:38 #topic Caracal vPTG planning 16:15:42 #undo 16:15:42 Removing item from minutes: #topic Caracal vPTG planning 16:15:52 #topic Caracal vPTG wrapup 16:15:59 #link https://etherpad.opendev.org/p/nova-caracal-ptg PTG etherpad 16:16:18 I have some draft in my emailbox that I need to eventually write 16:16:31 I just don't know when yet 16:16:42 for the moment, please look at the etherpad 16:16:53 ++ 16:17:00 we had one single topic we were unable to talk 16:17:01 bauzas: wehn you send the eamil 16:17:11 please use the readonly link for the etherpad 16:17:27 like every cycle I do ? sure 16:17:46 I already did 16:17:46 ack not everyone does 16:17:53 + I downloaded a text file 16:18:01 ++ 16:18:15 and I tagged the latest rev 16:18:39 sean-k-mooney: look at summary emails I write for a long time now 16:18:58 you'll see what I provide 16:19:02 anyway 16:19:06 #topic Review priorities 16:19:27 we agreed on something last week, so I'll punt this topic for this week 16:19:40 #topic Stable Branches 16:19:43 elodilles: please 16:19:48 o7 16:19:55 stable/2023.2 branch was broken due to openstacksdk-functional-devstack job, but it is fixed -- https://review.opendev.org/c/openstack/openstacksdk/+/899154 16:20:08 thanks gmann for pinging me about this ^^^ 16:20:18 other stable gates state should be also OK 16:20:44 (or at least i'm not aware of any issue) 16:20:45 cool 16:20:49 stable release patches proposed: https://review.opendev.org/q/project:openstack/releases+is:open+intopic:nova 16:21:06 so release liaisons please review ^^^ 16:21:10 yeah I need to review them 16:21:12 we might not need all of them 16:21:20 that said, I have some bugfix I'd like to backport :) 16:21:26 but let's not wait for it :) 16:21:30 or 16:21:33 as you want 16:21:34 also, these hyperV and vmware driver deprecation backport to stable/2023.1 are ready for 2nd review https://review.opendev.org/q/topic:deprecate-virt-drivers+status:open 16:21:37 if you want to wait for any bugfix, then just -1 it 16:21:43 thanks bauzas for reviews. 16:21:47 actually I have two series I want to backport 16:21:53 maybe it will be good to include those in releases elodilles mentioned 16:22:03 the compute rpc fix and the sriov gpu fix 16:22:16 elodilles: could we then wait a little bit before releasing ? 16:22:26 bauzas: for sure 16:22:52 elodilles: if you don't mind, I'll -1 the release patches 16:22:53 the compute rpc one for sure! 16:23:10 I need to create the backports 16:23:11 sorry someone was at the door when we talked about gate stability, 16:23:21 but I've had to recheck those a few times now, all for different reasons :( 16:23:22 np 16:23:28 feels like we're slipping here 16:23:40 I've seen multi-cell 16:23:56 but I haven't yet looked at *what* failed for this job 16:24:08 each one I've looked at has been a different thing 16:24:17 lovely 16:25:08 something due to some stuff with 'v' name that ends by 'olume' ? 16:25:22 some, but not all 16:25:46 if that's something starting with 'n' and ending by 'etwork' I can understand 16:26:08 anyway, I need to do homework, I just don't know yet when 16:27:59 okay, I guess we're done with stable 16:28:13 ah, maybe the general info: 16:28:15 nothing we need to discuss for now, we just need to look 16:28:20 #info stable branch status / gate failures tracking etherpad: https://etherpad.opendev.org/p/nova-stable-branch-ci 16:28:28 ah yeah 16:28:35 and that's all :) 16:28:36 #topic Open discussion 16:28:45 gmann: wants to talk the topic you had ? 16:29:04 (gmann) RBAC: service role usage for Nova to talk to other services 16:29:05 oh, which one? 16:29:12 k 16:29:21 #link https://etherpad.opendev.org/p/nova-caracal-ptg#L871 16:30:08 there are some notes there on the thing I wanted to discuss. we discussed it long back on how to proceed on service role 16:30:59 which was 1. make policy default to service role only 2. accept service token in API 3. use nova generated admin context whereever it is required (for example getting servers in server external event API) 16:32:21 but when I was doing it for swap volume API (which is lot o call from cinder to nova and nova to cinder), it end up that we need to use admin context for almost all the operations in this API. so it looks like we are going to make policy default to service role only and use service token to just check it is called from service not form user 16:32:40 BUT use admin context for all actual operations 16:33:25 this is something we discussed on Monday PTG but left nova specific discussion for later 16:33:47 sean-k-mooney: has idea of passing user as well service token in service-only-APIs whihc is also listed in etherpad 16:34:50 right so when swap volume is called by cinder on behalf of user sean 16:34:58 sean-k-mooney: if I understand your idea correct you want to do it same way we do currently right? passing service token as header in user token - https://github.com/openstack/nova/blob/b37d50fecc92c17c3b30e41f6ad8869e1f9bd2ef/nova/service_auth.py#L33 16:35:02 we shoudl be recordign that as coming form sean not cinder 16:35:45 gmann: yes it would be the presence fo a service token(with service role) in the header and any other token that would make it a service request 16:36:20 I'm a bit confused here 16:36:29 probably because I'm not an expert 16:36:33 and that service token can be used to know if request is from service or not. if not then 403. 16:36:34 the user token is so we knwo on behlaf of which (user/project) the request was made 16:36:38 authorized by the service token but limited in scope (and recorded in audit) as the user 16:36:43 but I thought we were already providing both tokens ? 16:36:49 dansmith: exactly 16:37:13 bauzas: we do but we do not check service token is must provided or not 16:37:23 bauzas: we are but some of these api are admin only today 16:37:26 okay, so that's a question server-side ? 16:37:27 dansmith: sean-k-mooney so if no service token presence in those servcei-ony API then 403 right? 16:37:37 so the user token in that case is an admin token created form the config for the cinder user 16:37:46 gmann: yes 16:37:55 cool. 16:37:58 403 if service token is not passed 16:38:13 when callling swap volume or external events api for example 16:38:33 yeah, we do not check that currently so it will achieve the same thing we wanted via policy default 16:38:36 for compatiblity we are currently supproting "service or admin" right 16:39:00 it is admin only no service but that is going to be "service or admin" 16:39:01 meaning we woudl allow it if the user token was an admin token or if there was an addtional service token 16:39:16 I mean "" 16:40:14 so on the devstack side oen thing we shoudl do eventually is have a way to make sure the service_user does nto have admin in its role assignemtns 16:40:43 I am thinking 1. fetch the service token form header 2. use that as target in oslo policy so that if no service role then it fail 16:41:10 for the service_only policy rihgt 16:41:15 yes 16:41:21 for the service_or_admin we would need to fall back 16:41:26 and policy default will be "admin or service" 16:41:59 right so that woudl check the service token if present or user token if not in that case 16:42:09 or we can use "role:service" only in policy default also if we are going to use service token only for policy enforcement 16:42:11 is that somethign we can do today? 16:42:49 tricky part is if anyone want to override the policy to non-service role also then it will be little complicated to allow those 16:42:54 yeah it kinda needs policy to check the service token, but the rest of cinder should use user token for scoping and audit logging 16:43:05 maybe we need to pass both user and service token in oslo.policy 16:43:13 dansmith: yeah 16:43:17 gmann: i think ^ is likely needed yes 16:43:29 both tokens and likely an extention to policy.json 16:43:37 gmann: can we have a way to say "apply this rule to service token"? then that can be the default and you could reset it to user if you prefer 16:43:37 we need to make sure overriden policy keep working and it is configurable 16:43:41 so that we can express the requireemnt for for roles on each one 16:44:45 dansmith: ya i think wee need to be able to say somethign like "service_token_required_role=service or default_token_required_role=admin" 16:44:46 dansmith: need to check if such fallback there in oslo.policy otherwise we can combine the both token in the targets to oslo.policy 16:46:29 if we keep rule as 'role:service' only and passing both token (service and user) as targets to oslo.policy then it will work for our default (service only) as well as for any overridden rule too 16:47:04 gmann: that would allow a user that was given the service role to make a request with a single token 16:47:10 im not sure we want to allow that 16:47:12 if we will use rule default as 'admin or service' then it will be comlicated to disallow only admin to pass the checks 16:47:40 i wanted to disallow the user_token to pass if it had the service role without also having a service token 16:47:47 sean-k-mooney: but admin-or-service also allow such user having service role 16:47:50 perhaps that shoudl be allowed but im not convinece it shoudl 16:48:06 gmann: it woudl allow it because of the admin role 16:48:11 not because of the service role 16:48:13 well, I was thinking more like "this rule applies to the user token" or "this rule applies to the service token" and default to user, which is current behavior 16:49:04 dansmith: ohk. and change default behavior to check rule for service token right? 16:49:11 so if you set the swap_volume rule to service token, then it will use the service token to decide if a request can or cannot run that operation instead of the user token (and require it be present of course) 16:49:23 so service token check first if it pass then go for user token check otherwise fail early aonly 16:49:30 gmann: change default just for swap_volume you mean right? 16:49:52 swap_volume and i think external events are the two api this would apply too for now 16:49:59 and detach 16:50:03 dansmith: I mean first we check service token rule and then user token rule 16:50:18 gmann: no, not what I was thinking 16:50:26 humm 16:50:33 dansmith: well volume detach instnace action will not need this change 16:50:36 for swap_volume, we only care about the service_token for *authorization* so policy only needs to check that 16:51:03 cinder still uses the user_token for querying the DB and logging, but the ability to do the operation is authorized by service token 16:51:16 create_volume would still be authorized by user token only 16:51:23 and default policy will be "role:service" right? 16:51:43 "roleLservice token:service" 16:51:54 sean-k-mooney: well, detach is currently checking the service token explicitly right? so if we extend the syntax to allow saying "this operation is authorized by the service token" we'd want that rule to work the same way Itink 16:52:12 okay I think we're getting confused here 16:52:17 where "role:service" woudl imply "role:service token:user" or current behavior 16:52:19 perhaps we should take this outside the nova meeting 16:52:22 * bauzas is already confused fwiw 16:52:27 dansmith: detach on the cinder api is 16:52:34 yeah, I think we need some gmeet 16:52:46 yeah, maybe let's have a call 16:53:09 I can organize it, but I won't be able to attend it I guess 16:53:14 dansmith: ya so i think you and i are on the same page 16:53:46 we need a syntax in the role to say this is authorised by the service token 16:53:52 let me scheudle one after TC meeting today (which is after 3 hr from now). sean-k-mooney is that late for you? 16:53:52 yeah 16:54:03 gmann: can we make it a different day// 16:54:09 sure 16:54:09 today is already busy and full of meetings for me 16:54:12 I'm about meetinged out 16:54:34 tomorrow same time as nova meeting today? 16:54:38 I'm off this wed and this friday, but please do this when I'm not here :) 16:54:43 gmann: +1h from this meeting I think 16:54:58 gmann: we have a downstream meeting this time tomorrow 16:55:00 sean-k-mooney: yeah, i got point for service_token vs service role. but need to check syntext and how oslo.policy going to enforce it 16:55:01 or 1h before this one would work 16:55:08 * bauzas will stamp whatever needs to be stamped but I feel ignorant here 16:55:40 +1 hr is good for me. sean-k-mooney how about you ? tomorrow 17 UTC 16:55:45 bauzas: you mean you're delegating and we'll brief you when we get a solution :) 16:55:52 dansmith: exactly, sold 16:55:59 ill ateend whenever 16:56:11 cool. i will send invite 16:56:29 i think dansmith more or less is on the same page as me so if there there its likely fine and ill attend if im around 16:56:40 I just pass my PTL service token to dansmith and sean-k-mooney and tell to use my auth token for signing-off 16:56:52 i shoudl be free at that time for what tis worth 16:56:58 bauzas: badum tish 16:58:33 love it when a plan comes together ! 16:58:46 * bauzas goes burning a cigar 16:58:50 and ends the meeting 16:59:07 thanks all 16:59:11 #endmeeting