Monday, 2018-10-22

*** nilashishc_ has joined #zuul04:55
*** nilashishc_ is now known as nilashishc04:57
*** bhavikdbavishi has joined #zuul05:29
*** pcaruana has joined #zuul06:21
*** chkumar|off is now known as chandankumar06:45
*** themroc has joined #zuul06:56
*** pcaruana has quit IRC06:58
*** pcaruana has joined #zuul07:13
*** jpena|off is now known as jpena07:32
*** panda has joined #zuul08:13
*** sshnaidm|off is now known as sshnaidm|ruck08:22
*** cbx33 has joined #zuul08:40
cbx33Hi all, been reading the docs a little today, still a little confused, can it only be used for merging code if you use Gerrit or GitHub?08:40
ssbarneacan zuul work with pure py3 nodes?(one that do not have py2 and python command on them).09:03
*** electrofelix has joined #zuul09:27
tobiashssbarnea: it currently hard codes ansible_python_interpreter to /usr/bin/python2 (not sure if this could be changed now with recent ansible)09:52
cbx33tobiash, Do you know anything about non github/gerrit repos?10:03
tobiashcbx33: currently only gerrit/github is supported10:04
cbx33tobiash, what does that mean for other git repos?10:06
cbx33Can Zuul do anything?10:06
cbx33tobiash, The documentation doesn't seem to say that you can only merge code if you are using GitHub or Gerrit, but that is what I am guessing is correct, am I right?10:08
cbx33if so, what is the git driver for?10:08
tobiashcbx33: the git driver is only for fetching code10:09
cbx33OK - Thank you for clearing it up10:09
tobiashcbx33: what service are you using?10:09
cbx33I'm using GitLab10:09
tobiashI think I've heard of poeple wanting to add support for gitlab10:10
goernthat would be a very interesting addition :)10:10
cbx33It would be a very awesome addition10:10
cbx33I currently have about 8-9 interdependant projects which need to remain internal currently, and only having access to GL gives me a bit of a problem10:11
cbx33Hmmm, OK gives me something to think about - thank you10:13
*** rfolco|rover has joined #zuul10:14
cbx33tobiash, Is there documentation on what methods a driver needs to provide?10:19
*** jpena is now known as jpena|lunch11:23
*** pcaruana has quit IRC11:26
*** pcaruana has joined #zuul11:48
*** panda is now known as panda|lunch11:55
*** bhavikdbavishi has quit IRC12:06
*** pcaruana has quit IRC12:12
*** pcaruana has joined #zuul12:12
*** jpena|lunch is now known as jpena12:23
mordredtobiash, ianw, Shrews: https://review.openstack.org/#/c/612168/ looks good now - the src job is failing as expected and the non-src are passing - and then https://review.openstack.org/#/c/612186/ which depends-on it is the fix in sdk and it makes the src job green again12:27
mordredcbx33: caphrim007 is the other person looking at gitlab driver, but he doesn't seem to be in channel at the moment12:27
mordredcbx33: http://git.zuul-ci.org/cgit/zuul/tree/zuul/driver/__init__.py has the interface definitions, but I don't think that's the whole story. if I were starting in on the gitlab driver I'd likely start by looking at http://git.zuul-ci.org/cgit/zuul/tree/zuul/driver/github - since gitlab and github are conceptually similar and I believe the gitlab webhooks and api are similar to the github webhooks / api12:29
tobiashclarkb: will there be further zuul stickers in berlin?12:30
mordredtobiash: I believe so - we had a pile in austin and I'm taking a pile to edinburgh this week12:34
tobiashmordred: cool :)12:35
*** rlandy has joined #zuul12:35
Shrewsmordred: maybe it's lack of caffeine, but isn't that depends on backwards?12:44
mordredShrews: I don't think so? I did the 'fix-test' patch first, since it's non-voting, so we can see that the sdk patch fixes the failure12:45
*** jesusaur has quit IRC12:46
mordredShrews: sorry, since the nodepool-src job is nonvoting for nodepool - so it's ok that it's red for that patch (that's how we verify that the test job itself is doing the right thing)12:47
Shrewsmordred: oh, yeah, nm12:47
*** panda|lunch is now known as panda12:56
mordredShrews: lemme tell you how much I've enjoyed digging in to that particular issue13:00
Shrewsmordred: it didn't add enjoyment to your weekend?? odd13:00
openstackgerritMerged openstack-infra/zuul master: Handle missing node during hold check  https://review.openstack.org/61096913:08
*** jesusaur has joined #zuul13:16
openstackgerritMerged openstack-infra/nodepool master: Make functional src jobs actually install from source  https://review.openstack.org/61216813:58
openstackgerritMatthieu Huin proposed openstack-infra/zuul master: web: add tenant and project scoped, JWT-protected actions  https://review.openstack.org/57690714:04
*** themroc has quit IRC14:14
*** themroc has joined #zuul14:17
*** mestery has left #zuul14:34
openstackgerritDavid Shrewsbury proposed openstack-infra/nodepool master: Cleanup down ports  https://review.openstack.org/60982914:44
*** pcaruana has quit IRC15:12
*** themroc has quit IRC15:24
*** bjackman has joined #zuul15:35
bjackmanHi folks. I've been looking into setting Zuul up for the org I work at, it seems pretty well-suited except for one thing: we sometimes have cross-repository dependencies that are two-way, i.e. the changes need to be applied in lockstep. Do I understand correctly that Zuul does not handle that case?15:38
openstackgerritMerged openstack-infra/nodepool master: Remove sqlalchemy from requirements  https://review.openstack.org/61182115:50
clarkbbjackman: currently that is correct. I think there has been talk about supporting "loops" and making that a configurable otpion in zuul as to whether or not they are acceptable but that work hasn't happened15:51
bjackmanclarkb: OK, thanks. I wonder if there are any common workarounds?15:52
bjackman I suspect that a common response would be "if you often have two-way dependencies between two repos then you should probably combine those repos into one"15:52
bjackmanWhich isn't unreasonable15:52
clarkbbjackman: we (openstack using zuul) highly encourage people to write changes that are forward/backward compatible. In this particular case it aids with people that may want to continuously deploy the software as they have a migration path as they step through15:52
clarkbbjackman: that would be another possible workaround as it does indicate strong coupling15:53
bjackmanOh and another thing I wasn't immediately clear about - does Zuul always test every commit, or can it be persuaded to consider e.g. a Gerrit changeset as a single unit?15:54
clarkbThat depends on the review system. With Gerrit each change is considered. With github then entire PR is considered15:55
bjackmanAh OK thanks15:56
clarkbit is possible that making the gerrit driver configurable to handle a change series vs change as the unit would be worthwhile15:56
clarkb(I'm not sure haven't used the newer change series model with gerrit)15:57
bjackmanIt would be a good way to reduce pressure on test resources15:57
bjackmanIn my case the tests need special HW which is quite scarce15:57
*** bhavikdbavishi has joined #zuul15:59
tobiashmordred: does that mean that now there is a sdk release that contains the parallel execution and nat source?16:09
corvushowdy!  i should be around for a while now16:20
*** sshnaidm|ruck is now known as sshnaidm|afk16:27
*** bjackman has quit IRC16:38
*** bjackman has joined #zuul16:38
corvustristanC: not sure if you saw, but i think https://review.openstack.org/535557 is waiting for you to take a look at the functional tests now16:50
corvustobiash, Shrews: i'll try to take a look at the zk caching stuff this week16:50
tobiashcorvus: cool, thanks :)16:51
*** jpena is now known as jpena|off16:55
ShrewsSpamapS: LinkedIn tells me interesting things about you17:20
SpamapSShrews: lies17:24
SpamapSShrews: if you're at all worried that I may be disappearing.. we already have a Zuul that runs on AWS .... ;-)17:27
*** pcaruana has joined #zuul17:27
SpamapSI've got a few AWS-centric zuul-jobs patches in the works17:28
ShrewsSpamapS: i never worry about you... though i often wonder about you. and neat!17:28
SpamapSFor things like pushing docker images to ECR and logging to S3.17:28
* SpamapS sees bjackman and reads it as bojack horseman17:29
*** jlk has quit IRC17:29
Shrewsis it weird that i read it the same way?17:29
*** jlk has joined #zuul17:30
SpamapSclarkb: bjackman FYI, we used gerrit with merge commits at IBM and Zuul tested the "series" that way.17:30
SpamapSOpenStack's gerrit just has merge commits turned off, IIRC.17:31
clarkbSpamapS: we only enable it for the use case of maintaining feature branches and merging them back to master in openstack land, But that should work just fine if you use it as your normal workflow17:32
SpamapSright17:32
corvusoh neat, we should add that to the faq.  when we write the faq.17:36
bjackmanSpamapS: Oh that's interesting, cheers17:37
*** electrofelix has quit IRC17:44
*** nilashishc has quit IRC17:55
*** pcaruana has quit IRC17:57
*** bhavikdbavishi has quit IRC18:07
*** bhavikdbavishi has joined #zuul18:08
dmsimardSpamapS: don't wait for me if you want to work on the ec2 nodepool patch(es)18:08
mordredtobiash: yes, I think so. I'm going to try to get the rest of the task manager related nodepool patches and sdk patches finished up this week18:09
mordredtobiash: oh - well - there will be as soon as 0.18.1 finishes releasing18:17
mordredtobiash: 0.18.0 is broken with nodepool18:18
tobiashmordred: so I should wait until 0.18.1 before rebuilding nodepool?18:18
mordredtobiash: yes. 0.18.0 will break spectacularly18:18
tobiashCool18:18
openstackgerritDavid Shrewsbury proposed openstack-infra/nodepool master: Support node caching in the nodeIterator  https://review.openstack.org/60464818:20
* tobiash tries to imagine how breaking nodepool spectacularly could look like18:20
Shrewstobiash: ^^^ we needed a test to validate caching was working18:20
tobiashShrews: thanks, I didn't add a test for the caching as I had no idea how to test this and there is no functional change18:22
Shrewsthe test was actually pretty simple18:23
Shrews(just testing the zk portion of it and not nodepool operations)18:23
tobiashShrews: I think zhat test will race because the cache is updated asynchrounously using watches18:25
Shrewstobiash: oh. well that might be problematic in places18:26
tobiashSo we might need some synchonization there or just sleep a second18:26
tobiashShrews: that's why I enabled the cache not everywhere18:27
Shrewshrm, i'll have to look at your changes with that perspective18:27
tobiashIt guarantees that the nodes are there (getting the list of nodes is uncached)18:28
tobiashBut the content of a node might be slightly outdated because the asynchrounous update18:28
Shrewstobiash: does having a lock on a node affect updating the cached version at all?18:30
Shrewslike, maybe the cache will not update while the lock is held?18:30
mordredtobiash: 'spectacularly' means tracebacks about not being able to start threads twice and nodepool being unable to do anything at all18:30
mordred:)18:30
tobiashShrews: everywhere where we lock a node we must/do get an updated node anyway18:31
tobiashAnd where we do that are the only places where I enabled it (mostly on the critical path of request handling)18:32
Shrewstobiash: those words confuse me18:33
tobiashLet me switch to laptop, that might make my thoughts easier to express18:34
Shrewsnow i'm curious how node locking works since that is stored as part of the node18:36
tobiashShrews: our node locking is kind of strange atm, it creates an ephemeral node to express the lock but the lock itself is only locally so if you do a getNode you don't know if we have the lock18:37
tobiashbut that's independent of the caching18:38
Shrewstobiash: i don't think that's correct. node locks are part of the actual znode.18:39
tobiashso our typical workflow in many places is to try locking the node, if success get the node again (without cache) and work with that18:39
Shrewsnode requests work differently18:39
tobiashat least getNode doesn't initialize the local lock object of the node18:42
SpamapSdmsimard: ACK, I won't wait. :)18:45
SpamapSThough now that I have like, full time and not outside-biz-hours time to spend on it, I may not even end up on AWS. ;)18:46
tobiashShrews: this is what I mean: https://git.zuul-ci.org/cgit/nodepool/tree/nodepool/launcher.py#n51518:46
tobiashiterate over nodes, lock, re-get the node to check if the data is still as expected, do something with it18:47
tobiashShrews: this pattern should be safe to operate on cached data18:47
Shrewstobiash: yes, but that was not the question i'm trying to answer. Our node locks do not use ephemeral nodes. They are part of the actual znode we are locking. If *that* information is also given to the cache asynchronously, what happens if two launchers try to lock the same node at the same time? Does the cache play any role in that?18:55
ShrewsI'm assuming it works correctly, but I'd like to confirm to make sure18:56
Shrewsi can probably hack a test script together18:56
tobiashShrews: that information is not initialized in the getNode method (it deserializes from json) and that behavior is unchanged18:56
tobiashShrews: this is the relevant part: https://git.zuul-ci.org/cgit/nodepool/tree/nodepool/zk.py#n60118:57
tobiashso we don't get the lock if we do getNode. The cache is similar like the view of a different launcher18:58
tobiashShrews: and lockNode works path based: https://git.zuul-ci.org/cgit/nodepool/tree/nodepool/zk.py#n165318:59
tobiashso independent of any cache19:00
tobiashbut yes, a script might prove it :)19:01
Shrewsi don't think i'm expressing my concern well. let me think about this a bit19:04
tobiashit's probably just too late here ;)19:05
tobiashShrews: so if I understand correctly you mean that the lock is part of the znode and thus part of the cached data right?19:05
*** bhavikdbavishi has quit IRC19:06
tobiashI just double checked, the lock is its own child znode: https://git.zuul-ci.org/cgit/nodepool/tree/nodepool/zk.py#n72519:07
*** cbx33 has quit IRC19:34
*** rlandy has quit IRC19:35
AJaegercorvus: could you check the comments by ianw on https://review.openstack.org/#/c/592850/1 again, please? is you -1 still valid?19:38
AJaegerdmsimard: want to remove your WIP from https://review.openstack.org/#/c/610381/ ?19:39
AJaegercorvus, some reviewers liked you to review https://review.openstack.org/#/c/607691/  - could you check that one as well, please?19:40
*** rlandy has joined #zuul19:43
dmsimardRemoved19:44
AJaegerthanks19:44
corvusAJaeger, ianw: so, i (re)wrote the current version of the swift upload logs role.  ianw is significantly rewriting it in that change.  i can't really follow the code anymore with that change; i think ianw and i think about that code differently.  i don't think i will be able to help maintain that role if we merge the change.  so if you are sufficiently enthusiastic about taking over responsibility for that19:48
corvusrole to proceed, i'm happy to get out of the way.19:48
AJaegercorvus: I let ianw followup - wanted to unblock the discussion only.19:49
corvusAJaeger, ianw, SpamapS: also responded on 607691.19:52
AJaegerthanks, corvus19:52
ianwcorvus: 4/6th of that stack is in aid of not leaving temporary directories, which i'd count as a bug, 1/6th is making sure unicode paths are tested, and 1/6th is the download-all-logs feature, which i wrote because to keep parity with a similar feature i've written for the extant role, but was not accepted because it was felt we were switching to swift logs "soon" and didn't want feature disparity20:27
ianwso i dunno.  if you'd like to implement your approach to fix up the bugs, i'm sure i can work around it the feature i'd like20:28
corvusianw: it's probably the tempdirs thing that's causing the disconnect.  i don't feel like it's an important enough bug to warrant the additional complexity and am okay with that for now.  if you want to drop the first 2/3 and just do the last 1/3 i think i can engage with that.  if you think the first 2/3 is very important, then i don't think i'm going to have time to come up with an independent solution to20:54
corvusthat in the next... 2 months?  so we could leave the series in stasis until then, or i could get out of the way.  :)20:54
ianwthe tempdirs are quite annoying when you're running the unit tests21:08
ianwthe "upload-logs" role, however, really relies on the prior changes.  it lives "inside" the FileList context, same as the index files.  that's essentially why i took the approach i think you have the issue with -- because it makes a clear context you can "do things" to the file list21:12
SpamapScorvus: ty, pretty easy to convert markdownlint into a role21:20
corvusSpamapS: w00t21:20
SpamapS90% git mv. ;)21:21
corvusianw: ok, i don't think i can engage on alternate suggestions, but i don't think it's fair for me to stand in your way, so as long as you and other folks are happy to go forward in that way, i'm happy to pass the baton to you on that :)  [to be clear, i'm happy to continue to make/review minor bugfixes to the new code, just that i can't really "own" it for whatever that's worth anymore]21:24
corvusianw: i'll switch to a +0 vote and encourage other folks who agree with the approach to +2 and ignore my previous comments21:24
*** dmellado has quit IRC21:32
*** gouthamr has quit IRC21:32
*** spsurya has quit IRC21:38
openstackgerritClint 'SpamapS' Byrum proposed openstack-infra/zuul-jobs master: Add a markdownlint job and role  https://review.openstack.org/60769121:44
SpamapS^ converted to a role21:46
SpamapSnow with revoke-sudo!21:46
corvusSpamapS: cool, can you add a README.rst (irony!) to the role?21:55
SpamapSgit add strikes again21:55
openstackgerritClint 'SpamapS' Byrum proposed openstack-infra/zuul-jobs master: Add a markdownlint job and role  https://review.openstack.org/60769121:59
*** ssbarnea has quit IRC23:40
*** jimi|ansible has quit IRC23:48
*** eumel8 has quit IRC23:54
openstackgerritClint 'SpamapS' Byrum proposed openstack-infra/zuul-jobs master: Add a markdownlint job and role  https://review.openstack.org/60769123:55

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