Wednesday, 2020-04-08

clarkbjkt: what you are describing seems to be very similar and basically we only want compressed file to be set with a compressed type others shouldb't be so we get them back as expected00:01
jktnow that's it, I think, thanks!00:01
jktconfirming, this fixed my problem, thanks a lot00:13
openstackgerritIan Wienand proposed zuul/zuul-jobs master: [wip] ensure pip role  https://review.opendev.org/71763900:22
openstackgerritIan Wienand proposed zuul/zuul-jobs master: [wip] ensure-pip: export ensure_pip_virtualenv_command  https://review.opendev.org/71822400:22
openstackgerritIan Wienand proposed zuul/zuul-jobs master: [wip] fetch-zuul-cloner: use ensure-pip  https://review.opendev.org/71788200:22
openstackgerritIan Wienand proposed zuul/zuul-jobs master: [wip] use ensure-pip in fetch-subunit-output test  https://review.opendev.org/71822500:23
openstackgerritIan Wienand proposed zuul/zuul-jobs master: [wip] ensure-tox: use ensure-pip role  https://review.opendev.org/71766300:23
openstackgerritIan Wienand proposed zuul/zuul-jobs master: Update Fedora to 31  https://review.opendev.org/71765700:23
openstackgerritIan Wienand proposed zuul/zuul-jobs master: ensure-tox: make idempotent and update testing  https://review.opendev.org/71828400:23
*** zxiiro has joined #zuul00:23
*** armstrongs has joined #zuul00:25
*** armstrongs has quit IRC00:29
*** ysandeep|away is now known as ysandeep|rover01:17
openstackgerritIan Wienand proposed zuul/zuul-jobs master: ensure-tox: make idempotent and update testing  https://review.opendev.org/71828401:20
openstackgerritIan Wienand proposed zuul/zuul-jobs master: [wip] ensure pip role  https://review.opendev.org/71763901:20
openstackgerritIan Wienand proposed zuul/zuul-jobs master: [wip] ensure-pip: export ensure_pip_virtualenv_command  https://review.opendev.org/71822401:20
openstackgerritIan Wienand proposed zuul/zuul-jobs master: [wip] fetch-zuul-cloner: use ensure-pip  https://review.opendev.org/71788201:20
openstackgerritIan Wienand proposed zuul/zuul-jobs master: [wip] use ensure-pip in fetch-subunit-output test  https://review.opendev.org/71822501:20
openstackgerritIan Wienand proposed zuul/zuul-jobs master: [wip] ensure-tox: use ensure-pip role  https://review.opendev.org/71766301:20
openstackgerritIan Wienand proposed zuul/zuul-jobs master: Update Fedora to 31  https://review.opendev.org/71765701:20
*** swest has quit IRC01:27
*** swest has joined #zuul01:42
*** ysandeep|rover is now known as ysandeep|brb02:10
openstackgerritIan Wienand proposed zuul/zuul-jobs master: [wip] ensure-tox: use ensure-pip role  https://review.opendev.org/71766302:30
openstackgerritIan Wienand proposed zuul/zuul-jobs master: Update Fedora to 31  https://review.opendev.org/71765702:30
*** rlandy has quit IRC02:37
*** Goneri has quit IRC02:40
*** zxiiro has quit IRC03:27
*** bhavikdbavishi has joined #zuul03:35
*** bhavikdbavishi1 has joined #zuul03:38
*** bhavikdbavishi has quit IRC03:39
*** bhavikdbavishi1 is now known as bhavikdbavishi03:39
*** ysandeep|brb is now known as ysandeep|rover03:42
*** cdearborn has quit IRC03:59
*** evrardjp has quit IRC04:36
*** evrardjp has joined #zuul04:37
*** sgw has quit IRC05:13
*** bhavikdbavishi has quit IRC05:27
*** y2kenny has quit IRC05:29
*** igordc has quit IRC05:32
*** bhavikdbavishi has joined #zuul05:34
openstackgerritIan Wienand proposed zuul/zuul-jobs master: Update Fedora to 31  https://review.opendev.org/71765706:05
*** bhavikdbavishi has quit IRC06:12
*** bhavikdbavishi has joined #zuul06:27
openstackgerritIan Wienand proposed zuul/zuul-jobs master: Update Fedora to 31  https://review.opendev.org/71765706:27
*** gtema has joined #zuul06:30
*** gtema has quit IRC06:38
*** gtema has joined #zuul06:40
*** gtema has quit IRC06:45
*** gtema has joined #zuul06:45
*** jcapitao has joined #zuul06:54
*** avass is now known as Guest2873106:56
*** avass has joined #zuul06:56
*** rpittau|afk is now known as rpittau07:17
*** ysandeep|rover is now known as ysandeep|lunch07:24
*** bhavikdbavishi has quit IRC07:27
*** sshnaidm|afk is now known as sshnaidm07:42
*** gtema has quit IRC07:44
*** bhavikdbavishi has joined #zuul07:49
openstackgerritSorin Sbarnea proposed zuul/zuul-jobs master: tox: allow tox to be upgraded  https://review.opendev.org/69005707:52
*** gtema has joined #zuul07:58
*** tosky has joined #zuul08:00
*** dmellado has quit IRC08:01
*** gtema has quit IRC08:04
*** dmellado has joined #zuul08:05
*** bhavikdbavishi has quit IRC08:05
*** gtema has joined #zuul08:07
*** dpawlik has joined #zuul08:08
*** bhavikdbavishi has joined #zuul08:16
*** ysandeep|lunch is now known as ysandeep|rover08:29
openstackgerritSorin Sbarnea proposed zuul/zuul-jobs master: tox: allow tox to be upgraded  https://review.opendev.org/69005708:48
*** harrymichal has joined #zuul09:02
jktcan I stop all other jobs that are queued or running for the current change when a given "most significant" job fails?09:24
jktI know about https://zuul-ci.org/docs/zuul/reference/job_def.html#attr-job.hold-following-changes , but I like the paralelization09:24
*** harrymichal has quit IRC09:24
openstackgerritSorin Sbarnea proposed zuul/zuul-jobs master: tox: allow tox to be upgraded  https://review.opendev.org/69005709:26
jktah, it seems that I am actually looking for https://zuul-ci.org/docs/zuul/reference/project_def.html#attr-project.%3Cpipeline%3E.fail-fast09:26
*** bhavikdbavishi has quit IRC10:11
andreykurilinhi folks! The case project X defines a job, project Y inherits it. Project X would like to change job and Project Y would like to use old version of the job for stable branches. How the things should be done? `required-projects: [{"name": "ProjectX", "override-checkout": "old-tag"}]` doesn't help10:12
jktaaaaargh, looks like the virtual env installation of Ansible on centos7 with SCL-provided Python doesn't really work:10:15
jktAnsible output: b'/var/lib/zuul/ansible-bin/2.8/bin/python3: error while loading shared libraries: libpython3.6m.so.rh-python36-1.0: cannot open shared object file: No such file or directory'10:15
*** harrymichal has joined #zuul10:15
*** bhavikdbavishi has joined #zuul10:15
jktwhich is weird because I can exec that /var/lib/zuul/ansible-bin/2.8/bin/python3 just fine from my shell, and `ldd` shows that the path to that lib is given as an absolute path, so...10:18
jktah, but of course bwrap doesn't allow that path10:19
*** rpittau is now known as rpittau|bbl10:24
*** harrymichal has quit IRC10:28
*** ysandeep|rover is now known as ysandeep|afk10:30
openstackgerritTobias Henkel proposed zuul/zuul master: WIP: Support per branch change queues  https://review.opendev.org/71838110:36
jktenabling that via bwrap was easy, now next milestone for this Zuul 3.8.1 -> 3.18 update: ModuleNotFoundError:10:52
jktNo module named 'openstack'10:52
jktvia upload-logs-swift10:52
*** sshnaidm is now known as sshnaidm|afk10:56
jkthow do I "cleanly" specify that a role requires a certain package from pip?10:58
openstackgerritSorin Sbarnea proposed zuul/zuul-jobs master: tox: allow tox to be upgraded  https://review.opendev.org/69005710:59
jktright, so this is apparently only because my initial installation failed due to that lib path filtering11:07
*** jcapitao is now known as jcapitao_lunch11:07
jktI see that it's installing the openstack package now, nice11:08
jkthmmm, so the installation fails: http://paste.openstack.org/show/791798/11:21
AJaegerandreykurilin: copy the job into project Y and add it to the branches you need it one11:25
jktoh yeah, let's try a random update for https://github.com/pypa/pip/issues/4216 , this box cannot possibly get any more broken11:27
openstackgerritBenjamin Schanzel proposed zuul/nodepool master: k8s/OKD Provider: Don't Set ca_cert if TLS verification is skipped  https://review.opendev.org/71839711:28
andreykurilinAJaeger: so there is no way to avoid duplication? and `override-checkout` works after playbooks and roles are loaded, right?11:28
AJaegerandreykurilin: I don't think override-checkout will help with job definitions. I have no other idea but maybe others have once they are awake11:30
*** ysandeep|afk is now known as ysandeep|rover11:31
*** bhavikdbavishi has quit IRC11:46
andreykurilinAJaeger: thanks! one more question: Does override-checkout affects zuul role files?11:49
AJaegerandreykurilin: I don't know directly, best ask again later11:50
andreykurilinAJaeger: anyway, you helped a lot. thanks!11:50
jktthis starts getting interesting -- apparently Zuul installs setuptools-28.8.0 for all of its /var/lib/zuul/ansible-bin/2.9/lib/python3.6/site-packages/ , using PIP 9 for that12:01
jkteven though if I do something like `python -m venv WTF` with my host's python3, I get a newer PIP12:02
webknjazWhen `virtualenv` (not `venv`) is used, it comes with a certain version of pip. If you want newer pip in fresh envs, virtualenv should be upgraded.12:04
webknjazstdlib `venv` uses what's bundled in `ensurepip` that usually comes as a part of the CPython distribution12:05
jktwebknjaz: OK, this is centos7 with Python 3.6 from RH's SCL, so a pretty ancient thing. Let me try updating host's virtualenv as well in addition to pip and setuptools12:08
webknjazpip/virtualenv upgrade won't affect what's inside of the new/fresh virtualenvs. Only outer env.12:09
*** jcapitao_lunch is now known as jcapitao12:14
*** Goneri has joined #zuul12:16
openstackgerritAlbin Vass proposed zuul/zuul master: WIP: Enables whitelisting and configuring callbacks  https://review.opendev.org/71726012:16
jktwebknjaz: thanks a lot, that did the trick12:17
jktwebknjaz: would it make sense to extend zuul's zuul/lib/ansible-config.conf with a dep on new enough virtualenv? Or is that actually too late and should Zuul itself depend on that one?12:18
avasscorvus: thoughts on 717260 so far?12:18
*** rlandy has joined #zuul12:19
*** sshnaidm|afk is now known as sshnaidm12:19
*** rpittau|bbl is now known as rpittau12:23
jktwebknjaz: I don't understand this -- Zuul's own CI builds run on Ubuntu Xenial, and they have virtualenv=15.0.1-something, right? https://packages.ubuntu.com/xenial-updates/virtualenv12:23
jktwebknjaz: how come that my system (which used 15.1.0) did not work?12:23
jktah, perhaps because that one doesn't use systemwide installation of virtualenv, but rather gets it via tox12:25
openstackgerritAlbin Vass proposed zuul/zuul master: WIP: Enables whitelisting and configuring callbacks  https://review.opendev.org/71726012:26
*** rlandy has quit IRC12:31
*** rlandy has joined #zuul12:31
openstackgerritSorin Sbarnea proposed zuul/zuul-jobs master: tox: allow tox to be upgraded  https://review.opendev.org/69005712:32
openstackgerritTristan Cacqueray proposed zuul/zuul-operator master: Add zuul-registry deployment  https://review.opendev.org/71065012:36
openstackgerritTristan Cacqueray proposed zuul/zuul-operator master: Add zuul-preview service  https://review.opendev.org/71841912:36
webknjaz@jkt: `tox` uses `virtualenv` from the same env where it's installed, it's not "inside". btw AFAIR the latest tox requires virtualenv to be v16+12:43
openstackgerritJan Kundrát proposed zuul/zuul master: Ensure we use recent enough virtualenv  https://review.opendev.org/71842512:45
jktwebknjaz: can you please check https://review.opendev.org/718425 to make sure I got you right?12:45
*** gtema has quit IRC12:47
webknjazI don't see tox there, is it the same env?12:47
*** gtema has joined #zuul12:49
jktwebknjaz: the error message is from a real deployment on el7 + system installation of the virtualenv package from RH's SCL Python distribution12:49
jktI checked upstream's virtualenv release history, and I have to say I have no idea which version pulls in "recent enough" setuptools to not break12:50
jktand given that the CI uses "whatever is latest", it made sense to me to pull that as a requirement, given that I know that 15.1.0 doesn't work for me, and that Ubuntu ships even older releases12:50
webknjazI mean, I'm not sure where tox is installed. But if it's there, it's probably OK.12:59
*** saneax has quit IRC13:01
*** sgw has joined #zuul13:02
*** cdearborn has joined #zuul13:13
zbrwebknjaz: if you are referring to ZAC instance, i am aware that there is an outdated tox there, probably pre-backed by pabelanger13:14
zbrin fact that is the reason why I am working on https://review.opendev.org/#/c/690057/ -- so we can enforce it to upgrade or to install extra deps13:15
openstackgerritTobias Henkel proposed zuul/zuul master: Support per branch change queues  https://review.opendev.org/71838113:23
*** rlandy is now known as rlandy|pto13:24
*** ysandeep|rover is now known as ysandeep|away13:25
*** hashar has joined #zuul13:28
openstackgerritTobias Henkel proposed zuul/zuul master: Evaluate CODEOWNERS settings during canMerge check  https://review.opendev.org/64455713:35
*** gtema has quit IRC13:40
corvusavass: that looks nearly ready -- i have one question (just for my own curiosity), and one suggested change.  then we'll need docs.13:51
openstackgerritTobias Henkel proposed zuul/zuul master: Report retried builds in a build set via mqtt.  https://review.opendev.org/63272713:52
openstackgerritTobias Henkel proposed zuul/zuul master: Report retried builds via sql reporter.  https://review.opendev.org/63350113:52
*** gtema has joined #zuul13:53
*** gtema has quit IRC13:56
openstackgerritTobias Henkel proposed zuul/zuul master: Add --validate-tenants option to zuul scheduler  https://review.opendev.org/54216013:58
avasscorvus: huh, I had to double check the callback_plugins path14:07
avasscorvus: seems it is added by default, must have been something else I changed at the same time that made it work14:08
tobiashcorvus: I've responded on 718381, what do you think?14:11
openstackgerritAlbin Vass proposed zuul/zuul master: WIP: Enables whitelisting and configuring callbacks  https://review.opendev.org/71726014:20
corvustobiash: at least i'm consistent :)14:32
tobiashcorvus: yeah, I totally agree that it should be allowed optionally14:32
tobiashcorvus: I've responded a proposal to the tenant config just a minute ago to that change14:33
tobiashthat would be consistent with the circular deps change then14:34
*** bhavikdbavishi has joined #zuul14:38
fungijkt: why did you need to use scl? i thought the latest centos 7.x release added python3 directly to the main archive14:40
corvustobiash: i'm afraid i may have just added more questions and things to think about :/14:41
*** bhavikdbavishi1 has joined #zuul14:41
corvustobiash: did we decide that circular deps needs to be in the tenant config because projects with two different settings for circular deps are incompatible?14:43
*** bhavikdbavishi has quit IRC14:43
*** bhavikdbavishi1 is now known as bhavikdbavishi14:43
AJaegerhere's a change for chaning the way we remove the ssh-key in zuul-base-jobs, first for base-test. It looks sane to me but wanted to give others a chance to chime in. I'll +2 now and will later +A if nobody objects - https://review.opendev.org/#/c/708871/4 Reviews welcome (and feel free to +A)14:43
tobiashcorvus: I think we decided this for cdep because it felt naturally allowing it in the tenant config14:43
corvusavass: i sent you another private message :)14:43
*** y2kenny has joined #zuul14:45
*** igordc has joined #zuul14:45
corvustobiash: ah, i guess we should figure out which is the most natural thing here; considering that we support different change queues within a tenant, and it's plausible that one group of projects may want split-branch queues and another may want shared-branch queues, it doesn't seem straightforward to me.  i think we'll need to think about whether it's possible to support both inside of a tenant, or if that's14:46
corvustoo difficult and we just need to make it a tenant setting...14:46
tobiashcorvus: re in-repo for per branch change queues. I think that's even easier than the tenant config as it can be handled entirely in buildChangeQueues in the dependent manager14:46
tobiashcorvus: the tenant config way would support both as it's overridable per project14:46
tobiashat least it's already handled like this in the current cdep implementation14:47
corvustobiash: yeah, but you need to ask your administrator to override it :)14:47
tobiashyes14:47
corvustobiash: hrm.  do you think that's the right decision for cdep?14:47
corvustobiash: should both of these be in-repo instead of in tenant config?14:47
tobiashcorvus: thinking deeper about that I think it makes sense14:48
tobiashcorvus: so I guess it would look like this: https://etherpad.openstack.org/p/uQ5XkWptud14:49
tobiashand only allowed in a config project14:49
corvustobiash: but what happens if 2 projects have different settings for either of those?14:51
AJaegercan we say "allowed-projects" with a regex like "allowed-projects: ^openstack/.*"?14:51
tobiashcorvus: when specifying the queue in the config project it should take precedence no matter which settings?14:51
corvusAJaeger: i don't think so14:52
corvustobiash: that sort-of happens now, as long as you list the config-project first, since it's first-one-wins14:52
AJaegercorvus: ok14:52
y2kennyis there a recommanded way to write to the inventory or add to zuul.resources inside a job/playbook?  (let say I use the k8s/openshift driver's namespace type and created pods "manually/not by nodepool" inside the job/playbook.)14:53
tobiashcorvus: yes, so I think that makes sense. So when one wants to use queue per branch he must omit the queue in the config project14:54
corvustobiash: well, we need to support setting queue-per-branch entirely in the config project too14:56
corvustobiash: (because some sites don't want to use any untrusted in-repo config)14:56
tobiashhrm, yes, that's also true for some of our projects14:56
tobiashcorvus: what about a 'change-queue-per-branch' setting instead of an 'allow-change-queue-per-branch'?14:57
tobiashand having the queue then being impicit integrated-<branch> in this case?14:57
tobiashI think that might more sense from projects point of view14:58
corvustobiash: i think having the 'change-queue-per-branch' setting makes sense, but i'm concerned about that meaning an implicit queue name14:59
corvusi think it would make more sense if it were automatic, sort of like how you have it implemented now14:59
tobiashthe name is not used anywhere I think so we could just have multiple 'integrated' queues then14:59
corvustobiash: but i'm still not sure what the behavior should be if two projects have different settings15:00
tobiashI think we'd need some sort of precedence here15:01
tobiashas the per-branch attribute does match the queue itself more than the project15:01
tobiashideally we'd create a queue object and reference that from the projects15:01
tobiashsimilar to semaphore15:01
corvustobiash: i was just thinking the same thing15:02
corvustobiash: i need to get some breakfast, biab :)15:03
tobiashwow, design discussions pre-breakfast15:03
tobiashI'm impressed :)15:03
*** zxiiro has joined #zuul15:04
fungitime is an illusion, breakfast time doubly so?15:11
* fungi has already done six impossible things before breakfast15:12
*** bhavikdbavishi has quit IRC15:14
*** bhavikdbavishi has joined #zuul15:16
jktfungi: this host has been around for a few years already, I'm sure there was no recent enough python3 in main repos at the time of installation15:34
y2kennyis modifying zuul.resources/inventory inside a playbook not a good idea?15:34
fungijkt: oh, got it, you're running an older centos 7 and not upgrading it?15:35
clarkby2kenny: its probably better to use ansible's add_host module15:35
clarkby2kenny: thats give you a programmatic interface so if details on the backend change the interface will accomodate that15:35
fungiy2kenny: it sounds like a layer violation to me, but what are you hoping to accomplish that way? stash things in it your playbooks will use, or alter zuul's behavior?15:35
y2kennyclarkb: would that update zuul.resources (or I can make add_host to register a change to zuul.resources?)15:36
jktfungi: more like "I did not even know about that news"15:36
jktsee, I would have gone all the way to el8 if I was installing from scratch15:37
fungijkt: heh, yeah i think it's centos 7.7 they started including python 3.6 directly so that folks have a better migration path to centos 815:37
clarkby2kenny: it can update host vars for the new host as well as add hosts to groups. So depending on how you want to update that data structure would potentially have the equivalent result15:37
jktI'm afraid my "migration path" includes full reinstallation and finding out which of my ansible playbooks need some desparete updating15:38
jktI don't really do CI/CD of the infra :)15:38
y2kennyclarkb, fungi: I am thinking of creating pods using nodepool k8s driver with namespace type15:38
clarkby2kenny: ya for that I think add_host is probably the correct option15:38
clarkbthen the playbooks can operate on those resources after they are created and added15:39
y2kennyso that I can have more flexible definition.  After the launch of the pods, I still want to use them similar to pods created by nodepool15:39
y2kennyclarkb: cool, I will give that a try15:39
y2kennythanks!15:39
*** bhavikdbavishi has quit IRC15:46
openstackgerritAlbin Vass proposed zuul/zuul master: WIP: Enables whitelisting and configuring callbacks  https://review.opendev.org/71726016:03
*** sshnaidm is now known as sshnaidm|afk16:04
*** hashar is now known as hasharAway16:05
*** hasharAway is now known as hashar16:23
*** rpittau is now known as rpittau|afk16:23
*** dpawlik has quit IRC16:29
tristanCzuul-maint : similarly to the zuul.conf, i've added variable substitution for the registry configuration so that it is easier to deploy in kubernetes. Could you please have a look at https://review.opendev.org/71064416:30
*** jcapitao has quit IRC16:32
*** bhavikdbavishi has joined #zuul16:36
*** evrardjp has quit IRC16:37
*** evrardjp has joined #zuul16:37
*** bhavikdbavishi1 has joined #zuul16:39
tristanCzuul-maint : and i've been integrating the zuul-registry and the zuul-preview service in the operator, the changes are verified by zuul, could you please review https://review.opendev.org/#/c/718419 and https://review.opendev.org/710650 . Thanks in advance!16:39
*** bhavikdbavishi has quit IRC16:41
*** bhavikdbavishi1 is now known as bhavikdbavishi16:41
openstackgerritMerged zuul/zuul-base-jobs master: Remove ssh key in base-test cleanup run.  https://review.opendev.org/70887116:47
openstackgerritJames E. Blair proposed zuul/zuul-preview master: Handle SSL proxying and other fixes  https://review.opendev.org/71851716:49
corvusmordred, mnaser, tristanC: ^ running that image locally makes site.925bfe37815144d0859f260605d5fb98.zuul.zuul-preview.opendev.org work for me16:49
openstackgerritJames E. Blair proposed zuul/zuul-preview master: Handle SSL proxying and other fixes  https://review.opendev.org/71851716:50
corvusoops, silly comment edit16:50
corvusmordred: ^16:50
mordredcorvus: +216:51
mordredclarkb: ^^16:51
clarkbon the dockerignore change I may be overthinking this but having the dockerfile change implies you want new things doesn't it?16:54
clarkbotherwise why change the dockerfile16:54
corvusclarkb: yeah, but docker already knows how to detect that things in the dockerfile are changed16:54
corvusclarkb: aiui, this should just affect the COPY statements16:54
corvusclarkb: which are important because we have "COPY ." in there16:55
clarkbright but you end up with a new layer either way?16:55
clarkbbecause you're building an image?16:55
clarkbI guess I don't see how it changes anything.16:55
corvusclarkb: when i added "a2enmod ssl" to the dockerfile, it recompiled the c++ code because of the "COPY ." that happens before the recompile.16:56
corvusclarkb: with this change, i can change the dockerfile and it won't do that anymore, it will just start rebuilding at the "RUN a2enmod" layer, which is later16:56
clarkbI see so this is specficially to prevent rebuilds of c++ if changing other aspects of the image16:57
corvusyep16:57
corvus(i'm actually wondering if i can add vhost.conf in there it doesn't affect the earlier layer, but it does affect a later layer, but there's an explicit copy for that... i'm experimenting)16:58
corvusnope, that doesn't work -- even the explicit "COPY vhost.conf" won't work if vhost.conf is in the dockerfile16:59
corvusso i think that's about all we can do right now :)16:59
corvuser s/dockerfile/dockerignore/ two lines up ^17:00
clarkbtristanC: question for you on https://review.opendev.org/#/c/710644/517:02
tristanCclarkb: it's because yaml.load output is of type Any. To get a proper type, we would need to type the config schemas.17:06
clarkband that is beacuse its not runtime checked ya?17:06
clarkbit just seems really weird to me that we haev a specific return type and even rely on that at line 316, but don't check it17:07
clarkb(seems to really devalue the purpose of type checking here)17:07
mordredclarkb: yeah - but from python's pov, yaml.load could return anything17:07
mordredwe know that the contents of the yaml file are expeted to be a dict17:07
clarkbmordred: ya tristanC's comment has clarified that for me. I still think that devalues type checking that fuinction fwiw17:08
mordredbut the python typing can't know that in this context17:08
tristanCclarkb: i didn't mind to type check the config, adding the function type definition enables typechecking it's internal code17:08
tristanCclarkb: for example changing any variables of the inner lambda or list comprehension will likely result in a useful type error17:10
tristanCmordred: actually yaml content can be a list or literal value too, not just a dict :)17:10
clarkbtristanC: yes, but in this case we require a dict because of line 31617:11
clarkbtristanC: which is why this jumped out to me17:11
clarkbbecause literally the next line of code dependso n the type being specific17:11
clarkb(but we aren't checking that)17:11
corvuswhat happens if you change line 383 to say "-> typing.Dict" ?17:11
openstackgerritMerged zuul/zuul-preview master: Handle SSL proxying and other fixes  https://review.opendev.org/71851717:11
clarkbtristanC: and yes checking thei nputs has value too. Its just as I mentioned this stood out to me because of what we do on the next line17:13
tristanCcorvus: that would fails the yaml_load: `Returning Any from function declared to return "Dict[Any, Any]"`17:14
clarkbI've approved the change after tristanC and mordred's explanation17:14
corvustristanC, mordred: so is there some way to 'coerce' the type?  because clarkb is right, while it's true that yaml_load can return anything, the only valid return value from this function is a dict17:15
tristanCcorvus: iiuc the mypy check implementation, if we add : if isinstance(yaml_load_output, dict): return ...     then the output can be typed as Dict17:16
tristanCclarkb: corvus: i agree that's odd to return Any and then expect a Dict, but that is a limitation of dynamic language like python. If we want proper type, then we need extra work to ensure the types are correct17:17
corvustristanC: if you feel like spending a minute on that, i'd be interested to see what it looks like.  i'm not promising i'll love it or want to merge it here or elsewhere, but it might make clarkb and i feel better about type annotations :)17:17
clarkbya it would be helpful if we as a user of the tpye system could say " we get it this type isn't actually set until runtime, but we expect type foo. Is the rest of the program consistent with that expectation"17:18
clarkbbecause that has value imo17:18
corvustristanC: yes, we're in full agreement there, and i really like static typed languages.  i think the difference is that i'm still not convinced all the extra work for type annotations in python is worth it (because we keep hitting cases where the design of the annotation system is fundamentally at odds with the design of the language).  but i'm trying to keep an open mind.  :)17:20
openstackgerritTristan Cacqueray proposed zuul/zuul-registry master: Demonstrate how to cast Any into Dict for load_config  https://review.opendev.org/71852517:20
fungias much as i might sometimes wish python were c, it's... not17:21
tristanCfungi: iirc c doesn't check subtype either, so it's not exactly preferable...17:21
fungiyeah, true on that point17:22
tristanCcorvus: yeah i agree. The extra safety mypy provides is often not worthy to get the type check right17:22
clarkbwell C does the assume the user provided type is the case thing17:22
corvustristanC: so mypi will follow the AST and see that isinstance ensures it's a dict?17:22
clarkbwhich still has value17:22
tristanCcorvus: yeah17:22
corvustristanC: that's pretty neat :)17:22
mordredyeah - that's actually cool :)17:23
clarkbyou can still get it wrong, but it does catch a number of isses around typing when you check assumed types17:23
tristanCcorvus: which is kind of crazy, however that makes its implementation quite hard to understand... In some case it wasn't not able to process the AST as expected17:23
fungiit's tempting me to give it a spin on some of my simpler personal projects which handle outside data17:23
corvustristanC: given that a robust implementation should really be doing that check anyway (we do in zuul, obviously), that seems like a good solution to clarkb's concern17:23
mordred++17:24
clarkbcorvus: ya I've +2'd it17:24
tristanCfungi: this recent article shows how modern language does type check on external data: https://codetalk.io/posts/2020-04-05-common-json-patterns-in-haskell-rust-and-javascript.html17:24
fungitristanC: thanks!17:25
mordred#[serde(skip_serializing_if = "Option::is_none")]17:26
mordredI like that from teh rust17:26
tristanCfungi: and btw, the dhall implementation of rust and haskell does provides the derive mechanism to express the config types in their native language17:26
fungiit's not all that far from ye olden days of validating structs in network protocol data17:26
funginow that i think about it, i deal with packed structs in some of my software which implements a full telnet option negotiation stack17:27
fungiso not that olden17:27
openstackgerritTristan Cacqueray proposed zuul/zuul-registry master: Use explicit provides/requires for container jobs  https://review.opendev.org/71776717:29
mnaserso -- http://site.925bfe37815144d0859f260605d5fb98.zuul.zuul-preview.opendev.org is up (based on the DNM change with the move to gatsby)17:39
mnasercan i get comments so that if we reach a good final state, i can start splitting to multiple digestable changes?17:40
mnaser(i was thinking of moving the add-blog part to a seperate change too)17:40
mnaserthe change in question: https://review.opendev.org/#/c/717371/17:41
mnasercc zuul-maint ^ :)17:41
mordredmnaser: yeah - I think that's a good idea - because that way we can add an actual blog content in that change - and it'll both show how to add the feature and be digestible17:41
mnaseri think overall right now if i can get a review in "this looks ok" or "this looks off compared to the normal site"17:41
mordredzuul-maint: if you haven't played with gatsby yet, I recommend looking at https://review.opendev.org/#/c/717371/12/gatsby-node.js ... but don't block too much on not fully understanding it17:42
fungimnaser: woah, a blog!17:42
fungi"Zuul is pretty good"17:42
mordredit's a core piece of how gatsby drives compile time things and provides them as data to the code17:42
fungihard to disagree17:43
mnaserfungi: had to put _some_ filler code :)17:43
fungiit's certainly better than lorem ipsum17:43
mordredit took me a few iterations to wrap my head around how the graphql works in my gatsby website17:43
clarkbour of curiousity why are the pages like users and docs not markdown?17:52
clarkbalso what does the routing? I see that the blog is explicitly set to /blog in gatsby-node.js but the things in pages/ don't appear to be explicitly routed. Is that implicit for the pages/ dir?18:02
mnaserimho, pages like that which have the potential to evenutally become things with logos or fancy formatting shouldnt be in markdown18:03
clarkbcontent wise the community page is missing the infrastructure donors and supporting companies info18:07
clarkbthe documentation navbar doesn't drop down with shortcuts into specific docs like current website does18:07
clarkboh wait the company stuff is there its just below a gray bar18:08
clarkbI would remove that gray bar, it makes it feel like the bottom of the page18:08
* clarkb tries to find where to leave those comments in the source18:10
openstackgerritTobias Henkel proposed zuul/zuul master: WIP: Support per branch change queues  https://review.opendev.org/71853118:13
tobiashcorvus: this is an attempt with a queue config item and passes tests locally ^18:13
*** avass has quit IRC18:17
*** bhavikdbavishi has quit IRC18:17
*** avass has joined #zuul18:17
clarkbok I gave up trying to find the cause of the last thing I found and just left a best guess comment18:27
clarkbmnaser: my feedback is in the change now18:27
*** hashar has quit IRC18:33
*** hashar has joined #zuul18:36
*** rlandy|pto is now known as rlandy18:37
mordredclarkb: yeah - re js vs markdown - markdown really works best when it's a thing with a structure where there can be multiple instances of it each with some data - because you need to make the display template and then map the markdown content into it18:39
clarkbmordred: yup thats our users and documentation pages :)18:40
clarkbthey are basically list of things with header and content18:40
mordredTHAT SAID - once we get to the point where we've got netlify-cms plugged in to this, we might want to make a few more things markdown even if it's somewhat weird - so that people can edit TTW18:40
mordredclarkb: yah - we could totally develop those to be driven by markdown18:41
mordredmight be a good follow on task when someone wants to poke at it18:41
clarkbmnaser: structurally you may want to git mv the assets rather than adding them new. That may reduce git repo size18:42
clarkber mordred ^ sorry mnaser18:46
clarkbbah18:46
clarkbI'm all confused with my irc channels right now18:46
clarkbapologies18:46
*** gtema has joined #zuul18:52
*** gtema has quit IRC18:59
*** gtema has joined #zuul19:06
*** gtema has quit IRC19:16
*** y2kenny has quit IRC19:31
*** igordc has quit IRC20:17
*** igordc has joined #zuul20:18
*** hashar has quit IRC20:19
*** rlandy has quit IRC20:46
openstackgerritJames E. Blair proposed zuul/zuul-jobs master: tox: Don't inline python warnings  https://review.opendev.org/71855421:18
corvusmordred: ^ i'm mostly interested in landing the test data; i'm open to hearing what folks actually want out of the job :)21:18
corvusmnaser, tobiash: ^ fyi21:21
tobiashcorvus: lgtm with a slight nit21:27
tobiashI think it makes sense to exclude the python warnings as they often are not really fixable21:31
fungidefinitely when the problem is a dependency of your dependency complaining about how your dependency is invoking it21:44
fungiwhich happens with some regularity unfortunately21:44
fungi(especially if it's newer versions of python warning you than some transitive dependency of yours is using a deprecated function, though maybe that's a clue to get involved in the maintenance of your dependencies or switch to an alternative which keeps on top of changes in new python releases)21:45
corvusfungi: i think the file path check will catch that -- so we'll only see warnings from files in the current repo22:00
fungiahh, yep probably22:04
corvustobiash: replied22:04
corvusso i think the warnings are going to be addressible by the folks in the repo; but they may still not want to address them (or they may be some innocuous side effect of a unit test or something)22:06
mnaserhmm22:55
mnaserare we allowed to write files inside the zuul executor?22:55
mnaseri'm looking at upload-git-mirror and i suspect we _might_ be able to just run that inside the executor?22:55
mnaserwe're just adding things to ~/.ssh/config (but that happens inside bwrap?), update known hosts (that's bound to happen with any ansible run) and then run a git push22:55
mnaseris there a good way of testing that theory?22:57
*** saneax has joined #zuul23:01
*** threestrands has joined #zuul23:10
*** sanjayu_ has joined #zuul23:11
*** saneax has quit IRC23:14
fungimnaser: i though upload-git-mirror already ran on the executor in opendev23:15
funginote that ssh can be controlled through other methods than writing to its config files23:15
mnaserfungi: zuul-jobs seem to indicate that there is no 'empty nodeset'23:16
fungihuh, looking23:16
mnaserfungi: https://opendev.org/zuul/zuul-jobs/src/branch/master/zuul.d/general-jobs.yaml#L43-L7423:16
fungihuh, indeed, here's a build for a job parented to it, using an actual node: http://zuul.opendev.org/t/openstack/build/2d6a1db95eb642d98af242f4c598a482/log/zuul-info/inventory.yaml23:18
mnaseri guess we can test this by writing a job that uses a node, setups a repo on it, and then runs upload-git-mirror (on localhost to nodepool vm)23:18
fungiand yeah, thinking through it, we'd need some place to stick the private key23:18
mnasernot able to write anything on the executor i assume?23:19
mnaserwonder if we can add something to ssh agent?23:19
fungioh, there is a role which can add keys to ssh-agent, yeah23:19
mnaseri assume that ssh-agent runs inside bwrap (aka you cant have another job grab creds?)23:20
*** tosky has quit IRC23:20
fungii'm thinking of the ssh agent used to load the temporary per-node ssh keys that ansible uses to connect to them, so it's at least running ssh from within the bwrap yeah23:24
fungisomeone on the west coast may still have more braincells left capable of making suggestions there, i'm fairly tapped out for the evening23:28

Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!