Wednesday, 2022-07-27

*** rlandy is now known as rlandy|out00:08
*** ysandeep|out is now known as ysandeep01:19
opendevreviewIan Wienand proposed openstack/project-config master: proposal updates: fix typo in release match  https://review.opendev.org/c/openstack/project-config/+/85115604:50
opendevreviewMerged openstack/project-config master: proposal updates: fix typo in release match  https://review.opendev.org/c/openstack/project-config/+/85115605:11
*** ysandeep is now known as ysandeep|afk06:08
*** jpena|off is now known as jpena07:35
*** ysandeep|afk is now known as ysandeep|lunch08:00
opendevreviewKe Niu proposed openstack/reviewstats master: remove unicode from code  https://review.opendev.org/c/openstack/reviewstats/+/85117108:51
*** ysandeep|lunch is now known as ysandeep10:01
*** rlandy|out is now known as rlandy10:34
*** dviroel|out is now known as dviroel11:35
*** ysandeep is now known as ysandeep|break12:19
*** ysandeep|break is now known as ysandeep12:58
*** rlandy is now known as rlandy|biab13:17
*** rlandy|biab is now known as rlandy13:33
*** akekane_ is now known as abhishekk14:12
*** dasm|off is now known as dasm14:42
*** ysandeep is now known as ysandeep|out14:54
*** dviroel is now known as dviroel|lunch14:57
elodillesianw: we started to see release job failures, see my comment here: https://review.opendev.org/c/openstack/project-config/+/850962/5#message-73ebe871b437f4e388bc693eb8892f36d337a0aa15:21
elodillesianw: is it possible that this has already fixed the issue? https://review.opendev.org/c/openstack/project-config/+/85115615:21
elodillesianw: and if it is fixed by that patch, when can we be sure that it is synchronized to zuul and we can approve release job again?15:39
clarkbelodilles: once a change merges to project-config jobs starting after that merge point should see the new content15:41
clarkbthere isn't a separate synchronization step15:42
elodillesclarkb: oh, i see. i just thought there's some delay as we started to see the failures half day later, while there were merged patches in the meantime.15:50
elodillesin that case that patch did not fix our issue :/15:50
*** dviroel|lunch is now known as dviroel15:52
tinwoodqq: if we've just set up a new project, but there's never been a commit via gerrit, would it be true that the github mirror would be empty?  Everything else looks fine in the config so that's the only thing I can think of? https://review.opendev.org/q/project:openstack/charm-cinder-dell-emc-powerstore  -- thanks!15:57
clarkbelodilles: https://opendev.org/zuul/zuul-jobs/src/branch/master/roles/ensure-pip/tasks/main.yaml#L77-L80 is the task that is failing. I don't understand why. That was called by https://opendev.org/openstack/project-config/src/branch/master/playbooks/proposal/pre.yaml#L79-L84 using the focal path whcih does not set _venv_command. Maybe the default(omit) is causing problems?16:00
clarkbtinwood: replication to github happens via zuul jobs and at first glance I see none configured for that project16:00
jrossertheres almost no case that omit should be used other than on a module parameter16:01
clarkbjrosser: I think the idea is we want the role default to take place there if _venv_command isn't set16:02
clarkbI guess default(omit) isn't the way to express that16:02
clarkbmaybe we need to calls to ensure-tox guarded by a when for when _venv_command is set and another for when it isn't set16:02
jrosserno, it says to an ansible module "nothing to see here" when you specify a parameter that sometimes you want to be absent16:02
jrosserused in a var it turns into something like omit_$huge_massive_string_here16:03
clarkbI see. Is there a better way to express "use the default if venv_command isn't set" than calling ensure-tox two different ways with when conditions?16:04
tinwoodclarkb, thanks; let me go check; I can see it has no .zuul.conf, which we'll need to add.16:05
clarkbtinwood: the github sync job may need to go into openstack/project-config/zuul.d/projects.yaml to have access to the necessary secrets16:05
fungii think it's usually done via a template for official openstack projects?16:06
tinwoodclarkb, yes, it's normally automatic for all the charm-* projects.  however, there's no mention of it in project-config:zuul.d/projects.yaml  -- I'll have a stare and see if I need to add something.16:10
opendevreviewClark Boylan proposed openstack/project-config master: Set ensure_pip_virtualenv_command in Focal proposal jobs  https://review.opendev.org/c/openstack/project-config/+/85123916:10
clarkbelodilles: jrosser ^ something like that maybe16:10
tinwoodclarkb, is "official-openstack-repo-jobs" the template that does the sync?  I see all our other charm projects use that, which is probably what is missing.16:11
clarkbtinwood: fungi: the template appears to be official-openstack-repo-jobs16:12
tinwoodclarkb, thanks; I'll raise a review to fix.16:12
clarkbif you look in that file I mentioned all the cahrm repos have an entry for that template but I don't see this particular repo. Adding that should be what is necessary here16:12
jrosserclarkb: the only other thing i can think of is to set_fact ensure_pip_virtualenv_command rather than pass it as a var, but it's arguable thats much less obvious what the intent is16:13
clarkbya this is quite verbose but at least it should make the intent clear16:16
jrosseri think you'd be able to get rid of a lot of conditional code by using vars/<operating-system>.yml type approaches16:17
jrosserand including the OS specific vars at the top of the role, which may, or may not override included role defaults as needed16:18
jrosserthen you make it kind of data driven rather than having to express all the logic in the code16:18
clarkbya that might be another appraoch. Can you have a vars/ dir adjacent to playbooks or only roles?16:19
jrosserlots of places, but beware the vars precedence16:20
jrosserwe do this just as boilerplate in all roles https://github.com/openstack/openstack-ansible-os_keystone/blob/master/tasks/main.yml#L34-L4816:21
clarkbya we've got some of that in our system management roles. But it happens less in the zuul job stuff. I think beacuse it isn't super common for a job to run across a ton of platforms. Though maybe that happens in devstack and similar locations like osa jobs too16:22
*** jpena is now known as jpena|off16:32
opendevreviewAlex Kavanagh proposed openstack/project-config master: Complete charm-cinder-dell-emc-powerstore config  https://review.opendev.org/c/openstack/project-config/+/85124216:40
tinwoodclarkb, fungi - thanks for the merge.16:51
opendevreviewMerged openstack/project-config master: Complete charm-cinder-dell-emc-powerstore config  https://review.opendev.org/c/openstack/project-config/+/85124217:00
clarkbyou're welcome17:03
ianwelodillies: yeah, i will look into that, sorry about that20:47
fungiianw: clarkb has a probable fix pushed20:49
fungiianw: https://review.opendev.org/85123920:49
ianwoh, excellent.  sorry i see the scrollback now20:51
ianwit's kind of lame that "include_role" looks exactly like a task where "foo | default(omit)" would work, but it doesn't20:57
ianwi've written a fair bit of ansible and didn't realise unitl now; basically just a foot-gun you don't know until you hit it20:57
ianw(it being your foot :)20:58
ianwi wonder if ansible-lint could pick it up20:58
*** timburke_ is now known as timburke20:58
opendevreviewMerged openstack/project-config master: Set ensure_pip_virtualenv_command in Focal proposal jobs  https://review.opendev.org/c/openstack/project-config/+/85123921:01
*** dasm is now known as dasm|off21:02
jrosserianw: the problem with omit is you can set a var to it if the only thing you do is pass the var to a module21:20
jrosserbut then inevitably the var gets used also for something else later which goes very badly21:21
jrosserimho the only place omit should be used is param: {{ condition | ternary(value, omit) }}21:23
jrosseror param: “{{ value | default(omit) }}”21:24
jrosserdirectly on a module, anything else is deserving a second look21:24
ianwjrosser: i guess though; "include_role: <foo> \n vars: {{ arg | omit }}" looks exactly like sending an argument to a module21:30
jrosserunfortunately that is true, it does look that way21:31
jrosserrestricting it to being used only on module params makes it really clear when a param is omitted, because the condition ends up being right there with the parameter21:33
jrosserotherwise you have something that looks like a var which sometimes is the magic omit value, and that’s really tricky for whoever reads the code next to understand21:34
*** rlandy is now known as rlandy|bbl22:06
*** dviroel is now known as dviroel|afk22:36

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