Friday, 2019-03-15

*** jamesmcarthur has joined #zuul01:28
*** rlandy|bbl is now known as rlandy01:41
*** jamesmcarthur has quit IRC01:49
tristanCjhesketh_: so, should i start rebasing the zuul-runner on the multi-ansible stack?02:35
openstackgerritTristan Cacqueray proposed openstack-infra/zuul master: executor: enable zuul_return to update Ansible inventory  https://review.openstack.org/59009202:55
openstackgerritTristan Cacqueray proposed openstack-infra/zuul master: executor: add log_stream_port and log_stream_file settings  https://review.openstack.org/53553803:51
*** chkumar246 is now known as chandankumar03:52
openstackgerritTristan Cacqueray proposed openstack-infra/nodepool master: Implement zookeeper-auth  https://review.openstack.org/61915504:35
*** bjackman_ has joined #zuul04:57
openstackgerritMerged openstack-infra/zuul master: Ensure correct lexical sorting of node requests  https://review.openstack.org/64335205:47
openstackgerritMerged openstack-infra/zuul master: CLI: fail if trying to enqueue/dequeue a change for the wrong project  https://review.openstack.org/63666205:47
openstackgerritMerged openstack-infra/zuul master: Add missing doc for 'execute_time' in MQTT schema  https://review.openstack.org/64306905:47
*** chandankumar has quit IRC05:58
*** swest has joined #zuul06:12
*** saneax has joined #zuul06:14
*** swest has quit IRC06:15
*** swest has joined #zuul06:17
*** chandankumar has joined #zuul06:22
openstackgerritTristan Cacqueray proposed openstack-infra/nodepool master: Implement zookeeper-auth  https://review.openstack.org/61915506:58
openstackgerritTobias Henkel proposed openstack-infra/zuul master: Wait for command processor thread to stop  https://review.openstack.org/64185407:03
*** saneax has quit IRC07:16
openstackgerritTobias Henkel proposed openstack-infra/zuul master: Remove some thread join timeouts  https://review.openstack.org/64351707:24
tristanCwin 507:24
tristanCoops :)07:24
tobiash?07:24
tobiashI hope that's not your password ;)07:25
tobiashbut that would be a weak pw anyway ;_07:25
tristanCtobiash: that's an irssi command, its just missing a / prefix07:25
tobiashah07:25
*** yolanda has joined #zuul07:30
tobiashtristanC: where do you use jmespath?07:35
*** pcaruana has joined #zuul07:37
tristanCtobiash: in some job to process zuul.projects with json_query() filter07:38
tobiashso the json_query filter requires this?07:38
tobiashthat's an official part of ansible and is not pulled in as a dep?07:39
tobiashhttps://docs.ansible.com/ansible/latest/user_guide/playbooks_filters.html#json-query-filter07:39
tristanCtobiash: yes, at least in 2.5, and it's similar to openstacksdk, it's pulled in as a dep but it's used in official part of ansible07:40
tristanCjson_query seems to be used in openstack projects too, not sure if they are zuul task though: http://codesearch.openstack.org/?q=json_query&i=nope&files=&repos=07:41
tristanCit's not* pulled in as a dep07:41
tobiashok, verified that it isn't pulled in into any version of ansible07:44
tristanCtobiash: btw, we are not planning to use fully fledge venv per ansible version, we want to use system-site-packages whenever possible07:44
tristanCtobiash: and it seems like ansible-2.[567] works well with a single set of deps07:44
tobiashtristanC: what's your reasoning for requiring system-site-packages?07:47
tristanCtobiash: so that we only install the deps once, and we can manage them globally07:47
tobiashyou mean your deployment specific additional deps?07:48
tristanCfor example, we only have one python-paramiko in /usr/lib/python3.5 that gets used by zuul, nodepool and now, the different ansible version that are bundled for the executor07:50
tristanCfwiw, here is a first %install draft that seems to work well: https://softwarefactory-project.io/r/#/c/15219/1/zuul-executor-ansible-25.spec@5007:50
*** gtema has joined #zuul07:51
tristanCand it seems like you could layer two venv with the pyvenv.cfg file so that you could still share ansible deps without relying on system-site-packages07:52
tobiashhrm, I didn't plan to mess that deep with venv config, would you be ok with adding an optional switch to use system-site-packages?07:53
tristanClast time i checked, using pip with system-site-packages can causes issues07:56
tristanCthough it would be nice if it was possible to have the zuul-manage-ansible script install ansible common deps in {ansible_root}/ansible/deps and then use that as a parent for the different version bundle07:57
tristanCnot sure if it's possible or that simple though07:57
tristanCbut that would improve disk/mem usage if we could have only one openstacksdk instead of 307:58
tristanCor any other heavy dependencies ansible might need07:59
tobiashtristanC: can we do that as a later improvement to the stack?07:59
tobiashI just tried system-site-packages and both venvs ended up with exactly the same size08:00
tobiashtristanC: in the meantime the zuul-manage-ansible script already can handle site specific extra deps, they just won't be shared08:00
tristanCtobiash: sure, though if it's possible, then that might render the per ansible version requirements line obsolote, at least for the extra deps08:01
tristanCi'm not sure what's the use case to have per ansible version requirements08:01
tristanCif your job need openstacksdk for upload-swift, or openshift for kubectl connection, then you'll have to add those to each version08:01
tobiashbecause you also might want to blacklist specific patch versions08:01
tristanCthat sounds complex, would you do that for the extra reqs? or this is just for the final ansible version?08:02
tristanCe.g. something like openstacksdk<0.19 for ansible-2.5 but openstacksdk>0.23 for ansible-2.7?08:03
tristanCtobiash: (if your system-site-packages doesn't have any, or the wrong version, of the requirements needed then the venv doesn't benefit from that)08:03
tobiashyes, that must be possible08:04
tobiashyou can add extra deps by setting the env var ANSIBLE_25_EXTRA_PACKAGES when running zuul-manage-ansible08:05
tobiashbut just noticed that doesn't seem to be documented ;)08:05
tobiashbut I agree that a common extra packages makes sense08:05
tobiashthat should be used unless there are specific version requirements per ansible08:05
tobiash(which could happen e.g. to ara)08:06
tobiashI'll look into that, looks like I have to rebase anyway due to merge conflicts08:08
tristanCtobiash: do you think it will take time to merge multi-ansible?08:08
tobiashdepends on reviews ;)08:09
openstackgerritTobias Henkel proposed openstack-infra/zuul master: Manage ansible installations within zuul  https://review.openstack.org/63193008:10
openstackgerritTobias Henkel proposed openstack-infra/zuul master: Validate ansible installations on startup  https://review.openstack.org/63741808:10
openstackgerritTobias Henkel proposed openstack-infra/zuul master: Make ansible version configurable  https://review.openstack.org/63742208:10
openstackgerritTobias Henkel proposed openstack-infra/zuul master: Install ansible during executor startup if needed  https://review.openstack.org/64064408:10
openstackgerritTobias Henkel proposed openstack-infra/zuul master: Run tox remote concurrent  https://review.openstack.org/64065408:10
openstackgerritTobias Henkel proposed openstack-infra/zuul master: Support ansible 2.6  https://review.openstack.org/63193108:10
openstackgerritTobias Henkel proposed openstack-infra/zuul master: Support ansible 2.7  https://review.openstack.org/63193208:10
openstackgerritTobias Henkel proposed openstack-infra/zuul master: Switch default ansible version to 2.7  https://review.openstack.org/63742408:10
tobiashthat's a pure rebase to fix merge conflicts in zuul.yaml ^08:10
*** jpena|off is now known as jpena08:11
tristanCwell i've picked the stack in our master zuul version of zuul and so far so good08:11
tobiashI'll add the common dependency definition on top I think08:12
tristanCunfortunately the patch doesn't apply cleanly in the spec file, it fail with "File zuul/ansible/lookup/url.py is not a regular file -- refusing to patch"08:13
tobiashdid you patch that file locally?08:13
tristanCthus it would help to get the long rename list first (631930)08:13
tristanCtobiash: it's the version of patch used by rpmbuild that doesn't support rename properly iiuc08:15
tobiashah08:15
openstackgerritTristan Cacqueray proposed openstack-infra/nodepool master: Implement zookeeper-auth  https://review.openstack.org/61915508:23
openstackgerritTristan Cacqueray proposed openstack-infra/nodepool master: Run tox-py35 jobs on xenial  https://review.openstack.org/64353008:23
*** pcaruana has quit IRC08:24
*** pcaruana|afk| has joined #zuul08:24
openstackgerritSimon Westphahl proposed openstack-infra/zuul master: wip: Spec for allowing circular dependencies  https://review.openstack.org/64330908:30
openstackgerritTobias Henkel proposed openstack-infra/zuul master: WIP: Support common ansible dependencies  https://review.openstack.org/64353408:52
openstackgerritMatthieu Huin proposed openstack-infra/zuul master: [WIP] admin REST API: docker-compose PoC, frontend  https://review.openstack.org/64353608:59
*** saneax has joined #zuul08:59
openstackgerritTristan Cacqueray proposed openstack-infra/zuul master: ansible-config: add common extra dependencies  https://review.openstack.org/64353709:01
*** rfolco has quit IRC09:07
*** logan- has quit IRC09:23
*** logan- has joined #zuul09:27
openstackgerritTobias Henkel proposed openstack-infra/zuul master: Support common ansible dependencies  https://review.openstack.org/64353409:42
openstackgerritTobias Henkel proposed openstack-infra/zuul master: Add missing docs for zuul-manage-ansible  https://review.openstack.org/64354409:42
tobiashtristanC: this adds docs and the common dependencies ^09:42
tobiashtristanC: you might want to rebase 643534 on top of these09:42
tobiashI meant 64353709:43
openstackgerritTobias Henkel proposed openstack-infra/zuul master: ansible-config: add common extra dependencies  https://review.openstack.org/64353709:45
tobiashtristanC: just did it ^09:45
tristanCtobiash: thank you, that looks good to me09:58
*** saneax has quit IRC10:01
*** saneax has joined #zuul10:01
*** rfolco has joined #zuul10:05
*** rfolco has quit IRC10:09
*** rfolco has joined #zuul10:11
bjackman_I have an issue again where I have a queued job not running, while no other jobs are running10:43
bjackman_Can see 10 jobs in my gate queue in the web UI - 9 show "success" and one shows "queued"10:43
bjackman_Have collected logs but could anyont point me in the right direction for searching for what's gone wrong?10:44
bjackman_Ahh... the job did actualyl run, then got "WARNING zuul.AnsibleJob: [build: 07e857d5686b4aecac9b4bf0b33a55df] Ansible timeout exceeded: 60"10:56
bjackman_(Or, it started to run)10:57
*** saneax has quit IRC11:07
*** saneax has joined #zuul11:07
badboycan I use <br> or something in the pipeline description?11:30
*** saneax has quit IRC11:49
*** saneax has joined #zuul11:49
*** saneax has quit IRC11:50
*** saneax has joined #zuul11:51
*** jpena is now known as jpena|lunch11:59
*** saneax has quit IRC12:11
*** saneax has joined #zuul12:12
*** panda is now known as panda|lunch12:15
*** jamesmcarthur has joined #zuul12:20
*** rlandy has joined #zuul12:26
*** pcaruana has joined #zuul12:27
*** pcaruana|afk| has quit IRC12:28
tobiashbadboy: I guess yes, but no idea if that get interpreted12:35
*** jamesmcarthur has quit IRC12:36
*** EmilienM is now known as EvilienM12:37
badboytobiash: it does not get interprated12:47
*** jamesmcarthur has joined #zuul12:48
dmsimardYesterday's 45-patch-stack from Nova ended up paralyzing the OpenStack Zuul for ~30 minutes and the RDO/SF Zuul for even longer (because we have less mergers). Are there any known opportunities to improve this other than to add more mergers ?12:50
pabelangerdmsimard: 6 hours for sf.io, and yah. I think I'm going to work on it today, if we can come up with a solution moving forward12:51
dmsimardpabelanger: have any ideas yet ?12:52
pabelangerin the case of rdo, I don't think we actually needed hit the mergers, because zuul tenant configuration is setup not to load any jobs from that project, or do we have any jobs configured to run on changes from it.12:52
pabelangerIt is only in the system so depends-on would work properly12:52
pabelangerdmsimard: I believe tobiash, corvus or clarkb may also have ideas12:53
pabelangerbut yes, I would like to see if we can fix this12:53
pabelangeras ansible-network was blocked because of rdoproject tenant12:53
dmsimardpabelanger: this isn't a config problem imo, it's a performance one :p12:54
*** gtema has quit IRC12:54
pabelangerdmsimard: my thoughts are, if the project is setup not to load any configuration from it, I am unsure why it needs to go to merger and ask for configuration changes, if I understand this issue properly12:55
pabelangerwe might be able to by-pass the merger altogether12:55
pabelangerdmsimard: in the case of zuul mergers in rdocloud, I can't imagine ceph was very happy when this happened, given all the disk IO mergers use12:57
*** gtema has joined #zuul12:57
mordredtobiash: stack looks great to me - great work!12:58
*** bjackman_ has quit IRC12:59
*** saneax has quit IRC13:01
*** bjackman_ has joined #zuul13:01
*** saneax has joined #zuul13:02
dmsimardFound a bug in zuul-web when two projects on different connections are called the same, created a story: https://storyboard.openstack.org/#!/story/200524413:03
mordredpabelanger: yeah- I think bypassing the merge step for projects that we're not loading config from seems like a good optimization13:03
mordreddmsimard: oh nice!13:04
*** jpena|lunch is now known as jpena13:04
mordreddmsimard: and of course, by 'oh nice' I mean "doh"13:04
dmsimardmordred: eh, it's not terrible. projects shouldn't be called the same to begin with but that's history13:06
mordreddmsimard: we're showing connection in the list already, so we at least have some of the info there already13:06
mordreddmsimard: yeah. but we do support a full-name for projects if they do - so might as well support it here too13:06
pabelangermordred: any idea where I should be looking to apply that patch?13:35
openstackgerritThierry Carrez proposed openstack-infra/zuul-jobs master: Fix exec quoting in release remove-gpgkey role  https://review.openstack.org/64358513:36
*** pcaruana has quit IRC13:36
pabelangerlooking at rdoproject configuration, it does seem jobs are running against openstack/nova, trying to see if that is correct13:37
pabelangerbut now dealing with the 2nd time in 24ths that openstack/nova has rebased a 48 stack of changes.13:38
dmsimardyeah this is really problematic13:38
pabelanger24ths/24hrs*13:38
dmsimardIs there no way to multi-thread the merging ?13:39
dmsimardThe fact that everything is single threaded and sequential probably does not help13:39
fungidmsimard: you could probably just run multiple mergers on the same server13:44
fungiif your dedicated merger isn't using all the resources available on that system13:45
tobiashmordred: thanks :)13:45
dmsimardfungi: yeah right now I suppose we're doing similar to openstack-infra and we run multiple small mergers13:45
dmsimardbut the rate at which these small mergers chew through the backlog is just really slow13:46
clarkbre multithreaded it is intentionally scale out via the gearman bus13:48
clarkbthe big constraint is one merger per repo iirc13:48
pabelangerSo, looking at zuul configuration, for 3pci, does it make sense to have an upstream project in a merge-check pipeline? I guess that would mean job would run, but fail to properly be merged at some point13:48
fungiclarkb: oh, so one merger gets dedicated to the nova repo even if there are multiple changes to do merging tasks for?13:49
fungipabelanger: we don't even run a merge-check pipeline any longer13:49
clarkbfungi: sorry no I mean you cant have two threads talking to one real repo on disk13:49
pabelangerfungi: ah, didn't know that13:49
clarkbfungi: all of our mergershave distinct repos on disk13:50
fungiand no, i don't think performing merge checks on a repository your zuul doesn't control is especially useful to anyone13:50
fungiclarkb: oh, got it. right you'd need a separate tree in the fs with distinct copies of the repos13:50
clarkbya13:50
fungifor each merger daemon13:50
tobiashI think we maybe be doing more merger call than needed. At least the last time I looked at this we were doing those merge calls when having changes A -> B -> C. Just change C Will create these merges: A, A, AB, A, AB, ABC13:50
fungistill probably doable13:50
tobiashat least that was like one year ago, not sure if it's still the case13:51
clarkbtristanC: I think that is still the case13:51
tobiashso I think we should look into how this can be optimized13:52
tobiashto me it looks like it does the merge call also for the non-live items in the independent pipeline13:52
clarkbtobiash: it has to for those13:52
tobiashcurrently that's needed so we have the dynamic layout of the parent item which is non-live13:53
clarkbsince the non live items affect git state in the live item13:53
tobiashbut we could extend the merger api to get all layout changes of a list of items in one call13:53
pabelangerfungi: thanks, testing out dropping it now13:54
tobiashwe could tell the merger merge a,b,c (which we anyway already do in the last step) and the merger currently only returns layout changes for c13:54
tobiashif the merger could return layout changes for all changes in the dependency chain at once we could reduce that to one merger call13:54
clarkbya it doesnt have to do the multiple iterations tristanC deacribes13:57
tobiashthe number of merges per change is currently (n^2 +n)/2 which doesn't really matter for small dependency chains but can really get a problem with large rebases13:57
tobiashin github that's not that much of a problem because of the different workflow13:58
*** jamesmcarthur has quit IRC13:59
clarkbsorry I keep tab completing tobiash to tristanC13:59
tobiashno worries I know that I was meant ;)13:59
fungipabelanger: part of the reason we stopped running a merge-check pipeline in zuul is because newer versions of gerrit added its own merge checker anyway so having zuul spontaneously leave comments on any change which started to merge-conflict with one that just merged was redundant14:03
fungibecause gerrit ought to show that to you anyway on its own14:03
pabelangerack14:05
tobiashyay, someone broke a big repo for zuul by creating a branch containing ');' at the end of the name...14:16
*** pcaruana has joined #zuul14:17
clarkbcheck-ref-format says that isn't valid14:19
*** jhesketh_ has quit IRC14:20
clarkbthough reading the rules i don't see why14:20
tobiashgit didn't complain14:20
tobiashbut zuul failed to process that repo14:20
clarkb`git check-ref-format 'foo);'` exits zero for me14:21
clarkbmaybe I need the full refname14:21
clarkbah yup that is it need to make it a path then it exits 014:22
*** bjackman_ has quit IRC14:22
tobiashactually this is valid: git check-ref-format 'refs/remotes/foo);'14:23
clarkbyup I reread the rules and the / is required somewhere14:23
clarkbso even foo/bar); is valid14:23
clarkbso a gitpython or zuul escaping bug14:24
dmsimardtobiash: I think you've summarized the issue well with your A -> B -> C example14:30
dmsimard++14:30
*** jamesmcarthur has joined #zuul14:31
tobiashdmsimard: yeah and I think it is solvable by some minor or medium architectural change14:31
openstackgerritMerged openstack-infra/zuul-jobs master: Fix exec quoting in release remove-gpgkey role  https://review.openstack.org/64358514:36
tobiashclarkb: oh it wasn't ); that broke zuul, it was an '@' sign14:41
tobiash(yes, someone used his mail address as branch name)14:41
pabelangerYah, I haven't seen a way to do ACLs on branch creation in github14:44
pabelangerwould be nice14:45
*** jhesketh_ has joined #zuul14:46
tobiashI think we might restrict that by using a pre-receive hook14:47
tobiashwe also had problems with windows builds because someone pusht the branches foo and Foo at the same time14:48
*** nhicher has joined #zuul14:48
*** saneax has quit IRC14:49
*** jhesketh has quit IRC14:49
*** jhesketh has joined #zuul14:49
*** saneax has joined #zuul14:49
*** jhesketh_ has quit IRC14:51
*** hashar has joined #zuul14:52
*** jhesketh has quit IRC14:54
corvusclarkb, mordred, tobiash, fungi: can you please review https://review.openstack.org/643167 soonish?  when that lands, i can send an email to the list and declare the whole project done :)14:56
tobiashcorvus: yes, will do14:56
clarkbhttp://logs.openstack.org/67/643167/1/check/tox-docs/135bded/html/docker-image.html rendered version link if anyone prefers to read that14:57
mordredcorvus: I'm on a phone call - my last skim looked great, but feel free to land without me14:59
*** jhesketh has joined #zuul15:03
corvustobiash, clarkb, pabelanger, dmsimard: https://review.openstack.org/163922 is a small optimization, which, if we could fix, would speed up nova merge times some.  i agree that tobiash's description of how we we could be a bit more holistic in using merge data may be a potential big improvement, though i don't think that change will be simple.15:04
corvusi don't have time to take another try at 163922 now, so if anyone wants to take that over, feel free.  but i haven't dropped it because i think it's still relevant.15:04
pabelangerk, let me get some coffee and look at it15:05
dmsimardwow, 2015 ? :D15:05
dmsimarda prehistoric commit haha15:05
corvusdmsimard: it's still 6 digits :)  though it is my oldest open change15:05
clarkbcorvus: noted a few things on the docs change, Only one is really necessary to chagne i think15:06
corvuswow, tobiash recently pointed out that i can abandon my second oldest change! \o/15:07
tobiash:)15:07
corvusclarkb: replied15:10
Shrewscorvus:  that's pretty neat! i only found a few spelling errors messing with my OCD15:13
Shrewscorvus: re: 167, that is15:14
openstackgerritMerged openstack-infra/zuul master: web: support more than one job in the filter  https://review.openstack.org/64338515:15
openstackgerritDavid Moreau Simard proposed openstack-infra/zuul-jobs master: Add a role to mirror a git repository to a remote git server  https://review.openstack.org/64339415:36
openstackgerritDavid Moreau Simard proposed openstack-infra/zuul-jobs master: Do not merge: test zuul-jobs-upload-git-mirror job  https://review.openstack.org/64343715:37
openstackgerritJames E. Blair proposed openstack-infra/zuul-jobs master: Document how to build a buildset registry  https://review.openstack.org/64316715:37
corvusall nits addressed15:37
*** saneax has quit IRC15:46
*** saneax has joined #zuul15:47
tobiashclarkb: the @ bug is not a bug in zuul, but a bug in GitPython. This is an attempt to fix that: https://github.com/gitpython-developers/GitPython/pull/85415:58
*** [GNU] has quit IRC15:58
tobiashcorvus, mordred, clarkb: what do you think about switching (maybe partly) to pygit2? This works on top of libgit2 and doesn't spawn a process for every operation. It would probably also return better exceptions so we would not rely on parsing the commandline for detecting a few error cases.16:02
openstackgerritPaul Belanger proposed openstack-infra/zuul master: Don't check out a commit if it is already checked out  https://review.openstack.org/16392216:04
clarkbdo they publish anylinux wheels?16:04
clarkbif not we may need to double check libgit2 is availalbe on common distros16:04
pabelangercorvus: ^updated your patch to deal with gitpython exception I was getting locally, but unsure how to write a proper test16:05
pabelangerseem if repo has detached head, you cannot access the repo.head.reference16:06
corvustobiash: there's 2 things we need from a git library, and at the time, only gitpython provided them -- direct access to git objects (so that once a merge was performed, accessing refs and files is fast), and being able to perform 'git merge' in exactly the way cgit does with all the same options.  if pygit2 does that now, i'm open to it (modulo clarkb's concerns).16:06
mordredclarkb: it's available in stretch at least, so would work in the python:slim docker images - other than that I don't know16:06
corvustobiash: wait, you said "process for every operation".  you know that doesn't happen, right?16:07
clarkbI'm checking pypi16:07
tobiashwell, process for most operations ;)16:07
corvustobiash: there are only a few operations we do that spawn a process, and they're pretty slow anyway.16:07
clarkbThere are only windows wheels so ya we'll need to be able to install dev headers and the lib system wide16:07
tobiasha few weeks ago I experimented with it for an hour or so and using it at some places improved the test case runtime quite a bit16:08
tobiashbut I know that in production that won't make much of a difference16:09
clarkblooks like libgit2 is widely available so no issue there (I checked ubuntu suse fedora)16:09
tobiashalso debian has it16:10
tobiashyah, it's probably not worth switching completely16:11
tobiashI think the most important thing I saw during experimenting was improved test case performance16:11
tobiashso I set it aside at that time16:12
tobiashit just came to my mind because of that '@' char bug that tells me that GitPython re-implements quite some git stuff in python16:13
openstackgerritPaul Belanger proposed openstack-infra/zuul master: Allow group read permissions on project keys directory  https://review.openstack.org/64291316:18
*** kmalloc is now known as needscoffee16:25
openstackgerritMerged openstack-infra/zuul-jobs master: Document how to build a buildset registry  https://review.openstack.org/64316716:32
openstackgerritPaul Belanger proposed openstack-infra/zuul master: Don't check out a commit if it is already checked out  https://review.openstack.org/16392216:37
*** hashar has quit IRC16:49
*** rlandy is now known as rlandy|biab17:00
*** jamesmcarthur has quit IRC17:00
*** jamesmcarthur has joined #zuul17:01
tobiashcorvus: looks like I was tio slow for 167 but lgtm :)17:04
*** jpena is now known as jpena|off17:21
*** rfolco is now known as rfolco|doctor17:31
*** rlandy|biab is now known as rlandy17:51
*** gtema has quit IRC18:07
corvustobiash: did you want to leave a vote on https://review.openstack.org/643537 ?18:12
*** saneax has quit IRC18:13
corvusthe entire multi-ansible stack is ready to land; i omitted a +W on the first change though.  do we want to land it today, or first thing next week?18:14
corvus(i will be leaving the keyboard in an hour and won't be back until monday)18:14
clarkbprobably better to merge next week then so if people end up running it there are peolle around to help with any issues?18:17
*** jamesmcarthur has quit IRC18:20
tobiashcorvus: ++18:32
tobiash\o/18:33
fungi"...using the full power of Zuul’s speculative execution." i love the phrasing!18:35
tobiashcorvus: I placed a -w on the first one so this won't get accidentally merged before monday18:36
clarkbone thing I dont seeafter looking is virtualenv in the requirements file? I may just be missing it18:44
tobiashclarkb: I think I've put it in bindep18:45
fungii'm probably lacking some context, but could it use the built-in venv module in python 3?18:45
tobiashfungi: no, that didn't work as it didn't install a new enough pip18:45
clarkbfungi there is a comment in the code explaining that is broken if used from within a venv18:45
fungiooh, can you point to that? i'm interested in the details18:46
clarkbtobiash: hrm I guess bindep also works though it is a python dep and could go in requirements18:46
tobiashclarkb: I've put it into bindep because we call it as a process18:46
tobiashit is no python dep18:46
fungifor some of my python3-only projects i've moved to just using venv, including for tox (the via tox-venv plugin)18:46
tobiashfungi: venv was the first thing I tried but it was impossible to use it in the openstack test environment because of too old pip that doesn't work with two mirror urls18:47
clarkbtobiash: well it is still a python dep like ansible or zuul even though we also run those as commands18:47
tobiashthat inhibited upgrading pip18:47
tobiashclarkb: that depends, the virtualenv binary in older ubuntu actually comes from py2718:48
fungiinteresting, i thought most of our images included the latest pip version18:48
tobiashunfortunately not because venv has been my favorite actually18:49
clarkbI thought so too fwiw18:50
clarkb(easy enough to check via the pip logs of a job)18:50
tobiashclarkb: it's buried in some of the oder revisions of the first change ;)18:50
tobiashit took me quite a few revisions to get it working in the openstack ci18:50
tobiash;)18:50
clarkbtobiash: re python2 virtualenv I don't think thatmatters? I guess if you run virtualenv without -p it defaults to the python it was instaleld under so that could change behavior for people18:52
tobiashclarkb: correct we explicitly run with -p so that doesn't matter, we just use the one that we can get from the os18:52
clarkbpip 19.0.3 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7) is what we install on our test images18:53
clarkbthat is latest pip18:53
clarkbtobiash: the problem may actually be your use of virtualenv from the system18:54
clarkbtobiash: since virtualenv depends on pip it will potentially use the system pip from system virtlanev? (I dunno the way those two interact has changed several times over the years)18:55
clarkbused to be that virtualenv vendored pip18:55
clarkbthen virtualenv was updated to always upgrade pip and setuptools18:55
clarkband who knows what distro packaging does18:55
tobiashclarkb: the problem was that I tried venv (and requiring it in requirements.txt) first. That didn't work on the xenial nodes because it installed the system pip into the venv with no possible upgrade path because of mirror urls.18:55
tobiashclarkb: using the virtualenv binary then just worked because it installed a recent version of pip18:56
clarkbtobiash: why would virtualenv use the system pip? but even if it did our system pip is latest18:56
fungiyeah, virtualenv vendors a copy of pip18:57
clarkb(I'd like to figure this out because we don't intend to run old pip)18:57
fungiif we're running distro-provided python3 packages, the integrated venv and pip are separated out into additional packages18:57
tobiashclarkb: we could try to put a refactoring change on top of the stack that switches that back to venv if you want to analyze that in more detail18:58
clarkbtobiash: ya I'll push one up18:58
corvustobiash: ok, assuming you, clarkb, and fungi don't decide to redo the patch series, then maybe you can +W it when you start work monday18:58
fungii too would be interested to see us not rely on virtualenv for such things, as it's increasingly abandoned and the recent maintainer who has stepped up seems focused mostly on ensuring it works on mac os18:59
fungibut as a transitional thing it seems fine18:59
tobiashcorvus: k, will do18:59
clarkbya I don't think we need to rewrite the stack18:59
clarkbcan just do followups to refine it18:59
tobiashyes, I think the virtualenv vs venv won't block us19:00
corvusand if we decide to do venv, i think it's fine to do that as a followup -- but maybe let's hold off on landing anything until it's ready19:00
corvusor at least until we know the plan19:00
tobiashclarkb: btw, diskimage-builder doesn't work in a venv-generated venv19:00
corvusmostly i don't want to land the stack and then immediate have significant changes, since we'll be asking people to change their deployment tooling19:00
openstackgerritClark Boylan proposed openstack-infra/zuul master: Install virtualenv from source  https://review.openstack.org/64365519:00
fungifor my part, it's more of a curiosity. since we're python3-only we shouldn't need to rely on virtualenv (and this is part of the reason why upstream maintenance of virtualenv itself has waned heavily in the last year or so)19:00
clarkbmy bigger concern here is that the test nodes are not acting the way they are supposed to if they work they way tobiash describes19:01
clarkband checking things manually just now they don't work they way tobiash describes (they have latest pip)19:01
clarkbso we should sort that out from an image perspective19:01
fungithe original virtualenv authors seem to consider getting the venv module working in python>=3.4 as "job done" and once python2.7 is eol i think the days of the virtualenv module are numbered19:02
clarkbyou know I wonder if the issue is that distros don't include venv in their standard python installs19:03
fungicertainly interest in making it work for python 3.x is limited, and interest in keeping it working on gnu/linux platforms as well19:03
clarkband its getting confused in the system packaging that way?19:03
fungidebian and its derivatives like ubuntu still build it but stick it in a separate python.*-venv package19:04
tobiashclarkb: this was the latest revision that used venv: https://review.openstack.org/#/c/631930/9/zuul/lib/ansible.py19:04
fungisi dunno about other distro families19:04
fungihowever, part of the problem i think is that improvements to the venv module get backported to new point releases of earlier python versions but don't get incorporated into the packages of lts distros19:05
clarkbya so I think what might be happening there is xenial has old venv (not virtualenv) and that doesn't use newer pip and it may be hardcoded to use system package installed pip not pip installed pip which is latest19:06
tobiashoh, I think actually the py36 job was broken, not the py35, so bionic was the problem somehow19:07
fungiso building python myself i run (for 3.5) a 3.5.6 (soon 3.5.7) version but ubuntu xenial keeps selectively backporting critical fixes to 3.5.219:07
clarkbit uses https://docs.python.org/3.5/library/ensurepip.html#module-ensurepip which says it uses the bundled pip?19:08
fungithus the venv and pip functionality integrated via their system python packages is contemporary to when they released in 201619:08
openstackgerritTobias Henkel proposed openstack-infra/zuul master: DNM: Test venv instead of virtualenv  https://review.openstack.org/64365819:09
fungithe dichotomy of distro-packaged python or building python yourself from upstream source19:09
tobiashclarkb: that switches to venv, let's see ^19:09
clarkbtobiash: you might have to update bindep on that one since venv isn't included in the debuntu distros python installs by default19:10
tobiashcould be19:10
clarkband there isn't a venv package on pypi to undo the distro sillyness19:11
openstackgerritTobias Henkel proposed openstack-infra/zuul master: DNM: Test venv instead of virtualenv  https://review.openstack.org/64365819:11
clarkbthats annoying that they don't include all the stdlib bits by default19:11
tobiashclarkb: and the problem using the venv module directly in python was that it didn't install any pip even if I asked it to19:14
clarkbtobiash: ya that part doesn't surprise me given the way the distros tend to try and control that stuff19:15
clarkb(so now I understand better)19:15
fungiright, the python3-venv package i think expects you'll install python3-pip as well19:16
fungiagain, problems which go away if you decide not to bother supporting distro-packages python (unfortunately?)19:17
*** gouthamr has quit IRC19:17
*** dmellado has quit IRC19:17
fungii sort of respect that rd hat punted over the years and told people not to use their python packages to run their custom applications, but instead build their own python from source and put it somewhere else on the system19:18
fungiteh argument was that the system-incorporated python interpreter was an implementation detail of a number of other system components19:19
fungiand not intended as a general-purpose python interpreter19:19
fungidebian (and therefore ubuntu) get to deal with slightly fanatical opinions on package management, that insist that any package manager which is not the system default package manager should not be provided by default, so as to be able to install a packaged python interpreter but be assured there is no integrated package manager which might work around dpkg/apt19:21
fungii doubt my opinion is widely shared (outside the debian community anyway), but i feel like if you're going to buy into the distro's packaged python interpreter then you should also stick to the distro's packaged python modules. if your intent is to use pip then you might as well also bring your own python interpreter19:22
clarkbgiven this situation I think not using venv is probably the most straightforward option for us trying to support different platforms that may have different broken python stdlibs19:26
openstackgerritTobias Henkel proposed openstack-infra/zuul master: DNM: Fix parent if no virtualenv exists in system  https://review.openstack.org/64366519:27
tobiashclarkb: this is needed on top of your change to support a system with not installed virtualenv19:27
tobiashclarkb: and I think I agree that installing it via requirements.txt ist the better way compared with bindep19:28
tobiashclarkb: so I think when they are green it makes sense to squash 665 into your change and land it together with the whole stack19:29
openstackgerritDavid Shrewsbury proposed openstack-infra/zuul-preview master: WIP: Refactor code for unit testing  https://review.openstack.org/64366619:30
tobiashclarkb: this is using venv instead of virtualenv: http://logs.openstack.org/58/643658/2/check/tox-py35/49aaff1/job-output.txt.gz19:30
tobiashhttp://logs.openstack.org/58/643658/2/check/tox-py35/49aaff1/job-output.txt.gz#_2019-03-15_19_27_02_32409319:31
*** jamesmcarthur has joined #zuul19:31
tobiashShrews: want to land https://review.openstack.org/643530 ?19:32
mordredfungi: fwiw - I agree with you - although it has led me to be very supportive of bringing my own python interpreter rather than to being more aggressive using distro python packages19:32
* mordred loves pyenv19:32
clarkbtobiash: ok19:33
fungimordred: agreed, i don't use pyenv but i do just build python from source (in part because i want to be able to test against latest point releases of 3.4, 3.5, 3.6, 3.7 and future 3.8)19:34
openstackgerritDavid Shrewsbury proposed openstack-infra/zuul-preview master: WIP: Refactor code for unit testing  https://review.openstack.org/64366619:34
Shrewstobiash: umm, something seems off about that. why is the tox-py35 job using a nodeset that doesn't include py35???19:38
Shrewsi feel like changing that to bionic was wrong19:38
tobiashShrews: the default nodeset changed to bionic19:38
mordredyeah. and the tox-py35 job itself doesn't have any info about nodesets because it's in zuul-jobs19:39
fungicorvus: i left a couple of diagram rendering related notes in 643108 in case you happen to know easy fixes for a follow-up change19:39
Shrewsyeah, that's what i'm saying. i don't see a good reason for that19:39
mordredShrews: for what?19:39
mordred(sorry, just making sure I'm following the concern)19:40
Shrewsmordred: shouldn't we fix the base tox-py35 job?19:40
*** openstack has joined #zuul19:44
*** ChanServ sets mode: +o openstack19:44
tobiashwe have, but my users are yelling at me about every second that we're spending in the base jobs...19:45
tobiash;)19:45
fungii mean, for debian/ubuntu nodes it could just use the deadsnakes repository to pull in prebuilt packages for the desired minor version19:45
clarkband hope the networking between $cloud and launchpad ppas works19:46
clarkband that the ppa keyserverisn't dead like it was yesterday19:46
* clarkb grumbles about keyservers19:46
fungiclarkb: caching proxies and mirrors! the solution to EVERY problem19:46
fungioh, and not rtetrieving keys from pgp keyservers in ci jobs, that's just sad19:47
clarkbya baking in public keys to where we want ot trust them is much better19:47
fungii've been reminding people of that for years. if you're going to embed a keyid, just embed the full key19:48
fungiyou have to change either when the key changes anyway19:49
clarkb++19:49
fungii mean, even when publishing details on signing keys, publish the full key alongside the keyid or fingerprint19:49
fungiit's maybe one or two extra lines of code to include it19:50
fungikeyservers are great for bootstrapping the web of trust and sharing signatures on keys, but they're dicey as a key storage medium19:51
tobiashmaybe someone wants to review https://review.openstack.org/632550 ? It fixes undefined behavior and makes it an error to redefine a pipeline under the same name.19:52
mordredtobiash: done!19:53
*** gouthamr has joined #zuul19:53
tobiashmordred: that was quick!19:53
tobiashthanks :)19:53
tobiashand 640609 is a refactoring to handle job canceling the same way in a central place19:55
*** pcaruana has quit IRC19:59
openstackgerritTobias Henkel proposed openstack-infra/zuul master: Install virtualenv from source  https://review.openstack.org/64365519:59
openstackgerritDavid Shrewsbury proposed openstack-infra/zuul-preview master: WIP: Refactor code for unit testing  https://review.openstack.org/64366620:00
openstackgerritMerged openstack-infra/nodepool master: Run tox-py35 jobs on xenial  https://review.openstack.org/64353020:01
openstackgerritTobias Henkel proposed openstack-infra/zuul master: DNM: Use base_prefix instead of exec_prefix to find virtualenv  https://review.openstack.org/64367220:04
*** jamesmcarthur has quit IRC20:09
openstackgerritTobias Henkel proposed openstack-infra/zuul master: DNM: Use base_prefix instead of exec_prefix to find virtualenv  https://review.openstack.org/64367220:17
tobiashclarkb: that should also work now for the zuul-stream-functional tests ^20:17
tobiashthey installed zuul to /usr/local so they couln't find the virtualenv executable20:18
clarkbcool20:18
openstackgerritMerged openstack-infra/zuul master: Raise an error if pipeline is defined twice  https://review.openstack.org/63255020:21
*** jamesmcarthur has joined #zuul20:24
openstackgerritTobias Henkel proposed openstack-infra/zuul master: Install virtualenv from source  https://review.openstack.org/64365520:25
*** dmellado has joined #zuul20:29
*** gouthamr_ has joined #zuul20:29
tobiashclarkb: I think that should do it ^20:36
mordred+A20:41
openstackgerritTobias Henkel proposed openstack-infra/zuul master: DNM: Test simpler way to find virtualenv  https://review.openstack.org/64367920:52
openstackgerritTobias Henkel proposed openstack-infra/zuul master: DNM: Test simpler way to find virtualenv  https://review.openstack.org/64367920:55
tobiashmordred, clarkb: that might be even better and could be squashed into parent if it's green ^20:55
tobiashthat should guarantee that we find and use the virtualenv we installed with the requirements20:56
mordredtobiash: ooh. yeah. I think that works20:57
*** jamesmcarthur has quit IRC20:59
*** rlandy has quit IRC21:12
*** rfolco|doctor has quit IRC21:15
*** hashar has joined #zuul21:17
*** gouthamr has quit IRC21:22
*** jamesmcarthur has joined #zuul21:22
*** jamesmcarthur has quit IRC21:27
pabelangertobiash: is ansible-config.conf to be user facing? Or something only zuul knows about?21:54
tobiashpabelanger: only zuul knows about22:15
*** jamesmcarthur has joined #zuul22:24
*** hashar has quit IRC22:34

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