Friday, 2017-08-18

clarkbI'm guessing both versions of yaml interact with the built in type though possibly differently00:00
ianwso it's looking at00:00
mordredand it may just be that yaml does a lot of dict operations, so greater likelihood of triggering it00:00
clarkbthe reporter found 5 distinct bugs :)00:00
clarkbmordred: ya00:00
ianw    @_ssh_retry00:00
ianw    def _run(self, cmd, in_data, sudoable=True, checkrc=True):00:00
ianwprocessing that decorator when it fails00:00
jeblairthat ^ makes me think this is not related to yaml00:00
ianwjust for added degree of difficultly00:00
mordredjeblair: ++00:00
jeblairon account of everything related to names in python being a dict, i don't think we can eliminate dict operations from the suspect list though00:01
ianwunless yaml got gc things in a bad state previously00:01
jeblairtaking a cue from that bug report:00:03
jeblair(gdb) print *op00:03
jeblair$1 = {ob_refcnt = 5, ob_type = 0x0}00:03
jeblairob_type should be a data structure00:04
jeblairclarkb: i don't know enough about python internals to connect your fix to our backtrace; so we may just need to compile a new python and try it as you suggest.00:05
clarkbya I too don't know enough. Its also a fairly complicated piece of C last I looked at it00:06
mordredI hear SpamapS knows how to get patches included in stable backport repos for ubuntu ...00:07
ianwthe python bt doesn't suggest there's much yaml in there : http://paste.openstack.org/show/618729/00:08
jeblairi need to eod; if anyone wants to compile python with that fix, i'll be happy to try it again tomorrow00:08
jeblairotherwise, i'll start in on that in the morning00:09
clarkbjeblair: you could also run the python tests really quickly to confirm the bug is present at least00:09
clarkbbefore worryign about patching in the fix00:09
clarkbbut I too need to go make some dinner00:09
mordredjeblair: I'm also about at eod - if nobody has when I wake up, i'll try to get a python bult00:09
mordredbuilt00:09
jeblaircool, thx.00:10
mordredok. I've got the patch imported in to the quilt stack on top of the xenial python3.5 package00:16
SpamapSis this libyaml or pyyaml?00:18
* SpamapS has been distracted00:18
mordredSpamapS: python00:20
ianwmodule = imp.load_source(full_name, path, module_file)00:32
ianwimp -- Access the import internals00:32
ianwi'm not surprised this is getting into "interesting" territory00:32
SpamapSyeah haven't seen imp go right too often01:08
ianwjeblair: heh, looking a combination of the bt and py-bt & variables I'd like to bet it's got to do with racing and module importing (http://paste.openstack.org/show/618729/)01:44
ianwand i see this isn't your first rodeo there :) -> https://github.com/jeblair/ansible/commit/13807d79012c2354a20eb4020021c88f1909bd3601:44
ianwalthough this is all in the forking & loading path, no threads ... but still ... prime suspect01:50
*** eventingmonkey has quit IRC04:29
*** eventingmonkey has joined #zuul04:54
*** isaacb has joined #zuul05:27
*** isaacb has quit IRC06:15
*** amoralej|off is now known as amoralej06:45
*** jkilpatr has quit IRC10:46
*** jkilpatr has joined #zuul11:07
*** dkranz has joined #zuul12:24
*** amoralej is now known as amoralej|off13:40
jeblairmordred: where's your python + patch?14:30
mordredjeblair: almost done14:33
mordredjeblair: (I built one for 3.5.1, which was what's on my laptop, but we have 3.5.2 on the server because we have backports turned on - so finishing building for 3.5.2 now)14:34
jeblairmordred: weird... 3.5.2 is in xenial main: (well, xenial security) https://packages.ubuntu.com/xenial/python3.514:39
mordredjeblair: it may just be that I don't have security/backports set up for my deb-src lines, so apt-get source failed me14:40
jeblairmordred: ah, hope so.  (missing security is less than ideal!)14:41
mordredjeblair: ok - there's a set of packages - and the patch itself - in /home/mordred/python-backport on ze0114:48
jeblairmordred: cool, i'll install them and restart and recheck14:49
pabelangerhttps://review.openstack.org/494677/ and https://review.openstack.org/494672/ are ready for a discussion. Basically trying to see if we want untrusted or trusted, because I believe both jobs will work the same, regardless of repo they are in15:21
Shrewsjeblair: mordred: leifmadsen: https://review.openstack.org/49387315:27
jeblairmordred: i installed the new python, restarted executor (no idea why actually -- i guess i didn't need to since it's ansible-playbook doing the deed) and have rechecked all open zuul changes16:23
SpamapSdoes ansible try to fork and continue forward in python without re-execing python?16:28
SpamapSor16:28
SpamapSI said that wrong..16:28
SpamapSI've always heard that importing after fork was something known to be flaky in python for some reason.16:29
SpamapSThat if that was possible, the best practice was to make an entry point and re-exec python from the top into that entry point.16:29
SpamapSbut this is one of those dark evil memories that I can't recall details on.16:29
mordredSpamapS: there are definitely imports that happen in ansible-playbook post-fork16:32
mordredSpamapS: well- actually - I say that - I may actually be lying about that16:33
mordredthere are definitely imports that happen in callback plugins, and imports that happen in action plugins16:33
mordredI don't know when the callback plugins get imported - I believe action plugins are imported as needed though16:34
mordredof course, there is CRAZY import magic that happens in ansible for importing modules and plugins16:35
SpamapSa bit more coming back to me.. it had something to do with globals and import side effects16:36
mordredwe chatted a little with the core team about maybe reworking that in ansible core - they're not opposed to it, but there's such black magic it'll be both a big job and one that needs to be done exceptionally carefully16:36
*** robled has quit IRC16:42
*** robled has joined #zuul16:42
*** robled has joined #zuul16:42
*** rcarrill1 is now known as rcarrillocruz16:42
jeblairmordred, SpamapS, clarkb: the first batch of rechecks just completed with no errors.16:48
jeblairthat did not happen yesterday -- the number of errors we got for each batch was: [4, 1, 5, 6]16:49
jeblairi will launch a second batch of rechecks now16:50
clarkbthat sounds promsiing16:51
SpamapSindeed17:05
SpamapShave we had any success boiling down to a smaller reproducer?17:05
SpamapSor even tried?17:05
SpamapSLike would be nice if we can hand the Ubuntu SRU team a script and say "run this 100 times and if it never fails this is fixed"17:06
SpamapSraces have an exception though.. if reproducing is hard, they'll just trust you :)17:06
mordredSpamapS: yah- there are some reproduction test cases in the python bug17:06
clarkbSpamapS: the upstream patch had reproducers for all of the cases they found. So assuming this fixes it for us then ya17:07
mordredSpamapS: I've got a local package source repo with the patch applied and whatnot - so I'm more than happy to submit the various things to ubuntu to try to get it accepted - but I might need you to walk me through that process17:07
mordredSpamapS: I also don't need credit - so if it's easier for me to make a debdiff and hand it to you than for you to tell me what to do, that's cool too17:08
clarkbI think we see a higher rate of fails with py35 + tempest too I wonder if some of that goes away with this17:08
jeblairi just verified that the reproducer which matches our traceback fails with xenial python 3.5.217:11
jeblairit's this one: http://paste.openstack.org/show/618790/17:12
SpamapSmordred: do you have it as a quilt patch?17:16
mordredI do17:16
SpamapSthat should be relatively easy to submit17:16
mordredSpamapS: cool. what should my process for that be?17:16
jeblairsecond batch just completed with no segfaults17:16
SpamapShttps://wiki.ubuntu.com/StableReleaseUpdates <-- that's the instructions17:16
SpamapSand it's actually pretty straight forward17:17
SpamapSthe version # is the hardest part17:17
SpamapSjeblair: \o/17:17
jeblairi will run one more batch because 3 is a nice number, but i think we're in pretty safe territory now17:17
mordredSpamapS: Check that the bug is fixed in the current development release, and that its bug task is "Fix Released". Equivalently for new upstream releases, this (or a newer) release must be in the development release. It17:17
pabelangergreat work17:18
SpamapSmordred: I can do the bug nomination17:18
mordredSpamapS: so do I need to first fix python3.5 in zenity?17:18
SpamapSmordred: zenity is on 3.6 by now I think17:18
SpamapSnot 100% sure17:18
SpamapShttps://launchpad.net/ubuntu/+source/python3.617:18
SpamapSyeah, artful was 3.6 too17:18
*** bhavik1 has joined #zuul17:19
SpamapSzesty is what you meant though17:19
mordredthere IS a 3.5 in zesty though17:19
SpamapSartful is the dev release17:19
mordredso should I also submit to that?17:19
SpamapSyou don't have to fix zesty17:19
SpamapSthank god17:19
mordredok. cool17:19
SpamapSso the patch isn't even in python mainline yet?17:19
mordredalso - doko seems to do things in debian and sync - do I need to worry about that?17:20
mordredit is17:20
jeblairit is in mainline, and it looks like it's in the 3.5.4 release17:20
SpamapSWorth pinging doko in #ubuntu-devel17:20
SpamapSIf it's already in mainline you may be covered17:20
mordredSpamapS: https://github.com/python/cpython/commit/2f7f533cf6fb57fcedcbc7bd454ac59fbaf2c65517:20
mordredxenial is only on 3.5.2 and the patch cleanly backports - so should I request they bump xenial to 3.5.4 or just submit the backport patch?17:21
SpamapSYou could also make the argument that 3.5 isn't in artful ;)17:21
SpamapSjeblair: where did you find that it was in 3.5.4? Would be good supporting info17:23
SpamapSalso I assume it's in a 3.6 release too then17:23
mordredSpamapS: http://bugs.python.org/issue27945 is the upstream bug17:23
mordredSpamapS: so I do need to file a bug on the xenial python package and that's step one yeah?17:24
SpamapSmordred: yeah, it's also possible that bug is already reported and being tracked. Let's see if I remember how to check that on launchpad..17:25
*** bhavik1 has quit IRC17:25
jeblairSpamapS, mordred: https://docs.python.org/3.5/whatsnew/changelog.html#core-and-builtins bpo-27945 is in the 3.5.4 release notes17:25
jeblairalso 3.6.217:27
SpamapShttps://launchpad.net/debian/sid/+source/python2.7/+changelog17:28
SpamapSfound that.. so 2.7 has it in sid..17:28
* SpamapS isn't helping17:28
jeblairSpamapS: 3.5 version of that page: https://launchpad.net/debian/+source/python3.5/+changelog17:28
SpamapShttps://launchpad.net/ubuntu/+source/python3.5/+changelog17:29
SpamapSso 3.5.4 is actually in artful...17:29
SpamapSso you can check off that box17:29
mordredok. cool.  but there's no existing bug so filing a new one is valuable17:29
SpamapSmordred: I'll file one17:31
SpamapSunless you already finished17:31
SpamapShttps://bugs.launchpad.net/ubuntu/+source/python3.5/+bug/171172417:32
openstackLaunchpad bug 1711724 in python3.5 (Ubuntu) "Segfaults with dict" [Undecided,New]17:32
SpamapSI'll add the SRU template and nominate it17:32
mordredSpamapS: quilt patch attached17:35
mordredin case that makes anything easier17:35
SpamapSit does17:35
SpamapSI don't see any simple reproducers in that upstream bug17:35
SpamapSahh there's one17:36
mordredthey're up at the top17:36
jeblairSpamapS: this is the one that bit us and i verified fails in xenial 3.5.2: http://paste.openstack.org/show/618790/17:37
jeblair(it's from that bug)17:37
mordredneat. should we attach that to the bug?17:37
jeblairit's poc27 from the bug  (note: 27 afaict has nothing to do with python versions -- i think it's just literally script #27 the author wrote)17:38
mordredbtw - test_fromkeys_operator_modifying_dict_operand is added to the test suite in the patch I posted, and it is the paste jeblair just shared17:39
mordredjeblair: you've verified that works with the  new python installed?17:39
mordred(I mena, the package wouldn't have built if it didn't)17:39
jeblairbatch 3 completed with no segfaults.  that's 0/48 runs and we're now 6 standard deviations away from our expected value (average 25% failure rate, so we should have seen 12 by now).  we're well into 'statistically significant' territory.  :)17:39
pabelanger++17:40
mordredok. so that's awesome17:43
mordredbetween now and that being released - how do we want to deal with this? just install those debs on our executors by hand? put it into a local repo and add that to our puppet?17:44
SpamapSmordred: ok I'll just make the SRU package from your quilt patch.17:44
SpamapSand upload it17:44
SpamapSsince I still have my ubuntu dev rights17:44
mordredSpamapS: sweet! wow, you have power17:44
SpamapSso that should get it into the SRU team's hands fairly quickly.17:44
SpamapS(I no longer have the power to accept it into xenial-proposed though)17:45
mordredSpamapS: do you think we should just instlal the deb by hand on the executors for now?17:45
mordredor I suppose I could upload it to a ppa real quick17:45
jeblaireithor of those wfm17:46
mordredhow about I make a ppa just for this and upload the package to that17:46
mordredthat way we can add the ppa to our puppet and the situation will be documented and repeatable17:47
jeblair(omg why *isn't* it spelled eithOR? that's awesome!)17:47
jeblairmordred: i like that; we don't have to worry as much when spinning up new launchers17:47
jeblairer executors.  whatever they're calld17:47
mordred++17:48
mordredpabelanger: we should maybe nudge some friends at RH about this WRT centos/fedora - I think latest fedora has 3.6 so likely not a problem, but whatever python3.5 pacakge is in centos likely wants to get this patch too17:48
mordredpabelanger: I have zero clue how to go about doing that though17:48
pabelangermordred: sure, can look into that on pkgdb and see if we need to apply it17:49
pabelangermordred: centos is another story, they are still 2.7 in their repo. But software collection can likely apply this17:50
mordredpabelanger: yah - basically whatver thing a person running on a RH-based OS would use so that they could run Zuul v317:51
pabelanger++17:51
SpamapS  Uploading python3.5_3.5.2-2ubuntu0~16.04.2_source.changes: done.17:53
SpamapSSuccessfully uploaded packages.17:53
SpamapSI think putting it in a PPA is a good idea17:53
mordredhttps://launchpad.net/~openstack-ci-core/+archive/ubuntu/python-bpo-27945-backport/+packages17:53
mordredit's building17:53
mordredppa:openstack-ci-core/python-bpo-27945-backport is hte PPA ... lemme go make a puppet patch17:54
SpamapSoh that's interesting, python3.5 was just deleted from artful yesterday :-P17:57
SpamapSThey _might_ still ask us to update zesty's 3.6.1 .. but I'm hoping they won't17:58
mordredSpamapS: yah - since zesty isn't an LTS nor the current development release I hope not17:59
mordredSpamapS: but if they do, I can get that done - and we're covered by the PPA in the mean time17:59
SpamapSyeah and since they went to the 9 month instead of 12 month support cycle, nobody expects 16.04->16.10 after the 6 month window.17:59
SpamapSyakkety's already EOL18:00
SpamapSand to wrap it up in a bow, I pinged doko about the SRU upload in #ubuntu-devel18:03
SpamapSso at this point, I'd say we can move on and just delete the package from the PPA whenever the SRU lands in xenial-updates18:04
clarkbor upgrade to next lts whichever comes first18:04
clarkbalso this was a bug in 3.6 too should make sure its patched in newer ubuntu18:05
SpamapSonly 8 months away!18:05
SpamapSclarkb: see the bug, artful has already got 3.6.2 which has the fix.18:05
SpamapSI THINK I got the statuses right on the bug18:06
clarkbtwo lts releases ina row we've caught segfault bugs in python18:06
mordredclarkb: we're getting good at that18:09
mordredclarkb: I am curious as to whether this is affecting tempest stability18:10
jeblairSpamapS: why is the python3.5 overall status 'invalid' ?18:11
clarkbmordred: ya it has a higher fail rate and I'm guessing this must have something to do with it18:11
clarkbI've approved the change to the executors to use the ppa, so we can wait for daily upgrades to pull it down or we'll need a manual reinstall18:11
SpamapSjeblair: because that's the status "in the development release"18:16
SpamapSthere's no python3.5 in the dev release18:16
mordredjeblair: "oldrev = 40 * '0'" - didn't we introduce a constant or a name for that or something somewhere?18:17
mordred(the 40 * '0')18:17
SpamapSquirk of the way source package names change with upstream python18:17
clarkbmordred: null18:17
mordredmaybe that was just for reporting back to user18:17
clarkbmordred: internally its no longer 40 zeros18:17
clarkbits just None or null18:17
mordredbut it is coming from gerrit - cool, I thought I remembered something there18:17
jeblairmordred, pabelanger: with all the problem of the past 2 days, i lost track of movement on the tarball/publish jobs.  sitrep?19:05
pabelangerhave have 2 patches up for untrusted / trusted version. Just need to see what people prefer, they should both do the same thing. https://review.openstack.org/494672/ and https://review.openstack.org/494677/19:06
pabelangertwine is ready and depending on ^ to some degree. Confirmed pip is working on executor19:06
pabelangergpg still needs to be done, but just need to ensure it exists on executors mostly19:07
jeblairpabelanger: we do have site local variables -- but your patch(es?) are still adding TODO comments for mordred to add site local vars19:07
jeblairpabelanger: is there a reason not to use those now?19:07
pabelangerjeblair: ya, we can move them into site-varaibles now19:08
pabelangerI can propose patches for that also19:08
jeblairpabelanger: (though, i don't know why we should add site local variables for things in project-config or openstack-zuul-jobs)19:08
pabelangertrue, maybe we don't need too19:08
jeblairi think that's the position i'm going to adopt.  :)19:09
pabelangerwfm19:09
pabelangerI'm pretty sure we can also swap out our zuulv3-dev ssh keys for production, people just need to audit things if they still believe an issue19:09
jeblair(the whole point of zuulv3 was to get this stuff *out* of system-config, everything we put back in walks that back, so we should be very reluctant to do so)19:09
pabelangerYa, site-variables are still a little odd, because we manage that with puppet.19:10
clarkbis bindep not going to be part of a base job pre run?19:12
pabelangernot right now19:13
jeblairpabelanger: i don't understand 494677 -- it's adding a second post-run playbook.  why?19:14
clarkbalso looks like you delete the wheels that are built because they are not tar.gz files19:14
pabelangerjeblair: right, is we decided the untrusted approach, I need to collapse those playbooks into a single post playbook19:15
pabelangeryes, we don't upload whls on branch tarballs, or do we?19:16
clarkbI'm not sure but you are building them19:16
jeblairpabelanger: yeah, honestly, i find it hard to understand what that job is doing.  i'd prefer one playbook and all the tasks refactored into roles and just have the playbooks of both jobs use the same roles.19:17
pabelangerclarkb: yes, this is the same as JJB today, we build wheels but don't upload19:17
clarkbhuh that seems like a bug19:17
jeblairyeah, we certainly don't need to do throwaway work in a post job19:17
clarkb++19:18
pabelangerjeblair: okay, so should I focus trusted on untrusted playbooks?19:18
clarkbpabelanger: maybe just drop the bdist_wheel in your update and when we switch that bug will be fixed19:18
pabelangerand we are okay uploading wheels for branch-tarballs?19:18
clarkbor we can upload wheels. I think dropping the wheel build is likely fine and will simplify things19:18
jeblairpabelanger: mordred never got back to you with a preference for which repo that job should be in?19:19
pabelangerclarkb: I'll upload whl, that is actually less work for playbooks19:20
pabelangerjeblair: nobody except you19:20
jeblairpabelanger: is there a reason you want it in openstack-zuul-jobs as opposed to project-config?19:23
clarkbfor those of us that haven't been able to keep up with the thinking on ^ might be nice to have a short blurb on the current structure of things19:23
pabelangerjeblair: I've just found it easier to test ansible in untrusted projects19:24
pabelangerthat's really about it19:24
jeblairpabelanger: how so?19:25
jeblair(if you're able to upload something to tarballs.o.o in a check pipeline, that's a bug)19:25
pabelangerright, with 494677 we talked about creating experimental pipeline to allow for testing that19:25
pabelangerso we could validate uploads to tarballs.o.o19:26
jeblairpabelanger: how would that work?  i don't remember this chat.19:26
pabelangerI'll hack to look back in IRC logs, but let me maybe ask a different question19:27
pabelangertoday, a project can add a new exerpimental job to JJB, to ensure things upload to tarballs.o.o. Would we also do that in zuulv3?19:27
jeblairpabelanger: we should never approve a job to the experimental pipeline that uploads something to tarballs.  experimental is pre-review.19:28
pabelangerokay, so we need to fix that, because this is how I was able to test our deb-package work, and how kolla also testing their publishing things19:28
pabelangerso, in this case, it doesn't make sense to have it in openstack-zuul-jobs, as we cannot actually do the publish part19:29
jeblairpabelanger: yah, i mean, if that's in place, anyone can propose a change to kolla that uploads whatever they want to tarballs.o.o19:29
pabelangerya, basically19:29
pabelangerwe usually add the experimental job to validate the upload, then move it right into post19:30
jeblairexperimental is to validate things before they get moved to check19:30
pabelangerokay, that's not have we have been using it for some time19:31
pabelangerI'll stop doing that now19:31
jeblair"On-demand pipeline for requesting a run against a set of jobs that are not yet gating."19:31
jeblaircool, thanks :)19:31
pabelangerso, then this will live in project-config19:31
jeblairsounds like a plan19:31
pabelangerwe first need to delete the existing publish-openstack-python-branch-tarbal job in zuul, then project-config so we can land 49467219:32
jeblairso move to project config -- and roles so we can share things between the regular and branch versions of the job19:32
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Remove publish-openstack-python-branch-tarball job  https://review.openstack.org/49541819:34
*** jkilpatr has quit IRC19:35
jeblairwe could set up openstack-zuul-jobs to shadow project-config to make this easier in the future, but we can do that ^ for now19:36
pabelangersure, if that is better in the long run19:37
jeblairpabelanger: are you going to move publish-openstack-python-tarball too?19:38
pabelangeryes, looking at that now19:38
pabelangerjeblair: 494672 should be that19:38
pabelangerGoing to make the changes clarkb suggested19:39
mordredjeblair, pabelanger: sorry - my brain has had a hard time grokking the scrollback just now - I agree about roles - can I restate a few of the other things said above to make sure I understand what we're talking about?19:44
pabelangerI think the confusion comes from experimental pipelines being able to publish to tarballs.o.o19:45
pabelangerafter that was cleared up, project-config is the right place19:45
mordredok. lemme just make sure I've got it all though - I'm feeling dumb at the moment ... :)19:45
mordredopenstack-publish-artifacts must be in project-config because it does the actual artifact publication19:45
pabelangeryes19:46
mordrednone of check, gate and experimental pipelines should be able to execute jobs that have openstack-publish-artifacts as a base job19:46
pabelangeryes19:46
leifmadsenShrews: great doc change, +119:47
mordredpublish-openstack-python-tarball COULD be in openstack-zuul-jobs with openstack-publish-artifacts as a base, but in either case because it has openstack-publish-artifacts as a base it will not be able to be added to check, gate or experimental19:47
mordred(like, it's safe for it to be, but it still wouldn't be able to be run speculatively)19:47
pabelangeryes19:47
mordredok. cool. mostly just making sure I had it all in my head straight :)19:48
*** jkilpatr has joined #zuul19:50
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Remove publish-openstack-python-branch-tarball job  https://review.openstack.org/49541819:51
openstackgerritMonty Taylor proposed openstack-infra/zuul-jobs master: Add role for emitting ara logs on the executor  https://review.openstack.org/49542220:07
jeblairmordred: did you want to review 494651 ?20:14
jeblairalso, is anyone else interested in reviewing my changes to use the cached branch list in dynamic reconfiguration?  494650, 494651, and 49461820:15
jeblairthat's a performance improvement we need before going live20:15
mordredjeblair: yes!20:18
mordredjeblair: I thought I'd reviewed that one already ...20:18
mordredoh - I got distracted by the 40 * '0' question20:18
mordredjeblair: stack looks great20:19
mordredjeblair: https://review.openstack.org/#/c/494343/ is finally green after all the recheck fun too :)20:19
mordredpabelanger, SpamapS: ^^ jeblair's patches are more important, but I'd like to get that one in too so that we can use it in the base publish jobs20:20
jeblairi re +2d that (lost with my recheck)20:22
pabelanger+3 for jeblair stack20:23
openstackgerritMonty Taylor proposed openstack-infra/zuul-jobs master: DNM Reparent unittests on base-test  https://review.openstack.org/49542420:26
mordredjeblair: I'm not getting web streaming http://zuulv3.openstack.org/static/stream.html?uuid=1874f74d2aea4a2195915e1705d50548&logfile=console.log20:28
openstackgerritMerged openstack-infra/zuul-jobs master: Add role for emitting ara logs on the executor  https://review.openstack.org/49542220:29
jeblairmordred: yes, i observed that yesterday too.  finger works though.  so maybe a zuul-web issue?20:29
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Allow multiple semaphore definitions within a project  https://review.openstack.org/49465020:29
mordredjeblair: maybe so - maybe we need to have restarted it with the other things that were going on?20:30
pabelangerHmm, we web streaming not working?20:30
jeblairmordred: i can't think of why; it may represent a failure worth examining.20:31
pabelangerfinger directly still works20:31
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Reload configuration when branches are created or deleted  https://review.openstack.org/49465120:31
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Use cached branch list in dynamic config  https://review.openstack.org/49461820:31
jeblairSpamapS: if i add support for using bwrap tmpfs to hold secrets without hitting disk, i'm not sure what the nullwrap driver should do.  do you have any thoughts?20:32
mordredjeblair: agree20:32
jeblair2017-08-18 20:30:38,190 DEBUG zuul.web.LogStreamingHandler: Connecting to finger server ze01:7920:33
jeblairi rebooted ze0120:33
jeblairit got a new hostname20:33
jeblaircat /etc/hostname20:34
jeblairze0120:34
jeblaircat /etc/hostname20:34
jeblairze02.openstack.org20:34
jeblairlet's move that to -ifra20:34
mordredjeblair: nullwrap could still use a tmpfs for them20:34
jeblairmordred: yeah, but then i'm writing a bunch of code in zuul to manage tmpfs's.  i'm not sure anyone is using this code, and i don't know who would... which makes me....unenthused about writing it?20:35
mordredjeblair: oh - sorry - what I meant was that in nullwrap you could just ignore it and let /tmp / mktmp() work as normal - and if a person is running iwth nullwrap they may want to set up a single tmpfs (maybe in /tmp) if they care about secrets hitting disk20:36
jeblairmordred: well, the idea i have is to have bwrap both create the tmpfs and write the file contents out to it.  so nullwrap would have to implement both of those things.  it is slightly easier if i just have nullwrap 'mkdir' and splat the contents.  that's probably only a few lines.20:37
mordredjeblair: nod. yah- I think having nullwrap just do a mktemp() in the 'make tmpfs' call and just splat to it seems fine to me20:39
jeblairmordred: not so much mktemp, but okay, i'll have nullwrap implement this by writing the secrets to disk.20:45
jeblairthat will be a behavior difference between nullwrap and bubblwrap, and will only reinforce the idea that no one should use nullwrap and everyone should use bubblewrap.20:46
jeblairi think with an important behavior/security difference like this, we should either articulate under what circumstances nullwrap should be used, or remove it.20:47
jeblairi restarted ze01 with correct hostname20:48
SpamapSjeblair: nullwrap should make its own tmpfs?20:49
jeblairSpamapS: for feature parity, yes.  to be honest, i'm trying to get out of writing that because i'm not sure if there are any users.20:50
mordredI'd rather see the simple "just write to disk" answer for nullwrap and put in a doc note/todo that if someone has a usecase for using nullwrap and they are concerned about secrets hitting disk on their executor there is work to do20:51
jeblairmordred: but is that right under the note that says "don't use nullwrap because your executor will be pwned?"20:52
jeblairlike, nullwrap is a foot-cannon, so i'm trying to understand its place20:52
jeblairit has no presence in the documentation atm, so to write that note we'd have to say "there's a thing you can do but you probably shouldn't and if you did it's still a bad idea because of this which you should fix"20:54
jeblairif we're going to do that, i would like us to understand who the audience is.  i don't.20:54
mordredjeblair: well -for folks who are running internally or for them selves and don't have a distro that has bubblewrap available but the python stuff otherwise works - I could see them legitimately not wanting to care about bubblewrap/writing secrets to disk20:56
mordred"run zuul on my laptop on my own content" ... probably doesn't care about wrapping ansible-playbook calls in bubblewrap20:57
jeblairmordred: i agree, however, bubblewrap is the zero-effort* option -- asking someone to make this choice means having to explain the difference.20:58
jeblairmordred: * i didn't think bubblewrap in distros was a problem?20:58
jeblair(obviously, if your distro doesn't provide bubblewrap, that's not zero-effort)20:59
mordredjeblair: well- we add a ppa for it for our xenial server - but it's PRETTY low effort to do that21:00
jeblairah :/21:01
SpamapSI wrote it in large part because I was worried there'd be users who want to use zuul w/o untrusted jobs and without access to bubblewrap. It may have been a bit too forward thinking.21:02
SpamapSI truly also didn't realize how dead ubuntu backports was.21:02
SpamapSThey just sit now.21:03
jeblairSpamapS: your hypothetical user sounds pretty close to mordred's21:03
mordredyah - but they are hypothetical and there is a ppa - I could be argued either way here :)21:04
jeblairmy personal preference would be for it to be easy for zuul to be secure by default.  we've put a lot of thought into that.  so i would love it if we could decide that bwrap is simple enough to just require it in all cases.  failing that, so i guess my question is: would that user prefer secrets not hit disk?  or are they okay with them hitting disk?  or would they prefer not to use secrets at all? (this is a new third option)21:06
jeblairi'm happy to defer the question of whether we keep nullwrap for a while if we chose "okay with hitting disk" or "okay with no secrets at all".  "implement tmpfs support in nullwrap" is enough work that i think we need to justify commitment.  :)21:08
mordredjeblair: I agree. I'm personally happy to ditch it and say that bubblewrap is easy enough21:09
pabelangerso far bubblewrap has been working well21:10
pabelangerI don't mind if we default to that and remove nullwrap21:11
SpamapSjeblair: we could just make nullwrap explode on use of secrets for now.21:13
SpamapSjeblair: that would be one way to find the users.21:13
jeblairSpamapS: ok i'll do that21:14
SpamapSraise NotImplementedError('If you want secrets with this, come talk to us.')21:15
SpamapSwe desperately want to understand you :)21:15
mordredraise WhatsWrongWithYou("srrsly")21:16
SpamapSraise CantEven()21:17
openstackgerritMonty Taylor proposed openstack-infra/zuul-jobs master: DNM Reparent unittests on base-test job  https://review.openstack.org/49542421:24
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: WIP Add wrapper driver execution context  https://review.openstack.org/49543921:42
jeblairmordred, SpamapS: ^ that's not done yet and will fail tests, but i wanted to get the API change up for early feedback.  i realized that was a problem as i started thinking about this.21:42
openstackgerritClint 'SpamapS' Byrum proposed openstack-infra/zuul feature/zuulv3: Document execution_wrapper setting.  https://review.openstack.org/49544021:44
SpamapSjeblair: looking. ^^ is my stab at documenting the situation.21:44
SpamapSwe could also add a "may be removed in the future."21:45
SpamapSAs that may spark readers who want to use it to ask us not to remove it in the future. ;)21:45
jeblairSpamapS: lgtm, and yeah that may be a good idea.21:45
mordredjeblair: that approach seems good to me21:45
SpamapSoh that's interesting. I hadn't even seen the setMountsMap method21:47
jeblairand i'll build on that to add the tmpfs secrets21:47
SpamapSor I purged it from memory21:47
SpamapSI wonder if we should mention the minimum version of bubblewrap we require21:48
SpamapSbecause I think they only recently added --die-with-parent21:48
jeblairSpamapS: yeah, it arrived first to allow custom setting of site-wide ro/rw binds (which was fine as a driver method).  then very recently i abused it to only mount the current playbook, without realizing the ramifications of that.21:48
SpamapSjeblair: ahhhhh21:48
SpamapSyeah this looks good, and I like the use of the term execution context, clarifies what that object is nicely21:49
jeblaircool, i'll finish polishing it up21:50
mordredSpamapS: if you have a sec, feel like nudging https://review.openstack.org/#/c/494343/ across the line?21:57
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Add wrapper driver execution context  https://review.openstack.org/49543921:59
SpamapSmordred: reading22:01
SpamapSmordred: the description of the case was a little mind bending.. and I realized the word 'secret' is really unpleasant to say over and over in your head for some reason... but, +A ;)22:05
mordredSpamapS: \o/22:07
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Allow requesting secrets by a different name  https://review.openstack.org/49434322:13
openstackgerritClint 'SpamapS' Byrum proposed openstack-infra/zuul feature/zuulv3: Document execution_wrapper setting.  https://review.openstack.org/49544022:13
SpamapSAdded a note about removing it and noted nullwrap with a footnote where appropriate.22:13
openstackgerritMonty Taylor proposed openstack-infra/zuul-jobs master: Document and update fileserver roles  https://review.openstack.org/49429122:22
mordredjeblair: when executor is set in "keep" mode, we still don't save the secrets file do we?22:23
jeblairmordred: currently yes, after the change i'm writing, no22:34
*** maxamillion has quit IRC22:39
mordredwell - that's ok - I've figured out this particular issue22:40
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Write secrets to tmpfs  https://review.openstack.org/49544922:57
openstackgerritMonty Taylor proposed openstack-infra/zuul-jobs master: Document and update fileserver roles  https://review.openstack.org/49429123:02
openstackgerritMonty Taylor proposed openstack-infra/zuul-jobs master: Document and update fileserver roles  https://review.openstack.org/49429123:08
jeblairmordred: in 494291, why 'artifact_fileserver_group' instead of 'fileserver_group'?  I ask because the add-fileserver role doesn't otherwise use the word artifact, so it feels like it's introducing something new.23:15
jeblair(and i guess, similarly the default of 'zuul_artifacts_fileserver' instead of 'zuul_fileserver')23:15
mordredjeblair: gah. I missed it23:18
mordredI was trying ot get those artifact references gone23:18
jeblairyay i helped!23:18
mordredoh - actually - I was going to just remove that variable - on second thought it doesn't really help23:20
openstackgerritMonty Taylor proposed openstack-infra/zuul-jobs master: Document and update fileserver roles  https://review.openstack.org/49429123:21
mordredjeblair: ^^ how about that?23:22
mordredalso - fingers crossed - rechecking the base-test job again23:22
mordredGAH :(23:25
jeblairmordred: what's the publish role look like when you use it?  ie, how to specify the host?23:25
mordredjeblair: you do that in the hosts: line of the playbook23:25
mordredjeblair: so very similar to this pattern: http://git.openstack.org/cgit/openstack-infra/project-config/tree/playbooks/base-test/post-logs.yaml23:26
mordredjeblair: except replace "upload-logs" with "publish-openstack-artifacts"23:26
jeblairmordred: gotcha, so just reach into the secret for the fqdn23:27
jeblair(lgtm)23:27
mordredwoot23:27
pabelangerworking?23:27
mordredwell - still not working23:27
pabelangersoon(tm)23:28
pabelangermordred: Oh, I see the issue. hostvars[groups['zuul_logserver']] no longer exists23:31
mordredah23:31
mordredpabelanger: that should just be hostvars[site_logs.fqdn] at this point yeah?23:32
pabelangercheck syntax, but ya23:32
pabelangerya, that seem right23:32
mordredcool. I'll push that up23:32
*** maxamillion has joined #zuul23:33
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Add wrapper driver execution context  https://review.openstack.org/49543923:36
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Write secrets to tmpfs  https://review.openstack.org/49544923:36

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