Thursday, 2024-12-05

*** mhen_ is now known as mhen02:10
opendevreviewRodolfo Alonso proposed openstack/tempest master: Wait for the router port activation before deletion  https://review.opendev.org/c/openstack/tempest/+/93633709:44
*** ykarel__ is now known as ykarel13:26
opendevreviewMerged openstack/devstack master: Add start time (in seconds) to the WSGI configuration file  https://review.opendev.org/c/openstack/devstack/+/93666915:38
opendevreviewStephen Finucane proposed openstack/devstack stable/2024.2: Install setuptools 'core' extra  https://review.opendev.org/c/openstack/devstack/+/93720318:54
fricklerkopecmartin: clarkb: fungi: https://bugs.launchpad.net/devstack/+bug/2082617 looks weird to me, but the new failure seems to match what was seen earlier. I have no idea however what might be happening there21:07
clarkbroles/write-devstack-local-conf writes that out from the ansible variables I think21:13
clarkbso it would be in there somewhere most likely21:13
clarkbfrickler: https://zuul.opendev.org/t/openstack/build/d6a4f75860334f1cb352955801564779/console#4/0/59/compute1 compare to https://zuul.opendev.org/t/openstack/build/d6a4f75860334f1cb352955801564779/console#4/0/59/controller21:22
clarkbnote the localrc is null for controller21:22
clarkbif you look at https://zuul.opendev.org/t/openstack/build/d6a4f75860334f1cb352955801564779/log/zuul-info/inventory.yaml it appears devstack_localrc is set for controller compute1 and globally so at some point that value disappears?21:25
clarkblocalrc: "{{ devstack_localrc|default(omit) }}" is how it gets passed to the modile21:25
clarkb*module21:25
clarkbI don't see anything in the previous playbooks like would be candidates for unloading that variable somehow21:29
clarkbfrickler: might want to add some additional debugging to the devstack pre run playbook to see what variables are present in the playbook at that point then work backward from there?21:30
clarkbcorvus: ^ this might be an interesting one in case it is related to ansible21:30
fungicould it be the same implicit localhost in the hostvars array?21:32
clarkbfungi: well we haven't updated our zuul yet so that shouldn't be it but also it should find the correct var for each host in the inventory21:34
fungiyeah, good point21:35
clarkbin this case the controller node runs the write-devstack-local-conf role with a null devstack_localrc value despite it being in the inventory file for it twice (node specific and global)21:35
clarkbya I'm a bit stumped on this one21:48
clarkbat first I thought it was likel ya bug in the role itself but that console log entry seems to say we just don't pass the data to the role in the first place21:48
clarkbmaybe its a bug in the inventory itself /me grabs the raw file21:53
clarkbI can yaml.safe_load() the file and i['all']['hosts']['controller']['devstack_localrc']['DATABASE_PASSWORD'] is in there21:59
clarkbi['all']['hosts']['controller']['devstack_localrc'] == i['all']['vars']['devstack_localrc'] evaluates to true too s owe aren't hitting some weird variable precedence thing22:00
clarkbI mean precdence may be in play but if the dicts are equivalent then it shouldn't matter22:00
clarkbI think that I've ruled out a bug in the python that implements the role and a bug in the inventory itself22:01
clarkbwhich leaves zuul, the zuul job, or ansible?22:02
clarkbI think the timing of the first occurence in that bug is too eraly to be ansible 9 related22:03
clarkbyes that happened october 822:03
clarkband the bug is from late september22:03
clarkbcorvus: iirc the inventory file we write out for logging purposes is not actually what th ejobs use? is that correct. Maybe we're masking some problem with var loading in the inventory for a specific host?22:05
clarkband if the bug isn't super consistent (which I don't think it is) maybe it has to do with variable inputs like ip addresses or hostnames for mirrors or something?22:05
clarkbwe have a winner22:09
clarkbhttps://zuul.opendev.org/t/openstack/build/d6a4f75860334f1cb352955801564779/log/zuul-info/host-info.controller.yaml#63 does not contain an address key: https://zuul.opendev.org/t/openstack/build/d6a4f75860334f1cb352955801564779/log/zuul-info/inventory.yaml#22122:10
clarkbfrickler: ^ the job is broken not a bug in devstack or zuul22:11
clarkbthat said I wonder if we can expose that better22:11
clarkbcorvus: ^ do you know why that isn't a higher level bug if the vars fail to load properly in the inventory?22:11
clarkbs/higher level bug/higher level error or failure/22:12
clarkbI wonder if ansible just does that automatically for inventory as some sort of "do the best we can in the face of problems" behavior22:13
clarkbhttps://opendev.org/openstack/devstack-plugin-ceph/src/branch/master/.zuul.yaml#L92 https://opendev.org/openstack/manila-tempest-plugin/src/branch/master/zuul.d/manila-tempest-jobs.yaml#L531 and https://opendev.org/openstack/manila-tempest-plugin/src/branch/master/zuul.d/manila-tempest-jobs.yaml#L611 are the three occurences of this issue that are immediately discoverable via22:18
clarkbcodesearch22:18
corvusclarkb: i do not know the answer to your question off the top of my head22:21
clarkbnew theory: ansible lazy evaluates that stuff and we don't refer to devstack_localrc until we try to use it in that role which does a |default(omit) and maybe |default(omit) masks the error22:24
clarkbI wonder if we could do something like set a default value of {} and then drop the |default(omit) and see if that exposes it22:28
clarkbcould probably artificially test this too. Though I find that whenever I do that I end up fighitng ansible over the localhost inventory magic which might make results less clear22:28
clarkbfrickler:  Isummarized all of my debugging rambling above on the issue22:52
clarkband added manila to the issue too as manila's templest plugin jobs are also broken22:52

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