Earlier  
Posted Nick Remark
#openstack-nova - 2022-05-19
09:03:49 bauzas the problem is that 'AZ pinning' is something we don't explicitely mention
09:03:50 Uggla bauzas, btw it was the case with the old microversion.
09:04:20 bauzas this is more a tribal knowledge
09:04:37 bauzas and a lot of people are confused by the multiple config options and parameters we have
09:05:09 Uggla bauzas, of course it means we have to explain this very well.
09:05:29 bauzas (you can even pin all your instance to a specific AZ, even if not specified by the client, thanks to the very errorprone schedule_default_az option)
09:11:25 Uggla bauzas, to come up with what you said earlier. My previous colleagues called me "Le chat noir" if something can go wrong. Then it is for me. :)
09:13:23 gibi I've just read the scrollback about unshelve
09:13:29 bauzas Uggla: you're absolutely not alone in this situation. In the past, I don't count the number of revisions I made based on feedback and myself reconsidering a few things, sometimes even restoring an old revision as a fresh new PS because eventually we considered all the things we discussed over a couple of revisions were meaningless
09:13:38 gibi do we have a way forward or we are still in the open?
09:14:00 bauzas gibi: I think we're basically arriving to a consensus
09:14:08 gibi which is? :)
09:14:16 bauzas but there is one left question about the unpinned AZ
09:15:19 gibi do we need to consider the value of schedule_default_az during unshelve if the AZ param is not provided?
09:15:32 bauzas gibi: which is to continue to do what we agreed on before, but either documenting the 'unpinned can't be pinned again' thing, or provide some explicit parameter for it
09:16:21 bauzas gibi: you know that this option is only used by the api service and some ops use that for RR load-balancing between AZs ?
09:16:50 bauzas they have different value per nova-api service
09:16:52 gibi personally I don't want to have schedule_default_az in the picture
09:17:05 gibi as it is extra complication
09:17:16 bauzas gibi: don't disagree with this
09:17:31 gibi no I did not know that there are people out there abusing schedule_default_az
09:17:32 bauzas problem is, unshelve to AZ is end-user API
09:17:45 bauzas and that's a problem
09:17:48 gibi AZ is an end user thing
09:17:53 gibi during boot too
09:17:59 gibi (excpet for schedule_default_az ;) )
09:18:00 bauzas yes I know
09:18:04 bauzas that ^
09:18:12 gibi sure
09:18:22 bauzas we're mixing wishes of the enduser with operator toughts
09:18:27 gibi yepp
09:18:45 gibi and most of the time operator > end user
09:18:51 gibi except for schedule_default_az
09:18:56 bauzas but this is clear that user choice supersedes the schedule_default_az thing
09:19:00 gibi as that is just a default that can be overridden by the end user
09:19:03 bauzas so this is bikeshed
09:19:11 bauzas yeah
09:19:37 bauzas let's put schedule_default_az out of the picture :)
09:20:14 gibi pretty please document this decision that schedule_default_az will not be used during unshelve
09:20:40 gibi we seriously need to beef up our doc around this
09:20:56 gibi to have something to point at when bugs appeare
09:21:07 bauzas possibly
09:21:26 bauzas that's what I said, AZs are tribal knowledge atm
09:30:20 gibi Uggla: I'm not sure I get the meaning of the colums of the table in your comment https://review.opendev.org/c/openstack/nova-specs/+/831506/4#message-7d59a1d14206c958ad82d974af5f2a2c00ad255c
09:36:06 Uggla gibi, I just introduced a new param "az constraint". That would be used to choose if you want to pin/unpin the az of an instance.
09:36:26 gibi ahh so that would be a new API param
09:36:42 Uggla gibi, yes sorry if it is not clear.
09:36:43 gibi and above bauzas suggested that we don't add that, isn't it?
09:36:50 gibi no worries
09:36:55 Uggla gibi, yes
09:36:58 gibi ack
09:37:24 Uggla gibi, but bauzas said that before the discussion about pin/unpin of AZ.
09:37:24 gibi I will try to summarise my current understanding about the agreement from above in the review
09:37:44 gibi /o\ ETOOCOMPLEX
09:38:15 gibi anyhow
09:38:24 gibi I will try to write something in the review :D
09:38:40 gibi considering all the discussion happened before
09:38:44 Uggla gibi, hum yes I think that as well writting it. :)
09:39:19 Uggla gibi, but take care about the client issue as well.
09:39:37 gibi do you mean the CLI issue?
09:40:39 Uggla gibi, yes I introduced a param unpin-az to avoid issues with --availability-zone None --> None treated as a string "None".
09:41:50 gibi I assume if we come up with an API semantic that is accepted then will be able to map that to a meaningful CLI some way
09:42:09 Uggla gibi, so client as 3 param --availability-zone, --host, --unpin-az --> API only 2 --availability-zone and host.
09:42:15 gibi and in the CLI we can have extra params like unpin-az if we need it
09:42:26 gibi yep, CLI is easy :D
09:43:14 Uggla gibi, yes but it could be tricky without the mutually exclusive stuff.
09:43:57 Uggla gibi, ex on the cli user could request --availability-zone nova --unpin-az --> with is not possible.
09:44:13 gibi yepp, that we can catch that on the client side
09:44:14 Uggla s/with/which/
09:44:37 gibi --availability-zone and --unpin-az is mutually exlisive on the client side
09:45:10 Uggla gibi, today all params are mutually exclusive. So no pb.
09:46:24 Uggla gibi, and this is the case on the CLI and API.
09:48:06 Uggla gibi, btw so we ended up to not support pin of an az via unshelve ?
09:49:18 gibi that is how I read bauzas above
09:50:24 Uggla gibi, to be honest it is unclear to me. :)
09:51:22 gibi but I think dansmith had other opinion
09:51:30 gibi "I agree, it's very confusing to sometimes provide an AZ and pin and other times not. That seems like something we should avoid."
09:52:16 Uggla gibi, should we try to put that point to today meeting agenda ?
09:53:00 gibi if you can ask the proper questions, then yes we can try
09:54:35 opendevreview Brin Zhang proposed openstack/nova master: Replace os-simple-tenant-usage with os-simple-project-usage https://review.opendev.org/c/openstack/nova/+/842476
10:10:02 Uggla gibi, I put the question in the agenda. If you want to have look.
10:14:40 opendevreview John Garbutt proposed openstack/nova master: Ironic: retry when node not available https://review.opendev.org/c/openstack/nova/+/842478
10:23:16 gibi bauzas: Uggla: left a comment to the unshelve spec pointing to an extended table in the etherpad
10:48:02 sean-k-mooney gibi: looks like the resize patch was hit by infra issue again
10:48:21 sean-k-mooney im seeing some mysql failures
10:56:24 gibi something is going on I saw mysql issues on other tempest patches this week
10:58:28 sean-k-mooney gibi: i think dan would prefer if the value provided for the az paramater is unconditionally used to update the request spec
10:58:45 sean-k-mooney so if its not provide we dont update
10:58:46 gibi yes I think so
10:59:02 sean-k-mooney if you provide a sentenal proably {} we woudl set it to python None
10:59:14 sean-k-mooney any string value jsut gets set in the request spec
10:59:33 sean-k-mooney actully we could use null
11:00:04 sean-k-mooney unqutated as in the json value null for python None that is the write sentenial
11:00:43 sean-k-mooney im ok with taht as it provides a way to pin and unpine and its simple to reason about
11:01:07 sean-k-mooney that just meas we get rid of the idea of az and host being mutally exclucive
11:02:07 gibi sean-k-mooney: have you checked the new table in https://etherpad.opendev.org/p/unshelve-to-host#L102 ? I think this is now in sync with what you wrote and what Dan suggested
11:02:15 sean-k-mooney so az unset means use current requstspec value, az=null means update to python None az="any string" means update to that stirng
11:02:42 sean-k-mooney i have it open but have not read it yet was reading the scrollback here
11:03:21 gibi sean-k-mooney: yepp
11:03:33 sean-k-mooney so the only delta is im being explict about types

Earlier   Later