Tuesday, 2019-05-28

*** rfolco has quit IRC01:06
*** pcaruana has joined #zuul04:22
*** raukadah is now known as chandankumar04:52
*** saneax has quit IRC05:04
openstackgerritTristan Cacqueray proposed zuul/nodepool master: openstack: document the key-name parameter  https://review.opendev.org/66167706:07
*** yolanda has quit IRC06:38
*** themroc has joined #zuul07:02
*** jhesketh has quit IRC07:11
*** saneax has joined #zuul07:17
*** gtema has joined #zuul07:20
*** jhesketh has joined #zuul07:30
*** logan- has quit IRC07:33
*** tosky has joined #zuul07:35
*** logan- has joined #zuul07:36
*** jpena|off is now known as jpena07:52
*** tflink has quit IRC08:33
*** tflink has joined #zuul08:36
*** jesusaur has quit IRC09:17
*** hashar has joined #zuul09:18
*** jesusaur has joined #zuul09:20
*** themroc has quit IRC09:50
*** themroc has joined #zuul09:51
*** bjackman has joined #zuul10:04
bjackmanDo I understand correctly that the raw git driver doesn't support authentication at all?10:07
bjackman(i.e. it can only work on public repos)10:08
*** gtema has quit IRC10:48
*** gtema has joined #zuul10:50
*** AJaeger has quit IRC11:24
openstackgerritTobias Henkel proposed zuul/zuul master: Evaluate CODEOWNERS settings during canMerge check  https://review.opendev.org/64455711:27
*** gtema has quit IRC11:32
*** jpena is now known as jpena|lunch11:33
*** AJaeger has joined #zuul11:36
*** sean-k-mooney has joined #zuul11:56
*** rfolco has joined #zuul11:59
sean-k-mooneyo/ this is more to satify my own curiosity but i have a dumbish question about the zuul mergers. if i was to deploy 2+ zuul mergers and use an nfs share for the git repos would that break things? e.g. can concurrent git operations/mergers be perfromed on the same repo or should they all have there own stoarge12:01
*** electrofelix has joined #zuul12:02
pabelangersean-k-mooney: you'd need different storage for each12:02
sean-k-mooneyok that is what i assumed12:03
sean-k-mooneyi dont currently have my home zuul deployment currently as i reinstalled teh server it was on but i was debating if i redeployed it in the future would i have to use kubernetes deployment (one volume shared betwen all mergers) or statefule sets (each pod gets its own volume) if i redeploy it under kubernetes12:05
sean-k-mooneyi used deployment before but i also only use 1 instance or each component12:05
sean-k-mooneymainly because i assumed git would break if i didnt.12:06
*** rf0lc0 has joined #zuul12:09
*** rfolco has quit IRC12:10
*** rlandy has joined #zuul12:26
*** hashar has quit IRC12:33
*** rf0lc0 has quit IRC12:34
*** rfolco has joined #zuul12:34
*** rf0lc0 has joined #zuul12:35
*** rfolco has quit IRC12:38
mordredsean-k-mooney: we're also working on a zuul operator for k8s - spec (and discussion) here: https://review.opendev.org/#/c/659180/12:49
fungibjackman: that sounds right, i expect it wouldn't be tough to add, just its initial implementation was first and foremost intended as a lightweight means for zuul deployments to be able to consume the zuul-jobs standard library in a zuul-native fashion12:51
fungi(as opposed to feeding it an out-of-band fork of the repo you maintain independently)12:51
sean-k-mooneymordred: that could be useful. i wrote my own yaml files partly as a learning excersize12:52
mordredsean-k-mooney: learning is good. or so they tell me :)12:57
sean-k-mooneywell i and not done much with k8s and deploying zuul + node pool + gerit+ logs server (e.g. a full ci) was a good way to figure out how to laywer the different piceies12:58
sean-k-mooney*had12:58
sean-k-mooney*layer12:59
fungiit is indeed, which is also why our quickstart includes them13:00
sean-k-mooneywell i have now deployed zuul 3-4 times. first using zuul form scratch guide, then againg a few monts later, then the quickstart docker compose and finally with my custom k8s scripts13:01
sean-k-mooneythere are pros and cons to all of the above but its not a partcalarly difficult task13:02
sean-k-mooneybut its also not totally trivial so its a good thing to try13:03
*** bjackman has quit IRC13:06
fungisounds like an interesting exercise, for sure13:12
*** jpena|lunch is now known as jpena13:16
*** gtema has joined #zuul13:18
*** tosky__ has joined #zuul13:21
*** tosky is now known as Guest7207313:21
*** tosky__ is now known as tosky13:21
sean-k-mooneywhile im here where would i find where future fetature for zuul are planned. e.g. do ye use specs blueprints storyboard? im partly intersted in the k8s stuff but also the zuul runner comandline features13:31
*** rf0lc0 is now known as rfolco13:32
fungisean-k-mooney: https://zuul-ci.org/docs/zuul/developer/specs/index.html13:35
fungiso yes, specs13:35
fungithey just live in the docs tree of the zuul repo at the moment13:35
sean-k-mooneyah ok13:36
fungi(even though some could be specs involving other zuul repos)13:36
*** themroc has quit IRC13:41
*** sanjayu_ has joined #zuul13:44
*** sanjayu_ has quit IRC13:46
*** saneax has quit IRC13:46
*** rf0lc0 has joined #zuul13:46
*** rfolco has quit IRC13:48
*** themroc has joined #zuul13:56
*** rf0lc0 is now known as rfolco13:57
*** bjackman has joined #zuul14:00
*** chandankumar is now known as raukadah14:25
corvusi'm going to try to send out a project update email today, so if you have a moment to leave notes in https://etherpad.openstack.org/p/zuul-update-email that would help14:25
openstackgerritTobias Henkel proposed zuul/zuul master: Evaluate CODEOWNERS settings during canMerge check  https://review.opendev.org/64455714:44
*** bjackman has quit IRC14:48
openstackgerritJames E. Blair proposed zuul/zuul-jobs master: WIP: registry test job  https://review.opendev.org/66132714:49
*** hashar has joined #zuul14:50
Shrewscorvus: wow, 2 months since the last? can't remember last weekend  :)15:03
Shrewsthank goodness for 'git log'15:03
*** themroc has quit IRC15:06
fungidoesn't seem that long, but i guess there have been conferences and whatnot in the interim15:08
*** hashar has quit IRC15:08
Shrewsfungi: yeah, been a busy couple of months15:10
*** hashar has joined #zuul15:11
corvusoh yeah, we probably don't have to note everything that's happened in 2 months; more interested in what's going on now or has recently happened :)15:14
corvusmostly to give us a chance to resync15:14
*** tosky has quit IRC15:16
openstackgerritJames E. Blair proposed zuul/zuul-jobs master: WIP: registry test job  https://review.opendev.org/66132715:17
openstackgerritSlawek Kaplonski proposed zuul/zuul-jobs master: Add role to fetch journal log from test node  https://review.opendev.org/64373315:22
openstackgerritSlawek Kaplonski proposed zuul/zuul-jobs master: Add role to fetch journal log from test node  https://review.opendev.org/64373315:26
openstackgerritJames E. Blair proposed zuul/zuul-jobs master: WIP: registry test job  https://review.opendev.org/66132715:36
openstackgerritJames E. Blair proposed zuul/zuul-jobs master: WIP: registry test job  https://review.opendev.org/66132716:00
*** flepied has quit IRC16:01
*** gtema has quit IRC16:28
*** manjeets has joined #zuul16:53
*** hashar has quit IRC16:58
*** mattw4 has joined #zuul17:00
aspiershi folks, just had an idea for a feature which you'll probably tell me is already implemented17:00
aspierswould be nice if there was a magic string in commit messages which prevented zuul from merging17:02
clarkbaspiers: zuul really relies on the code review system to determine merge validity outside of testing17:03
clarkbso I don't think that is implemented17:03
aspiersIIUC, W-1 is not sticky across patchsets. Even if -2 is sticky, it would still be useful if non-cores were able to achieve the same persistent block for WIP patches, as an extra safety net17:03
aspiersOK, so maybe it's a feature for Gerrit17:03
aspiersprobably easily doable via config, or maybe a plugin17:04
clarkbyou can make workflow sticky via gerrit settings17:06
clarkbI think we chose not too because drafts weren't sticky and we basically wanted drafts without the privacy aspects17:06
fungiyeah, it's definitely more of a gerrit conversation... in short there is a desire for a sticky way to block merges and am ephemeral one which vanishes on the next patchset without having to manually clear it17:16
*** irclogbot_0 has quit IRC17:17
*** irclogbot_0 has joined #zuul17:19
flaper87is there a way for me to manually generate the keys for projects and just mount them in the right place? We put our secrets in vault and then mount them where we need them so I'd rather do that than having a volume for the project keys17:20
flaper87To do that, tho, I have to generate them myself for each project and make sure they exist in the container17:20
flaper87tobiash: ^ any idea on what the best way to do this is?17:20
flaper87also, my fetch-output task keeps failing with this error: https://paste.fedoraproject.org/paste/kUmtSmIjqVirZtZ-h3Tcmg17:23
flaper87it's supposed to be a permission error17:24
flaper87but if I run the command manually (using the same user the executor is using) it seems to work17:24
*** jpena is now known as jpena|off17:26
clarkbflaper87: zuul won't generate the keys if they exist so yes you can generate them and put them in place. I expect the issue is how to generate them though?17:31
flaper87clarkb: correct17:32
flaper87The first generation wouldn't be so much of a problem but rather generating keys for new projects. I'd like this process to be fully automated17:32
clarkbflaper87: I think tobiash uses a master key to seed with. Maybe you can get away with putting that in vault and then let zuul manage the somewhat more ephemeral project keys?17:33
flaper87mmh, I guess that could work, yeah17:37
flaper87how would that work if I need to generate secrets for a project? Would I use the master key for that?17:38
*** themroc has joined #zuul17:39
clarkbyes iirc zuul can take a master key which it uses as a seed for the other keys.17:39
* clarkb looks at docs17:39
clarkbhrm grep isn't finding it17:40
clarkbtobiash: ^ do you have those details avialable?17:40
flaper87cool! I'll try to give this a try today (or just wait for tobiash :)17:42
clarkbdigging in zuul/lib/encryption.py I don't see that the generate private key method takes a seed. Did I imagine this feature. I thought tobiash was using it for sure17:42
flaper87now I need to understand why fetch-output isn't working17:43
clarkbin any case they are 4096 bit rsa keys17:43
clarkbso are easy to generate yourslef if you go that route17:43
flaper87yeah, I think that will probably be the easiest path. Generate them in advance and then put them in the right place17:44
tobiashclarkb:, flaper87 I'm not at pc atm, I'll be back in an hour or so17:44
flaper87tobiash: no rush17:44
*** electrofelix has quit IRC17:49
tobiashflaper87: re private keys18:26
tobiashso we have a separate script that runs before zuul startup and before we trigger full reconfigs to pre-populate the private keys based on a master key18:26
SpamapSthat seems like a useful thing to have built-in18:28
flaper87SpamapS: ++18:28
flaper87tobiash: and then you use the master key to create secrets for each project, correct?18:30
*** jesusaur has quit IRC18:30
tobiashyes18:30
openstackgerritTobias Henkel proposed zuul/zuul master: Add script to pre-populate private keys  https://review.opendev.org/66182418:31
tobiashthat's the script we use ^18:31
tobiashSpamapS: yeah, at the dublin ptg we talked about this already but I haven't found time so far to integrate this into zuul itself18:32
flaper87tobiash: <3 nice, thanks a bunch18:32
*** rlandy is now known as rlandy|brb18:33
tobiashSpamapS: the main hurdle for integration into zuul is (as clarkb already found out) that cryptography has no means to seed private key generation (but pycrypto has)18:34
tobiashand I'd like to avoid having a dependency in zuul to both pycrypto and cryptography18:34
fungidepending on pycrypto is also really not a great idea these days18:39
fungijust in general18:39
tobiashwhoops, pycrypto's latest release looks to be from 2013...18:43
fungiyeah, we took a while to get it ripped out of all the openstack projects18:44
tobiashbut that's the only lib I found a year ago that supported seeding private key generation with a master key18:44
fungithere were unfixed vulnerabilities in it which sat unaddressed for years because upstream had all but abandoned the lib18:44
fungipycryptodome attempts to be a drop-in replacement for pycrypto i think, presumably more actively maintained https://pycryptodome.readthedocs.io/18:44
tobiashyeah, latest release of that is this year18:45
flaper87tobiash: how do you deal with the logs? Do you upload them from the worker nodes ? or do you sync them in a volume that is mounted in the executor container and then upload them?18:46
tobiashflaper87: I upload them from the executor to swift18:47
tobiashimho for bigger deployments I'd recommend using swift for storing logs18:47
tobiashsince we switched to swift last august we never had any issue with logs storage anymore...18:49
pabelanger+1, same18:49
tobiashit was just switching to swift and never ever think about logs again18:49
corvus++ openstack will someday soon i hope :)18:50
tobiashespecially you can also attach a ttl to each file in swift so you also won't have to worry about cleanup18:51
tobiashflaper87: but to be more precise you your actual question, we download the logs to the executor and upload from there18:52
fungithe ttl idea is compelling since you can also indicate in the build metadata what the artifact expiration dates are18:53
*** rlandy|brb is now known as rlandy18:53
tobiashyes, we let the jobs choose via a job variable (with a max enforced by the base job)18:53
flaper87tobiash: ++18:54
openstackgerritMerged zuul/zuul-jobs master: validate-zone-db : add job and make more generic  https://review.opendev.org/66113818:58
tobiashclarkb: do you want to re-review https://review.opendev.org/616306 (resource usage stats)?19:09
clarkbtobiash: I can though running the infra meeting now so will have to be a little bit19:10
tobiashclarkb: no rush19:11
*** jlk has quit IRC19:15
*** jlk has joined #zuul19:24
*** pcaruana has quit IRC19:30
openstackgerritTobias Henkel proposed zuul/zuul master: Annotate logs around build completion and cancellation  https://review.opendev.org/66080619:32
openstackgerritTobias Henkel proposed zuul/zuul master: Annotate logs around build states  https://review.opendev.org/66148919:32
openstackgerritTobias Henkel proposed zuul/zuul master: Annotate logs around reporting  https://review.opendev.org/66149019:32
openstackgerritTobias Henkel proposed zuul/zuul master: Annotate logs around finished builds  https://review.opendev.org/66149119:32
*** themroc has quit IRC19:48
openstackgerritMerged openstack-infra/zone-zuul-ci.org master: Add zone-check job  https://review.opendev.org/66096720:03
openstackgerritJames E. Blair proposed zuul/zuul-jobs master: WIP: registry test job  https://review.opendev.org/66132720:22
openstackgerritJames E. Blair proposed zuul/zuul-jobs master: WIP: registry test job  https://review.opendev.org/66132720:24
evgenylHi everyone, I have a 3rd party CI (Zuul) for a project hosted on opendev infra, this project already has .zuul.yaml file which contains the configuration for upstream opendev zuul installation. How do I make my 3rd party CI to ignore .zuul.yaml? Is there a way I can specify a custom path to the zuul configuration file (e.g. .zuul_3rd_party.yaml) in the repository? Is there a better, "standard" way to approach multi-zuul gating?21:36
*** tosky has joined #zuul21:36
corvusevgenyl: see include/exclude for the tenant config here: https://zuul-ci.org/docs/zuul/admin/tenants.html#attr-tenant.untrusted-projects.%3Cproject%3E.include21:38
corvusevgenyl: (depending on how they are written, you may be able to include "jobs" and exclude everything else in order to re-use upstream jobs)21:39
mattw4Hi all, How do I configure a project's .zuul.yaml to use a role (devstack/roles/run-devstack) in a test?21:39
corvusmattw4: .zuul.yaml defines jobs which run playbooks according to the 'run' attribute here: https://zuul-ci.org/docs/zuul/user/config.html#attr-job.run -- those playbooks can use any roles in the current repo or adjacent to the playbook; if the role is in a different repository, you can add that to the job with https://zuul-ci.org/docs/zuul/user/config.html#attr-job.roles -- in the future we hope to directly21:46
corvussupport ansible galaxy, but we don't yet.21:46
evgenylcorvus: Does it only support excluding/including the configuration items by type? I will need to define a couple of jobs that would get executed only on 3rd party CI, and it should not execute anything else, the later can probably be achieved with excludes.21:49
corvusevgenyl: yes, only by type.  but remember that it's okay to define jobs you don't use, so you could have a mixture of upstream and third-party jobs in the repo (if the upstream project was okay with that), and in the third-party ci you can exclude loading 'project' elements and configure it to run those jobs in your third-party-ci config-project21:53
clarkbI've approved the usage statsd change. Thanks tobiash! There was only minor docs thing I found but otherwise looked great21:55
openstackgerritJames E. Blair proposed zuul/zuul-jobs master: WIP: registry test job  https://review.opendev.org/66132721:58
evgenylcorvus: Oh, so I can just redefine 'project' to run anything I want.. I was also thinking if `nodeset` is something I can use for that? I can define nodepool with a custom set of labels for my 3rd party CI and this would help (?) to make sure that nothing related to upstream jobs/gates/etc gets executed, and I could potentially define 3rd party jobs with these unique labels.22:01
mattw4Thanks corvus!  I've add "roles: zuul/zuul-jobs" to the job definition (run.yaml); can I use the same syntax to add devstack roles?  I tried to add another item in the "roles" list like "- openstack: devstack", but get errors saying "extra keys not allowed"22:02
clarkbmattw4: can you share your config with a paste?22:02
clarkbas well as the full error?22:02
mattw4sure clarkb just a sec..22:02
corvusevgenyl: yes, in your third-party ci, you can mix-and-match between elements defined upstream and locally however you want.  you almost certainly don't want to include the 'project' element from upstream, and instead take complete control of that locally.  similarly, you will have local pipeline definitions.  you may be able to share nodeset definitions with upstream, as long as you have matching local22:06
corvusnodepool image labels (eg "ubuntu-bionic", etc)22:06
evgenylcorvus: awesome, thank you!22:10
mattw4corvus: let me know if you need more info: http://paste.openstack.org/show/752193/22:10
corvusmattw4: i think it should look like this: http://paste.openstack.org/show/752194/22:12
clarkbhttps://opendev.org/openstack/tempest/src/branch/master/.zuul.yaml#L13-L14 is an example from tempest22:12
corvusyeah, the canonical host part of that ('opendev.org/') is optional22:13
mattw4Thanks corvus!  That makes a lot of sense22:13
mattw4and thanks clarkb for the example!22:14
openstackgerritJames E. Blair proposed zuul/zuul-jobs master: WIP: registry test job  https://review.opendev.org/66132722:20
openstackgerritJames E. Blair proposed zuul/zuul-jobs master: WIP: registry test job  https://review.opendev.org/66132722:30
mattw4corvus, are there any additional configuration items needed to enable those jobs?  I'm still seeing the "ERROR! the role 'run-devstack' was not found" in the job trace22:35
*** tosky has quit IRC23:04
aspiersany ideas why https://review.opendev.org/#/c/638680/ didn't check out the requested version of os-traits in the Depends-On?23:30
clarkbaspiers did the jobs install os-traits from pypi because it is a lib?23:39
clarkbjobs have to know to install from source23:39
aspiersclarkb: https://review.opendev.org/#/c/638680/19/.zuul.yaml23:39
aspiersAFAICS it installed from source, just the wrong commit23:40
clarkbaspiers I dont think the legacy jobs work that way23:40
clarkbthe zuul native jobs got the magic required projects support but not the legacy ports23:40
aspiersI was just doing what the nova gurus suggested, no idea how this works really :)23:40
aspiersyou mean legacy-dsvm-base, whatever that is?23:41
aspiersanyway, gotta sleep - will continue tomorrow. Thanks!23:41
*** manjeets has quit IRC23:44

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