Earlier  
Posted Nick Remark
#openstack-nova - 2022-05-19
12:13:15 sean-k-mooney right terminology wise that function is missnamed
12:13:42 sean-k-mooney if i propose a patch for unshelve
12:13:50 sean-k-mooney ill porpsoe a clean up patch to rename this
12:14:07 gibi ack
12:15:02 sean-k-mooney speaking of patchs my spawn_n patch actully passed ci this time
12:15:07 sean-k-mooney well ignoreing pep8
12:15:23 sean-k-mooney but it did not seam to really decrease the number of greenlets
12:15:34 sean-k-mooney i guess becasue when we are counting them
12:15:41 sean-k-mooney we count the wrapped greenlets
12:15:48 sean-k-mooney and the freestanding ones
12:16:03 sean-k-mooney so as you predicted it has no visabel effect
12:18:52 gibi the code should only count naked greenlets that are not wrapped
12:19:00 gibi in a GreenThred
12:19:14 sean-k-mooney hum well the number looked identical
12:19:32 gibi https://review.opendev.org/c/openstack/nova/+/841040/6/nova/compute/manager.py#10150
12:19:33 sean-k-mooney its possible it did not work i coudl add a func test to check
12:19:59 gibi greenlets might be special from the GC perspective as they are implemented in a C extension
12:20:10 gibi so this can be a side effect of my hack to looking at the GC
12:20:50 sean-k-mooney maybe
12:20:53 sean-k-mooney not really sure
12:20:57 gibi me neither
12:21:06 sean-k-mooney will isinstance look at inheritance
12:21:11 gibi yepp
12:21:15 gibi it does
12:21:40 sean-k-mooney and GreenThread contains but is not a greenlet
12:22:09 Uggla gibi, looking at the table, line 3 we came back to the original behavior right ? Which is something we wanted to avoid. (Not break user choice to keep the instance floating.)
12:22:22 sean-k-mooney gibi: https://github.com/eventlet/eventlet/blob/master/eventlet/greenthread.py#L163=
12:22:30 Uggla gibi, although I think it is a better choice.
12:23:07 gibi GreenThread derives from greenlet https://github.com/eventlet/eventlet/blob/master/eventlet/greenthread.py#L163
12:23:28 gibi sean-k-mooney: you were faster
12:23:42 sean-k-mooney gibi: yep so greenlet includes all the greenthread too
12:23:43 gibi so isinstance(GreenThread(), greenlet) is True
12:23:50 sean-k-mooney ya
12:23:50 gibi the count does not
12:23:55 gibi as I have an if
12:24:09 gibi naked = [g for g in greenlets if g not in greenthreads]
12:24:22 sean-k-mooney oh ya
12:24:23 gibi so only count those greenlets that are not counted for greenthread
12:24:23 gibi s
12:24:34 sean-k-mooney did see that look was lookign jsut at greenlets and ghreenthreads
12:25:00 gibi ah jeah I forgot to log _naked_ greenlet
12:25:05 gibi hm
12:25:06 gibi I idd
12:25:07 gibi did
12:25:16 sean-k-mooney you jsut didnt log total
12:25:17 gibi so naked here means not wrapped in a GreenThread
12:25:26 gibi yeah I did not log total as that would count things twice
12:26:00 gibi i.e. a GreenThread would also be counted as greenlet too
12:26:23 sean-k-mooney Uggla: no we are redefiening what the qeust means
12:26:44 sean-k-mooney we are defien that if you pass an AZ you are requesting for it to be pinned to that az
12:26:57 sean-k-mooney which is the current unshelve to az beahvior
12:27:03 gibi yepp
12:27:22 Uggla sean-k-mooney, gibi , I'have just got it. Seems ok for me.
12:27:54 sean-k-mooney Uggla: so we found that odd in the previous case beacue of the implict magic of updating az somethimes but nota always
12:28:09 sean-k-mooney but now that its only ever updated explcitly in this table
12:28:14 sean-k-mooney its consistent
12:28:50 Uggla sean-k-mooney, I agree it is better now and unpin/pin is possible which is cool.
12:30:00 sean-k-mooney Uggla: for better or worse this is why we have specs for api changes
12:30:24 sean-k-mooney Uggla: something that seams simple like "just unshalve to this host" can have subtel issues with considtency
12:30:33 sean-k-mooney so hopefully this has not put you off specs
12:31:34 Uggla sean-k-mooney, completely understand, I was worried by the fact that unpin was not possible. Now the spec is better.
12:31:42 sean-k-mooney gibi: ill proably respin my monkey_patch change and add a release note then bring it up in the next team meeting
12:32:01 sean-k-mooney gibi: basiclly so we want to proceed with it to get operator feedback or abandon it
12:32:21 sean-k-mooney defaulting to False of cource so its opt in not opt out
12:33:24 Uggla sean-k-mooney, I have also learn to take time to mature the spec before doing the code.... ;)
12:34:17 sean-k-mooney hehe well there are pros and cons to that technially you are ment to wait for the spec to be approve to start on the code however doing a quick poc can help with writing the spec in some cases
12:35:03 sean-k-mooney often it can be helpfull to get something mostly working but defer the docs and test code till after the spec is approved
12:35:12 sean-k-mooney but only for small changes
12:35:34 Uggla sean-k-mooney, I agree, for the unshelve one I would have wait before redoing it. On the virtiofs, doing it in // helps me to better understand and to have questions.
12:38:44 Uggla gibi, fyi I have removed the point for today's call.
12:39:33 Uggla sean-k-mooney, gibi I'm gonna update the spec with these new data. If you are ok ?
12:39:35 sean-k-mooney for spec design stuff we try to keep as much of it public as we can anyway
12:40:10 sean-k-mooney Uggla: am sure you could
12:41:31 sean-k-mooney Uggla: when we bring up topic in internal calls it generally for high level brain stroming and we dig into the detail in specs,mailing list or public irc
12:42:37 Uggla sean-k-mooney, ok
12:42:45 sean-k-mooney basically we gather ideas privately and publicly but try to do all decision making and deep technical discusion as public as possibel to allow others to chime in. so we would not have made a discusion in the internal call anyway
12:43:50 gibi sean-k-mooney: re spawn_n, OK, cool, maybe we can add mnaser to that patch
12:44:11 gibi Uggla: maybe before you update the spec ping bauzas to look at the table :D
12:44:24 bauzas hmmm ?
12:44:56 gibi bauzas: we have a new behavior table in https://etherpad.opendev.org/p/unshelve-to-host#L166 for unshelve
12:45:11 gibi it changes around couple of things
12:45:45 Uggla gibi don't want to disturb bauzas during the nap time... :D
12:45:51 gibi nap time :D
12:46:21 bauzas not really napping
12:46:29 bauzas just sweating here
12:46:43 bauzas 28°c in the office room
12:47:21 bauzas Uggla: tbc, I hate the AZ hack for create
12:47:36 gibi yesterday was cold enough that I was able to bring down the room temp to 22C here
12:47:39 bauzas Uggla: I mean, the -az az_anything:host one
12:48:01 Uggla bauzas, 27°C here as well.
12:48:20 bauzas Uggla: I would have preferred to have a specific --host parameter instead of using the --az one
12:48:35 sean-k-mooney bauzas: you shoudl tell use how you really feel about it :P
12:48:44 gibi bauzas: yeah --az is a mess
12:49:08 sean-k-mooney bauzas: yep which we have now
12:49:10 bauzas sean-k-mooney: about the weather, you mean ?
12:49:33 bauzas or about the AZ hack ? :D
12:49:36 sean-k-mooney no i was being sarcatic im well aware of you "love"/hate of --az
12:50:11 sean-k-mooney i dont disagree with you either its one of the warts in our api
12:50:34 sean-k-mooney escpailly since they dont even really exist form a data model point of view
12:50:48 sean-k-mooney everything about AZs is a bit of a hack

Earlier   Later