Monday, 2021-09-13

*** brinzhang_ is now known as brinzhang05:35
*** abhishekk is now known as akekane|home05:50
*** akekane|home is now known as abhishekk05:50
gibigood morning08:57
lyarwoodMorning all \o09:03
gibilyarwood: there is a fairly easy bug repro and fix for placement that I'd like to land before RC1. melwitt already +2d it. So if you have time I would appreciate some review https://review.opendev.org/q/topic:story-200916709:13
lyarwoodack I'll look this morning09:13
gibithanks09:15
gibiit is just my devstack or we broke $nova-manage db version ?09:39
sean-k-mooneyit now uses alembic09:40
sean-k-mooneyso its proably changed09:40
gibihttps://paste.opendev.org/show/809276/09:41
sean-k-mooneythat is not what i was expecting09:42
gibiyeah09:42
gibime neither09:42
lyarwoodoh fun09:42
sean-k-mooneyEngine' object has no attribute 'get_main_option'09:43
sean-k-mooneythat should be a config object09:43
sean-k-mooneynot an engine right09:43
sean-k-mooneyoh its from  alembic_version = alembic_api.current(engine)09:43
sean-k-mooneynot   script_location = config.get_main_option("script_location")09:43
sean-k-mooneyare we passing things in the wrong order09:44
sean-k-mooneyhttps://alembic.sqlalchemy.org/en/latest/api/commands.html?highlight=current#alembic.command.current09:45
sean-k-mooneyi think ya we are passing the engine insteasd of the config09:45
sean-k-mooneyhere https://github.com/openstack/nova/blob/master/nova/db/migration.py#L172-L17309:46
sean-k-mooneywe should probaly factor this out into a function https://github.com/openstack/nova/blob/master/nova/db/migration.py#L127-L13909:48
gibisean-k-mooney: thanks for the quick check, I will try it in devstack 09:49
sean-k-mooneycool i was going to hack something quickly and push it09:49
gibiyour suggestion seem to work09:50
gibihttps://paste.opendev.org/show/809277/09:50
opendevreviewMerged openstack/os-vif stable/xena: Update .gitreview for stable/xena  https://review.opendev.org/c/openstack/os-vif/+/80845209:52
opendevreviewMerged openstack/os-vif stable/xena: Update TOX_CONSTRAINTS_FILE for stable/xena  https://review.opendev.org/c/openstack/os-vif/+/80845309:52
gibisean-k-mooney: is it OK to you if I file a bug and push a fix?09:52
sean-k-mooneysure09:53
gibiOK, working on it09:54
sean-k-mooneythis is what i had09:54
opendevreviewsean mooney proposed openstack/nova master: [WIP] db version fix  https://review.opendev.org/c/openstack/nova/+/80871209:55
sean-k-mooneyfeel free to reuse or ignore09:55
gibisean-k-mooney: OK, thanks09:55
gibireported a critical bug for it as it affects the execution of db sync as well https://bugs.launchpad.net/nova/+bug/194343610:01
sean-k-mooneyah presumable because db sync checks the version first10:03
sean-k-mooneydo we know why this happens now10:03
sean-k-mooneylooking at git blame this has not changed for 3 months10:03
gibiI think this is changed when we switched to alembic. was it 3 months ago?10:04
sean-k-mooneyyep10:04
gibiI think we don't have test coverage on this path10:04
sean-k-mooneywell that is thet commit date10:04
sean-k-mooneywe should for sync however right10:04
gibias it only happens if the db is migrated to alembic control and then you wan to migrate it futher10:04
sean-k-mooneyah10:05
gibiso grenade will only hit it after we have Xena  -> Yoga run10:05
sean-k-mooneyand since we have no migrations since then we would not see it10:05
sean-k-mooneyi was wondering if it was related to the alembic version bump 12 days ago10:06
sean-k-mooneyform 1.6.5 to 1.7.110:06
sean-k-mooneye.g. if the engine was previously valid and nolonger is10:06
gibiI did not see any job failing do to this. I just noticed this problem when run the CLI manually this morning10:06
gibihm I was mistaken, the db sync part is not affected10:10
sean-k-mooneyits still a regerssion in either case10:16
gibiyepp10:16
gibitrying to add repro / test coverage10:17
opendevreviewMerged openstack/os-vif master: Update master for stable/xena  https://review.opendev.org/c/openstack/os-vif/+/80845410:24
opendevreviewMerged openstack/placement master: Reproduce 404 when allocation queried with 1.38  https://review.opendev.org/c/openstack/placement/+/80715410:42
gibisean-k-mooney: alembic_api.current does not return the version alembic_script.ScriptDirectory.from_config( self.config)10:57
gibi sorry10:57
gibiwrong buffer10:57
gibiso here https://github.com/openstack/nova/blob/master/nova/db/migration.py#L17310:57
gibithe alembic_api.current does not return anything10:57
gibithat function actually prints to stdout10:58
sean-k-mooneyhehe lovely11:02
sean-k-mooneyso 2 bugs11:02
sean-k-mooneyhttps://alembic.sqlalchemy.org/en/latest/api/commands.html#alembic.command.current right Display the current revision for a database.11:03
sean-k-mooneywe likely dont want to call the function form the command module11:04
sean-k-mooneywe likely want to get the saem from the engin or similar11:04
gibiyepp11:10
gibihttps://alembic.sqlalchemy.org/en/latest/api/runtime.html#alembic.runtime.migration.MigrationContext11:10
gibiI think that is the right way11:10
gibithere is get_current_revision() on the MigrationContext object11:10
sean-k-mooneyhttps://alembic.sqlalchemy.org/en/latest/api/runtime.html#alembic.runtime.migration.MigrationContext.get_current_revision11:10
sean-k-mooneyya11:10
sean-k-mooney i saw that before when i first went looking for current11:11
sean-k-mooneyReturn the current revision, usually that which is present in the alembic_version table in the database.11:11
sean-k-mooneythat ussaully is presumable becasue before you run the migration it may or may not match?11:11
sean-k-mooneyits likely good enough for our use case11:12
sean-k-mooneyzzzeek: if your around if we want to get teh current db version is get_current_revision() the correct function to call11:14
opendevreviewMerged openstack/placement master: Fix adding 'unknown' to the ConsumerTypeCache  https://review.opendev.org/c/openstack/placement/+/80715511:57
opendevreviewBalazs Gibizer proposed openstack/nova master: Reproduce bug/1943436  https://review.opendev.org/c/openstack/nova/+/80875312:11
opendevreviewBalazs Gibizer proposed openstack/nova master: Fix nova-manage db version  https://review.opendev.org/c/openstack/nova/+/80871212:13
gibisean-k-mooney: ^^12:13
gibiI dropped your refactoring as the config object is not needed any more12:13
gibiand the engine object was already created in scope12:14
gibibauzas, lyarwood: it is an RC critical fix ^^12:14
bauzasgibi: ack, will look12:14
sean-k-mooneycool12:14
sean-k-mooneyill take a look although it proably does not need the co-authoured by since you drop most of what i did12:15
bauzasgibi: wow, thanks for finding the issue12:16
gibisean-k-mooney: you was the one that point out where the code failed so you earned the mention :)12:16
sean-k-mooneyyeah strack traces :)12:17
gibibauzas: I just tried to run nova-manage db version in my devstack this morning, and found things to for today :)12:17
bauzasgibi: I just wonder why we had no find the issue with the existing tests12:17
bauzashadn't*12:18
sean-k-mooneybauzas: because we would be monkey patching the calls to the alembic lib12:18
sean-k-mooneyso it would only show up in integration style test or maybe functional12:19
sean-k-mooneynot in unit test12:19
sean-k-mooneybauzas: also i think gibi mentioned it only happens the second time you call sync12:20
sean-k-mooneywhen its using alembic?12:20
gibiit only fails if you db already under alembic control12:20
sean-k-mooneyright so with an empty db it wont fail12:20
gibiso grenade did not detect it as it upgrades from legacy to alembic not alembic to alembiv12:20
bauzassean-k-mooney: we have functional tests for nova-manage, nope ?12:20
gibibauzas: not for db version12:20
bauzasah right shit12:21
gibibecuase that is "simple" it just calls alembic ;)12:21
bauzasmmm, looks like we no longer generate guru meditation reports using USR2 signal ?12:54
bauzasit's just recycling the service12:54
bauzasgibi: can you test ?12:55
bauzas(context, other escalation meanwhile)12:55
sean-k-mooneybauzas: it shoudl dump it into the log12:55
sean-k-mooneybauzas: so when you do the kill --USR2 it should output the gmr to the logs12:56
sean-k-mooneynot to standard out of the terminal you run kill in12:56
sean-k-mooneyits possibel it coudl end up in the container standar out but im 99% sure it went to the logs12:57
bauzassean-k-mooney: gibi: no, it's recycling 12:57
bauzassean-k-mooney: gibi: https://paste.opendev.org/show/809280/12:57
bauzasit should dump the stateinto the logs12:57
bauzasbut rather, it gets the signal and then dies12:57
sean-k-mooneythat is to the wsgi server12:58
bauzasI guess this is uswsgi related12:58
sean-k-mooneyya12:58
sean-k-mooneyhave you tried it with nova-compute12:58
sean-k-mooneyfor uwsgi i dont know if it ever worked but you might need to do it to the worker process12:58
bauzassean-k-mooney: I can run it against n-cpu for sure12:59
sean-k-mooneythat is what the customer need to do anyway13:00
sean-k-mooneynot nova-api13:00
* gibi was off lunching13:00
bauzassean-k-mooney: sure but I wanted to test it against the API13:00
sean-k-mooneybauzas: i dont know if we have ever tested GMR when the api is not runnign under python13:00
sean-k-mooneybauzas: with nova-api directly it proably works13:00
sean-k-mooneywith nova-api under uwsgi i have never seen it documented how to make that work13:01
bauzassean-k-mooney: okay, this works with nova-compute service directly13:01
gibinova-compute gmr works for me13:01
gibinova-api doesnt13:03
bauzasgibi: okay, so I guess it's PEBKAC as I issued the signal against the main PID on the wsgi server13:03
bauzasah13:03
bauzasso, yeah, we should configure uwsgi to *not* handle this signal13:03
bauzasa devstack change I guess13:03
gibinova-api works if I run it under python directly13:04
sean-k-mooneySIGUSR2 -USR2 prints worker status13:05
sean-k-mooneythat is what uWSGI does by default13:05
bauzasgibi: yeah, so this is because of the server13:06
sean-k-mooneyhttps://uwsgi-docs-additions.readthedocs.io/en/latest/Management.html#signals-for-controlling-uwsgi13:06
sean-k-mooneywe may or may not be able to change that13:06
bauzashttps://uwsgi-docs.readthedocs.io/en/latest/Management.html#signals-for-controlling-uwsgi13:07
bauzasthis13:07
bauzasjinxed by sean-k-mooney13:07
opendevreviewFederico Ressi proposed openstack/nova master: Debug Nova APIs call failures  https://review.opendev.org/c/openstack/nova/+/80668313:09
bauzassean-k-mooney: looks like Stackalytics gives me a clue https://uwsgi-docs.readthedocs.io/en/latest/Options.html?#py-call-osafterfork13:09
opendevreviewFederico Ressi proposed openstack/nova master: Check Nova project changes with Tobiko scenario test cases  https://review.opendev.org/c/openstack/nova/+/80685313:09
sean-k-mooneymaybe13:10
bauzasanyway, not an urgent problem but we should somehow track this13:10
sean-k-mooneyhttps://www.techatbloomberg.com/blog/configuring-uwsgi-production-deployment/13:11
sean-k-mooneyThis feature should be enabled by default because we expect processes to respond to signals that are sent to them. Without enabling this feature, the first developer to attempt to trap signals in a uWSGI-hosted service is going to be confused until they find this option. That could cause a delay of anywhere from 0 minutes to days, depending on how good someone is at Googling13:12
sean-k-mooneyor asking coworkers for their opinions.13:12
sean-k-mooney^13:12
gibiyupp that feels like a doc bug to suggest using py-call-osafterfork = true 13:15
bauzasI'm proud of my Google fu's then :)13:16
bauzasI should ask for a promotion "Senior Principal Software Googler" I guess13:17
* gibi grants bauzas the SPSG title13:17
bauzasI'm used to practice it for administrative and legal paperwork13:18
bauzasanyway, back to the regression fix you asked me to look a13:18
*** abhishekk is now known as akekane|home13:37
*** akekane|home is now known as abhishekk13:39
*** tosky is now known as Guest713113:40
*** tosky_ is now known as tosky13:40
noonedeadpunkhey there!13:49
noonedeadpunkI see weird behaviour of nova-manage when I'm trying to do db_sync when ca_file is provided for mysql connection string13:49
noonedeadpunks/ca_file/ssl_ca/13:50
noonedeadpunkSo eventually that's stack trace https://paste.opendev.org/show/809281/13:50
noonedeadpunkAnd all other services treat same connection string correctly13:51
noonedeadpunkSo for me it feels like there's somewhere urlencode appllied or smth like that13:51
artomnoonedeadpunk, that smells like a thing we fixed recently...13:52
noonedeadpunkIf I add quotes in the connection line - this prevents file patch from being converted, but then wrong path is passed13:52
noonedeadpunkoh, I'm running master but with head several weeks before...13:52
noonedeadpunkwill try to update sha used13:52
artomnoonedeadpunk, https://review.opendev.org/c/openstack/nova/+/805663/913:53
noonedeadpunkwell, I came to smth simmilar :) thanks13:53
noonedeadpunkartom: works nicely!13:59
artom\o/13:59
gibiinterestingly multiple people independently reported bugs about nova/placement does not allow migrating VMs out from overallocated computes https://bugs.launchpad.net/nova/+bug/194319114:18
gibiI think we have that situation for a long time, sice we use migration allocations14:19
gibihm, even before14:19
gibisince we use placement actually14:19
opendevreviewAlban Lecorps proposed openstack/nova master: VMware: Support volumes backed by VStorageObject  https://review.opendev.org/c/openstack/nova/+/80879115:03
gibiit is fun to see how bauzas consistently clicks on Review-Priority +1 instead of Workflow +1 then lyarwood goes and fix is up for him. this is real teamwork :)15:09
gibibtw thanks for the reviews on the nova-manage db version fix15:10
lyarwood^_^ np15:10
dansmithin bauzas' defense, it breaks a decade of muscle memory, so I sympathize15:23
dansmithI usually catch myself, but not always15:24
bauzasgibi: holy shit15:27
bauzasdansmith: and yeah, it was that for at least 6 years for Nova and 8 years for another project ;)15:27
bauzaswow, time flies15:28
gibiyeah I also guessed that it was muscle memory15:28
bauzasgibi: if I was a astronaut, I could then have created a problem with my spacecraft :p15:46
* bauzas clicked on the wrong button15:46
opendevreviewMerged openstack/nova master: Reproduce bug/1943436  https://review.opendev.org/c/openstack/nova/+/80875315:48
gibiI hope spacex freezing the UI layout at least for each individual flight :)15:48
opendevreviewMerged openstack/nova master: Fix nova-manage db version  https://review.opendev.org/c/openstack/nova/+/80871216:43
coreycbhello, are there any near-term plans for new stable releases of nova?16:53
elodillescoreycb: I'm not aware of plans but it is possible to release for wallaby, victoria and ussuri as well as there are merged patches17:02
lyarwoodcoreycb: elodilles normally does these, I can't see any open but we can raise it tomorrow during the team meeting17:02
lyarwoodah there we go17:03
lyarwood:)17:03
elodilles:)17:03
coreycbelodilles: lyarwood: thanks for the response and raising it at the meeting17:33
opendevreviewAlban Lecorps proposed openstack/nova master: VMware: Support volumes backed by VStorageObject  https://review.opendev.org/c/openstack/nova/+/80879119:33

Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!