Friday, 2022-01-28

-@gerrit:opendev.org- James E. Blair https://matrix.to/#/@jim:acmegating.com proposed: [zuul/zuul] 826789: Add some ZK data size stats https://review.opendev.org/c/zuul/zuul/+/82678900:20
-@gerrit:opendev.org- Zuul merged on behalf of Alfredo Moralejo: [zuul/zuul-jobs] 826648: pin oauthlib version for python2.7 https://review.opendev.org/c/zuul/zuul-jobs/+/82664806:38
-@gerrit:opendev.org- Felix Edel proposed on behalf of Tobias Henkel: [zuul/zuul] 772695: Perform per tenant locking in getStatus https://review.opendev.org/c/zuul/zuul/+/77269509:08
-@gerrit:opendev.org- Tobias Henkel proposed: [zuul/zuul] 826878: Cache serialized tenant status https://review.opendev.org/c/zuul/zuul/+/82687812:13
-@gerrit:opendev.org- Benjamin Schanzel proposed: [zuul/nodepool] 826882: Avoid runtime errors in zk node iterator https://review.opendev.org/c/zuul/nodepool/+/82688212:35
@jim:acmegating.comtobiash: +2 with comment on 82687814:09
@tobias.henkel:matrix.orgcorvus: thanks, good point14:11
@gobi_g:matrix.orgHi guys,14:12
I have a doubt.
While zuul running a job for a MR, if any a new commit added to that MR means zuul will cancel the job.
We can use dequeue-on-new-patchset to avoid this.
If we use this it will create another job for new commit. But whether it will skip the merge of first commit once the job done?
@gobi_g:matrix.orgOr anyway to continue the job of first commit but not merge unless any new commit for the same MR?14:17
@fungicide:matrix.orgkarthi: it sounds like you're talking about the gitlab driver? as far as i'm aware, a merge request is tested as a single unit rather than testing the individual commits from the mr separately, so if that mr changes by the addition of a new commit, zuul necessarily needs to cancel tests it was performing on the old state of the mr and start testing its latest state instead14:35
@gobi_g:matrix.orgI'm creating resources for testing. If the job cancelled means I can't able to delete those resources. 14:39
@gobi_g:matrix.orgSo is there any option to skip the merge part?14:40
@fungicide:matrix.orgi'm probably misunderstanding what you're asking, since i don't know what you mean by "creating resources" but it sounds like you could either use a cleanup phase in your jobs to properly tear down the resources it created on cancellation, or you could use separate merge requests which are dependent on one another if you want those commits tested separately (zuul is made to sequence changes like this)14:42
@gobi_g:matrix.orgOkay got it 👍14:43
@gobi_g:matrix.orgIs there any doc for setup zuul + gitlab?14:44
@jim:acmegating.comkarthi: https://zuul-ci.org/docs/zuul/latest/drivers/gitlab.html14:44
@gobi_g:matrix.orgThanks 👍14:46
@gobi_g:matrix.orgI have a static nodepool. I created a nodeset with two worker nodes. I labelled it both as wnode.14:51
When I pass the nodeset to job, it uses a node in both worker nodes. Both marked as in-use.
But job runs in only one worker node.
@gobi_g:matrix.orgAnyone know how to solve this?14:51
@fungicide:matrix.orgkarthi: each of the nodes in your nodeset is included in the ansible inventory for that build of the job. if you want the job to use multiple nodes then it needs to be written to do that, for example by assigning specific tasks to specific nodes from the build inventory14:54
@fungicide:matrix.orgif you wanted to perform parallel compilation, you could have one task which configures and starts up a distcc worker on all hosts in the inventory, and then a subsequent task which begins compilation on one host which will farm out its work to the others14:58
@gobi_g:matrix.orgI'm using two nodes for high availability and run more jobs.14:59
@gobi_g:matrix.orgI have to run a job in single node by selecting which worker node have more available nodes.15:00
@gobi_g:matrix.orgLike round robin method.15:01
@fungicide:matrix.orgi don't completely understand what you're asking, it may be a matter of unclear terminology. for a particular build (a single running of the job), do you want all nodes in the nodeset to be used? or do you only want one node to be used?15:03
@gobi_g:matrix.org> <@fungicide:matrix.org> i don't completely understand what you're asking, it may be a matter of unclear terminology. for a particular build (a single running of the job), do you want all nodes in the nodeset to be used? or do you only want one node to be used?15:03
One node to be used
@fungicide:matrix.orgin that case, you should only have one node in your nodeset15:03
@fungicide:matrix.orgyou can apply a consistent node label to all the servers you want to use, but provide a single-node nodeset so that a given build will get an available server with that node label assigned15:04
@fungicide:matrix.orgnodepool keeps track of what nodes are available with a particular label, and then fulfills node requests from the available nodes with the requested label15:06
@gobi_g:matrix.orgSo in playbook I have to pass the label.15:06
-@gerrit:opendev.org- James E. Blair https://matrix.to/#/@jim:acmegating.com proposed: [zuul/zuul] 826898: Fix bootstrapping zk data model version https://review.opendev.org/c/zuul/zuul/+/82689815:07
@jim:acmegating.comzuul-maint: ^ can you please review that with high priority?15:08
@jim:acmegating.comi observed those problems when restarting opendev15:08
@fungicide:matrix.orgkarthi: not exactly. in the playbook you would refer to the host name supplied by the invenfory from the job, which is determined by the names you put in a nodeset. the nodeset's host names are mapped to specific node labels when you define the nodeset15:08
@fungicide:matrix.orghere's an example: https://opendev.org/opendev/system-config/src/commit/4d5958dce7e41cb9c358b45e4d07da92ed95b8f4/zuul.d/system-config-run.yaml#L237-L24415:14
@fungicide:matrix.orgyou'll see that there are names and labels in the nodeset added to that job15:14
@fungicide:matrix.orgthe names are what you would refer to as hosts in your job's playbooks15:14
@fungicide:matrix.orgthe labels are assigned to nodes managed by nodepool15:14
@gobi_g:matrix.orgGot it. Till now I thought about creating nodeset with groups in that added nodes (my existing setup).15:16
@gobi_g:matrix.orgNow got it.15:16
@fungicide:matrix.orgin that particular example, we're testing a mock deployment of mailserver software from a bastion host we call bridge.openstack.org which is running on a node of type (label) ubuntu-bionic, to two nodes named lists.openstack.org and lists.katacontainers.io both of which use nodes of type (label) ubuntu-focal15:17
-@gerrit:opendev.org- James E. Blair https://matrix.to/#/@jim:acmegating.com proposed: [zuul/zuul] 826898: Fix bootstrapping zk data model version https://review.opendev.org/c/zuul/zuul/+/82689815:17
@jim:acmegating.comzuul-maint; ^ slightly simplified15:17
@jim:acmegating.com * zuul-maint: ^ slightly simplified15:17
@gobi_g:matrix.org> <@fungicide:matrix.org> in that particular example, we're testing a mock deployment of mailserver software from a bastion host we call bridge.openstack.org which is running on a node of type (label) ubuntu-bionic, to two nodes named lists.openstack.org and lists.katacontainers.io both of which use nodes of type (label) ubuntu-focal15:19
That's is the case. Thanks. In that if we pass Ubuntu-focal as host means it will run job in either one right?
@fungicide:matrix.orgyes, if you put a node label of ubuntu-focal on multiple nodes and then have a nodeset which uses one ubuntu-focal node, any build using that nodeset will be given an available ubuntu-focal node by nodepool15:22
@gobi_g:matrix.orgThankyou so much15:22
@fungicide:matrix.organother less specific example is https://opendev.org/opendev/system-config/src/commit/4d5958dce7e41cb9c358b45e4d07da92ed95b8f4/zuul.d/system-config-roles.yaml#L29-L3415:23
@fungicide:matrix.orgin that one, the build uses two available ubuntu-xenial nodes and names one base and the other puppet415:23
@gobi_g:matrix.orgExample if we want to test a patch on different os means we will create a group with two nodes and pass the group as host. Am I right?15:24
@fungicide:matrix.orgthen the job's playbooks have tasks which run on ``host: base`` and other tasks which run on ``host: puppet4``15:24
@gobi_g:matrix.org> <@fungicide:matrix.org> then the job's playbooks have tasks which run on ``host: base`` and other tasks which run on ``host: puppet4``15:26
This for different os case right?
@fungicide:matrix.orgkarthi: yes, if you wanted to test a patch on an ubuntu-bionic node and an ubuntu-focal node there are multiple ways to do that. you could have two job variants and pass a nodeset containing an ubuntu-bionic node to one and an ubuntu-focal node to the other, or you could have one job which passes a nodeset containing an ubuntu-bionic node and an ubuntu-focal node and then write the job's playbooks to separately test on both nodes in the inventory15:27
@gobi_g:matrix.orgOkay15:28
@fungicide:matrix.orgmost of the timel, for testing a patch on multiple platforms, single-node jobs which refer to separate platforms are easier to satisfy than a multi-node job which needs one of each platform15:29
@gobi_g:matrix.orgThanks for all the detailed explanations15:29
@fungicide:matrix.orgif you wanted to test a change on 5 different platforms with a 5-node job, nodepool would have to wait until one node of each label was available to be scheduled15:29
@fungicide:matrix.orgbut if you did that as 5 different jobs one for each platform, then nodepool can satisfy the individual node requests as those nodes come available15:30
@jim:acmegating.comand the reporting is nicer/easier to read15:31
@jim:acmegating.comyou get a distinct result for each platform15:31
@gobi_g:matrix.orgNice one. Thanks for this information.15:31
@jim:acmegating.comhere's a change tested on lots of platforms: https://review.opendev.org/82615815:31
@gobi_g:matrix.org> <@jim:acmegating.com> here's a change tested on lots of platforms: https://review.opendev.org/82615815:34
Nice. Can you please share the job definition for this?
@clarkb:matrix.orgI can review the zuul fox first thing after the school run15:38
@fungicide:matrix.orgkarthi: those jobs are defined here: https://opendev.org/zuul/zuul-jobs/src/commit/6c3e76af1ad4de35911012a3db09d72508a35dcb/zuul-tests.d/general-roles-jobs.yaml15:40
@jim:acmegating.comspecifically, the bindep jobs, for example, start here: https://opendev.org/zuul/zuul-jobs/src/branch/master/zuul-tests.d/general-roles-jobs.yaml#L20715:41
@fungicide:matrix.orgyou can see they basically all inherit from the same parent job and just alter the description and nodeset15:41
@gobi_g:matrix.orgOkay. I can't find the pipeline for this job.15:44
@jpew:matrix.orgIs there a way to get nodepool to read the `userdata` (cloud-config) from a file?15:46
@fungicide:matrix.orgkarthi: at the very end of that same file15:46
@fungicide:matrix.orgthe check pipeline definition starts at line 69815:47
@gobi_g:matrix.org😅 yeah it's there15:47
@gobi_g:matrix.orgThanks for all the details fungi and corvus 15:49
@fungicide:matrix.orgjpew: it may be possible to supply userdata in your clouds.yaml, i'm looking for viable examples now as i couldn't find a clear answer in the openstacksdk docs15:54
@fungicide:matrix.orgoh, i should have checked the nodepool docs first15:58
@fungicide:matrix.orgjpew: https://zuul-ci.org/docs/nodepool/openstack.html#attr-providers.[openstack].pools.labels.userdata15:58
@fungicide:matrix.orglooks like the aws driver also supports that, maybe azure as well looking at the source code, but seems it may be missing from the docs if so16:00
@jpew:matrix.orgThat has to be the content of the file right?16:00
@fungicide:matrix.orgyes, i think you would encode/embed the file content in that parameter16:01
@fungicide:matrix.orgyou're looking for a way to supply it in a separate file then?16:01
@jpew:matrix.orgYes, it would be nice16:15
@jim:acmegating.comi've gone ahead and approved https://review.opendev.org/826882 since it's a bugfix that i think we can get included in the next opendev restart16:32
-@gerrit:opendev.org- Zuul merged on behalf of Benjamin Schanzel: [zuul/nodepool] 826882: Avoid runtime errors in zk node iterator https://review.opendev.org/c/zuul/nodepool/+/82688217:52
-@gerrit:opendev.org- Zuul merged on behalf of James E. Blair https://matrix.to/#/@jim:acmegating.com: [zuul/zuul] 826898: Fix bootstrapping zk data model version https://review.opendev.org/c/zuul/zuul/+/82689818:33
@jpew:matrix.orgI'm trying to setup authentication with Zuul 4.11 and keycloak, and I'm having trouble; does the keycloak server need to be publically accessible? I'm currently running it on the same server as zuul, but it doesn't have it's own FQDN20:57
@clarkb:matrix.orgjpew: I haven't used it myself yet, but I beleive it uses openidconnect which uses a redirect process to do the auth. And that redirect process happens in your browser so the browser needs to be able to know how to talk to keycloask20:58
@clarkb:matrix.org * jpew: I haven't used it myself yet, but I beleive it uses openidconnect which uses a redirect process to do the auth. And that redirect process happens in your browser so the browser needs to be able to know how to talk to keycloak20:58
@jim:acmegating.comClark and i just finished a rolling restart of opendev's zuul on master; i was able to see the cluster acknowledge the old api version and the upgrade to the new one, so that's looking good.23:26

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