Wednesday, 2017-12-06

tristanCiirc, passing data between jobs may become an issue when we'll want to trigger a single job00:14
tristanCwell we'll have to somehow track that data and inject it to a child job when it is triggered00:15
SpamapSNot sure I follow00:16
SpamapSIf there's no parent/child, what do you mean?00:16
SpamapSvars would handle any static inputs00:16
tristanCSpamapS: e.g., when test job takes as input a build job's artifact, then when we retrigger the test job only, we need to give it something to test00:18
SpamapSI think you re-run the build job, which looks in the artifact cache, finds the already built artifact, and sets the artifact again.00:19
tristanCSpamapS: right, but then we can't just re-trigger the test job00:20
tristanCimagine this pipeline: build -> [test-job] * x -> publish, then it may be valuable to be able to only re-trigger the publish if it fails for some reason00:21
SpamapSindeed I see that need00:23
SpamapSthis is where 'zuul pushes' would come in handy. ;)00:24
SpamapStristanC: also in zuul parlance, that's not really a pipeline.00:25
SpamapSthat's 2 zuul pipelines.00:25
SpamapSmaybe we need something to define linkages between pipelines.00:25
*** threestrands has quit IRC00:25
tristanCSpamapS: right, i was using jenkins terminology, where you are able to recheck part of the test pipeline, which seems pretty neat00:26
SpamapSIt is, and I'm actually poking around with fitting jenkins/zuul together in interesting ways right now.00:28
tristanCregardless of the publish, you could have multiple phase to execute only if the previous one succeed, e.g.: build -> [simple tests] -> [extensive test] -> [benchmark test]00:28
SpamapSThat said.. if you follow the gate->landpatch->publish paradigm that zuul was built around, you likely just want something that binds landed patches to artifacts.00:28
SpamapSand one way to do that, is to leave a breadcrumb in the log store, and use that to tag the commit in a post-commit, and then use tags.00:29
SpamapSbasically, something has to maintain state00:30
tristanCyes, exactly :-)00:30
tristanCSpamapS: woud you mind sharing a bit more how are you fitting jenkins/zuul together?00:31
SpamapStristanC: we're just experimenting. harlowja is writing a jenkins kicker job that will poke jenkins and then we'll put that in various places to see if it can be useful.00:32
harlowjamainly for old-style jenkins jobs, not multibranch stuff with jenkinsfiles in it00:32
SpamapSWe have a lot of pipelines written here.. don't want to have to rewrite it all in zuul and lose momentum.00:32
SpamapSbut if we can let zuul gate on jenkins jobs that exist already, that seems like a pretty nice win.00:33
harlowjaan adaptor layer for all the groovy stuff would be interesting :-P00:33
harlowjabut likely to whack, lol00:33
tristanCwouldn't it be possible to have a plugin so that jenkins act like another executor?00:34
jeblairmordred has detailed notes about running jobs in jenkins from zuul that he's discussed in here several times.00:36
SpamapSyeah we're taking the lowest barrier path00:36
SpamapSmordred's notes have some more involved pathways to jenkins and zuul living in harmony00:37
harlowjau should implement a CPS transform of ansible into groovy into ansible00:37
harlowjainto assembly00:37
harlowjainto jenkins00:37
jeblairSpamapS: i believe your understanding of zuul_return is correct00:41
jeblairtristanC: yes, that extra data is something we'll need to solve if we implement the ability to trigger a single job00:42
tristanCjeblair: re zk d/c, turns out nodepool-launcher and zuul-scheduler are on the same host, so i think the issue is not related to different network path to/from zookeeper00:45
tristanCjeblair: also the exception seems to happen after an idle time, e.g. mostly when the min-ready process start00:46
tristanCwell, looking at the code, it seems like zuul should be equaly affected but it isn't... the only difference i can see is that zuul is using a timeout argument when creating KazooClient00:51
tristanCjeblair: Shrews: considering zk is a critical piece, I'd say we should make the client retry infinitely so that things doesn't go wrong when there is connections issues00:53
tristanCjeblair: Shrews: i'd like to update the patch to use a custom KazooRetry object that would log retry attempt to signal operator that operation are stuck because of zk issues00:54
tristanCnevermind the zuul timeout argment, it's the default value and it only affect the connection phrase01:00
tristanCi guess zuul is not affected because of a different usage, e.g. different action rate from nodepool01:02
*** tristanC has quit IRC01:08
*** tristanC has joined #zuul01:09
*** gundalow has quit IRC01:09
*** gundalow has joined #zuul01:10
*** gundalow has joined #zuul01:10
mordredSpamapS, harlowja the biggest issue that the larger writeup I've got was trying to account for is git repo state and getting it on to the jenkins nodes01:15
mordredSpamapS, harlowja: given that you already have both a jenkins and some jenkins content, you're obviously in a much better position than I am to work on solving that :)01:15
tristanCmordred: if jenkins implement a zuul-executor service, then wouldn't be able to to construct the speculative repo locally?01:17
mordredtristanC: dear god no01:18
clarkball this talk of jenkins made me go looking https://issues.jenkins-ci.org/browse/JENKINS-27514 be warned that is still a bug01:19
mordredtristanC: getting all of the git merging correct is one of the reasons we wrote zuul in the first place - you'd wind up rewriting basically all of zuul.merger and zuul.executor01:19
clarkbit basically makes jenkins unuseable and more than just us have verified it happens01:19
tristanCjeblair: hum, zuul zk implementation doesn't make use of the didLoseConnection() property01:20
mordredtristanC: if you're in a position to write java code or a plugin for jenkins, I think you'd be in much better position to get the jenkins/zuul handshake stuff done01:20
tristanCmordred: yes, i was thinking about having a zuul-executor plugin in jenkins that would implement the executor server code01:21
SpamapSHrm01:22
SpamapSI am dubious about that.01:22
SpamapStristanC: I see where you're going, but I think you also need to then implement merging?01:22
SpamapSAnd I really don't think it's necessary.01:22
SpamapSBasically all you really want Jenkins for is the content, not Jenkins itself.01:23
SpamapSSo you treat it like a runtime.01:23
SpamapSAnd that means two modes of operation.01:23
SpamapSeither a) secrets to a standing jenkins01:23
SpamapSor b) spin up bespoke masters, feed them a config and local git trees prepared by zuul-executor01:23
tristanCSpamapS: well yes, the whole executor module, perhaps we could even load it as-is with jython or something?01:24
SpamapS(a) is like, the first step, and then when you realize keeping one running is pointless, you go to (b)01:24
SpamapSmy god01:24
SpamapSIt's not tristanC, it's tristanC's monster.01:24
mordredSpamapS: except that with that don't you wind up with people who still want to look at their pipeline things in the jenkins ui?01:25
mordredhttps://etherpad.openstack.org/p/zuulv3-jenkins-integration <-- fwiw, in case folks haven't seen it01:25
SpamapSmordred: I could see people def wanting to still have their pipeline UI pretties, and keeping (a) for that.01:25
mordredSpamapS: b seems not completely terrible01:26
SpamapSBut the really magical part is giving them their pretties, but lining up speculative merges and submitting them as whole jenkins job runs for gating purposes.01:26
SpamapSmordred: (b) def treats jenkins as less valuable.01:27
mordredyah- I figured that people who had a tie to some jenkins pipeline for some reason would want jenkins to execute it, because they want their groovy whatever or whatnot01:27
SpamapSjust a way to run your groovy and use your plugins.01:27
mordredultimately, whatever way someone comes up with will likely work for me, since my main interest in the topic is enabling people to migrate away in a controlled and reasonable manner01:30
openstackgerritTristan Cacqueray proposed openstack-infra/nodepool feature/zuulv3: zk: automatically retry command when connection is lost  https://review.openstack.org/52364002:01
openstackgerritTristan Cacqueray proposed openstack-infra/zuul feature/zuulv3: zk: automatically retry command when connection is lost  https://review.openstack.org/52585102:06
openstackgerritDavid Moreau Simard proposed openstack-infra/zuul-jobs master: Add sphinx_python variable to sphinx role and job  https://review.openstack.org/52568802:07
jeblairtristanC: can you analyze the network traffic between nodepool and zk?  there should be frequent pings, so the idle period shouldn't be an issue.  maybe traffic analysis could show if something is wrong with that.02:10
openstackgerritDavid Moreau Simard proposed openstack-infra/zuul-jobs master: Add sphinx_python variable to sphinx role and job  https://review.openstack.org/52568802:10
tristanCjeblair: sure, i'll run tcpdump on zk host02:12
tristanCjeblair: though i think that change is valuable nevertheless, for example it let operator shutdown zk for maintainance without affecting zuul02:13
jeblairtristanC: fyi, i left administrative -2s on those changes -- just because i want to be really careful merging them and don't want folks who haven't been in irc today to approve them.02:13
tristanCjeblair: no worry about it :-)02:13
jeblairi have to run now, chat more tommorow02:14
tristanChave a good evening!02:14
*** xdl has joined #zuul02:41
xdlhttps://goo.gl/fJymyp02:41
xdlhttps://goo.gl/fJymyphttps://goo.gl/fJymyp02:42
xdlhttps://goo.gl/fJymyp02:42
xdlhttps://goo.gl/fJymyp02:43
xdlhttps://goo.gl/fJymyp02:43
xdlhttp://ezstat.ru/6sZzR.mp402:50
xdlhttp://ezstat.ru/6sZzR.gif02:52
*** haint has joined #zuul03:52
*** nguyentrihai has quit IRC03:55
*** xdl has quit IRC03:57
*** _ari_ has joined #zuul03:58
*** _ari__ has quit IRC03:59
vivsoni_Hi Team, Zuul check is failing in driverfixes/ocata branch04:37
vivsoni_http://logs.openstack.org/19/525719/1/check/openstack-tox-py27/f0c6813/job-output.txt.gz#_2017-12-05_18_35_28_79324104:37
vivsoni_can someone please help ?04:37
tobiashvivsoni_: what branch of openstack/requirements do you need there?04:54
tobiashThe job took that from master04:54
vivsoni_driverfixes/ocata branch04:56
tobiashvivsoni_: this branch seems not to exist on openstack/requirements04:59
tobiashhttp://git.openstack.org/cgit/openstack/requirements/refs/04:59
vivsoni_Actually i have proposed my fix on dirverfixes/ocata project: openstack/cinder05:00
vivsoni_after proposing some zuul checks is triggered05:00
tobiashvivsoni_: you should reach out in #openstack-infra there are more poeple familiar with the openstack jobs (I am not)05:01
*** threestrands has joined #zuul05:09
*** threestrands has quit IRC05:09
vivsoni_tobiash: ok. Thanks for your time05:18
tobiashno problem05:25
*** xinliang has quit IRC06:27
*** xinliang has joined #zuul06:39
*** hashar has joined #zuul07:49
*** mnaser has quit IRC08:08
*** mnaser has joined #zuul08:11
*** sshnaidm|off is now known as sshnaidm|rover08:20
*** hashar has quit IRC08:26
*** hashar has joined #zuul08:33
openstackgerritTristan Cacqueray proposed openstack-infra/zuul feature/zuulv3: web: add /{tenant}/jobs route  https://review.openstack.org/50327008:44
*** bhavik1 has joined #zuul09:45
*** electrofelix has joined #zuul09:53
tobiashtristanC: just discovered a route mismatch on https://review.openstack.org/#/c/50480710:25
tobiashtristanC: added a comment about that10:25
*** bhavik1 has quit IRC10:29
openstackgerritTristan Cacqueray proposed openstack-infra/zuul feature/zuulv3: Serve keys from canonical project name  https://review.openstack.org/50480710:34
tristanCtobiash: thanks, good catch :-)10:36
tristanCjlk: any idea why 504267 would timed out on tox-py35?10:40
*** hashar is now known as hasharAwayu10:46
*** hasharAwayu is now known as hasharAway10:46
*** hasharAway has quit IRC10:55
*** hashar has joined #zuul11:00
tobiashtristanC: does it break locally?11:42
*** jkilpatr has joined #zuul11:59
*** openstackgerrit has quit IRC12:03
*** bhavik1 has joined #zuul12:43
*** bhavik1 has quit IRC12:46
*** openstackgerrit has joined #zuul12:51
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: web: add /{tenant}/builds route  https://review.openstack.org/46656112:51
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: web: make console-stream tenant scoped  https://review.openstack.org/50545212:55
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: web: add /{source}/{project}.pub route  https://review.openstack.org/50253012:55
tristanCmordred: thanks :-)13:00
mordredtristanC: :)13:01
mordredtristanC: I don't know what's up with the gh patch though13:01
*** bhavik1 has joined #zuul13:01
mordredit's still too early for that sort of thing13:01
tobiashtristanC: typically timeouts occur in zuul if a patch breaks almost all test cases due to some little overlooked issue...13:02
tobiashat least that was the case for most of my changes with timeouts ;)13:03
tristanCtobiash: i didn't try this patch locally, actually i don't know much how the gh driver works at all...13:04
*** dkranz has quit IRC13:05
tristanCmordred: what to you mean it's still too early?13:05
mordredtristanC: I mean I'm only on the first cup of coffee - not enough coffee in bloodstream yet :)13:08
*** bhavik1 has quit IRC13:08
openstackgerritMerged openstack-infra/zuul feature/zuulv3: web: add /{tenant}/jobs route  https://review.openstack.org/50327013:14
*** jkilpatr has quit IRC13:16
*** sshnaidm|rover is now known as sshnaidm|afk13:20
openstackgerritMerged openstack-infra/zuul feature/zuulv3: web: add /{tenant}/builds route  https://review.openstack.org/46656113:28
openstackgerritMerged openstack-infra/zuul feature/zuulv3: web: make console-stream tenant scoped  https://review.openstack.org/50545213:36
openstackgerritMerged openstack-infra/zuul feature/zuulv3: web: add /{source}/{project}.pub route  https://review.openstack.org/50253013:37
*** jkilpatr has joined #zuul13:42
tobiashyay, four patches less in my staging branch :)13:47
*** sshnaidm|afk is now known as sshnaidm|rover14:02
*** dkranz has joined #zuul14:15
openstackgerritTobias Henkel proposed openstack-infra/zuul feature/zuulv3: Add stackdumphandler to zuul-web  https://review.openstack.org/52608614:50
fungiit was suggested in #openstack-infra a few minutes ago that we still want to provide a default/generic "base" job in our standard library, as described in the user guide15:58
fungithere was previously one in zuul-jobs which got removed, and so we likely need something like a zuul-base-jobs repo (name suggested by jeblair) to contain this instead15:59
fungido we expect to provide multiple base jobs in zuul-base-jobs (i'm supposing so from the plurality of its name)?15:59
fungiand is the idea that people could fork zuul-base-jobs to use as their config repository, or that they would choose whether to keep their base job in a config repository vs include the zuul-base-jobs repo?15:59
jeblairfungi: we currently have multiple base jobs, though they are mostly in service of testing the actual base job.  it's possible they will have a part to play in zuul-base-jobs...16:00
fungiahh, right the base-test job could go in there too?16:00
fungis/could/should/16:00
jeblairfungi: i think if we get the "generic" base job(s) just right, and folks trust us, they could directly use the repo.  if either of those things aren't true, forking or copying would be the way.  i think we want to push hard on the idea that folks should not fork zuul-jobs, but i don't think we can be as confident with zuul-base-jobs.16:01
jeblairfungi: re base-test -- maybe?  i haven't thought all that through yet :|16:02
fungii'm happy to spin this piece up quickly since it seems to be tripping up early adopters. seems like something we want before general availability of 3.016:02
jeblairfungi: ++ thanks16:02
fungiwriting up the new repo creation change for it now16:02
jeblairfungi: i'm pretty sure the default base job will be a little different from what we are using right now -- at least until tobiash's work to completely genericize our repo sync is done...16:03
jeblairin the mean time, the default base job can use the prepare-workspace role16:03
fungiyeah, at a minimum (as also came up in the -infra discussion just now) we probably need to not include the mirror setup role16:03
pabelangerI raised the idea the other day about maybe splitting out base job into trusted / untrusted parts too. To aid in testing changes. Right now something like configure-unbound really doesn't need to be trusted, it only is because it exists in the config-project.16:04
fungipabelanger seemed to imply including add-build-sshkeys may be useful at least16:04
jeblairpabelanger: i don't want to add another level of inheritance -- it's too inefficient to do that for every job.  however, the role doesn't have to be in project config, and can be externally tested.16:05
sshnaidm|roverpabelanger, jeblair, hi, I wonder if we can ensure these stories are in roadmap and not got lost: https://storyboard.openstack.org/#!/story/2001353 https://storyboard.openstack.org/#!/story/200135416:08
pabelangerjeblair: right, the role does exist in zuul-jobs, but added as role into base, today. Meaning we lose depends-on. As for inefficient, could you expand more on that?16:08
jeblairsshnaidm|rover: thanks!  i tagged them with the future work tag (zuulv3.x), so they're on the roadmap now -- we may move them up and assign them to a specific release the next time we re-evaluate it.16:10
jeblairpabelanger: every item in the inheritance path adds more work to zuul.  if it's something we do for every job, we should keep it in 'base' rather than adding another level.16:11
sshnaidm|roverjeblair, great, thanks!16:12
jeblairpabelanger: moreover, base jobs can only be defined in config repos, so i'm not sure we could split it anyway.16:12
pabelangerjeblair: ah, okay. make sense.16:13
fungioh, hrm, i guess we already have a zuul-base-jobs repo16:20
fungijust needs content16:21
jeblairi'm going to admininstrative -2 some changes that are up for review that are not in the v3.0 roadmap and warrant significant discussion/review before we merge them.  i don't mean that to discourage anyone, but rather just to help us focus on the immediate things.17:12
*** JasonCL has quit IRC17:16
fungilooking at the base jobs we have in project-config, our configuration of the validate-host also seems pretty openstacky... what's a good zuul_traceroute_host instead of git.openstack.org? can we assume /etc/dib-builddate.txt is likely to exist for most generic deployments?17:18
jeblairfungi: i'm not sure the first thing is really necessary in a standard base job... and no, we should definitely not assume the second thing.  folks may use stock cloud images instead of dib.17:19
fungii'm noticing we set these in base-minimal but not in base17:19
fungibase presumably picks up the role's defaults from zuul-jobs17:20
fungilooks like the role skips the traceroute if zuul_site_traceroute_host is undefined17:20
fungihowever our defaults for zuul_site_image_manifest_files are /etc/dib-builddate.txt and /etc/image-hostname.txt17:21
jeblairfungi: re defaults: yes that seems likely.17:22
jeblairfungi: does the role perhaps gracefully handle those files being absent?17:22
jeblairif so, maybe it's okay.17:22
fungiwould it make more sense to adjust the zuul_site_image_manifest_files for the role in zuul-jobs to something more generic?17:22
fungi(or stop shipping a default if the task does a no-op on the operations needing that variable?)17:23
*** JasonCL has joined #zuul17:24
fungiand yeah, looks like the zuul_debug_info.py script will no-op image manifest check if the variable is empty17:25
fungidoes a for loop over the list, so will just do nothing in the presence of an empty list17:26
openstackgerritDavid Shrewsbury proposed openstack-infra/zuul feature/zuulv3: WIP: Add finger gateway  https://review.openstack.org/52527617:27
fungii suppose if the base job includes that role, the role can have variables passed in by a descendant of the base job, hence it makes sense to keep the role itself?17:28
fungibecause if we pass neither variable into it, looks like that role does nothing at all by default17:28
fungi(at least, once we remove the defaults from the role definition)17:29
openstackgerritMonty Taylor proposed openstack-infra/zuul-jobs master: Source nvm before using it  https://review.openstack.org/52612917:30
jeblairtristanC: comments on 468624 (static driver)17:33
jeblairShrews: i just +2d 488384 -- you +2d it a while ago.  do you want to re-review or push it through?17:40
ShrewsShrews: lemme check real quick17:40
Shrewsjeblair: +A'd. i think mordred and myself were just waiting for you to take a look first17:43
jeblairShrews: cool17:43
clarkbfungi: if the role does nothing by default seems like you should just include the role in a child job?17:46
Shrewsjeblair: how do you like logging handler names to be formatted? Is "zuul.<CLASSNAME>" preferable to, say, "zuul.log_streamer.<CLASSNAME>"? might as well clean that up while in that code17:46
*** hashar is now known as hasharDinner17:46
clarkbthat would likely make reading job defs clearer to people if they are in the noop category of user for the role17:46
jeblairShrews: i think we need to move to logical handler names and not focus on classnames.  so maybe just "zuul.log_streamer"  or something.17:47
Shrewsjeblair: k17:47
jeblairmordred: can you review https://review.openstack.org/518620 please?  should be quick17:58
mordredjeblair: looking18:00
clarkbunfortunately that is cloud dependent18:00
clarkbsee also rax18:00
fungiclarkb: my reasoning was that if the role can be configured in a child job but is a no-op without passing any variables then perhaps it still makes sense to include so that child jobs don't need to include the role, but you're right it's as many characters in the child job definition either way18:01
clarkbprobably wouldn't hurt to have a "If your cloud uses security groups" prefix?18:01
clarkbfungi: ya I just worry that it could potentially be a bad fork in the road for someone debugging their jobs when that should be a noop for them18:01
mordredjeblair: that makes me want to come back and ponder if we should expose that as a setting ... but for now that seems like a fine patch18:02
clarkbthis is also a greater problem with openstack18:03
clarkbits super common for people to have networking problems not realizing the default firewall is no traffic18:03
fungiclarkb: so at that point, once i strip down the openstackisms from our base job, the only thing it has which base-minimal lacks is the mirror-workspace-git-repos role... is that also overly openstacky? if so i can likely drop base-minimal since it will be identical to base at that point18:03
*** haint has quit IRC18:04
fungimirror-workspace-git-repos looks useful and generic enough to keep in base i guess18:05
clarkbthat is what copies the prepped git repos to the test nodes right?18:05
clarkbI think that should probably be kept18:05
jeblairfungi: mirror-workspace-git-repos is probably too openstacky right now, until tobiash finishes his work to genericize it.  we probably need prepare-workspace instead.18:05
jeblair(unless that landed when i wasn't looking)18:05
fungiahh, okay18:06
tobiashjeblair: I hadn't yet time to do that18:06
fungii'll swap it out, thanks18:06
tobiashit's on my todo list18:06
fungiis prepare-workspace enough divergence between base and base-minimal to bother including a base-minimal in the stdlib then?18:06
clarkbfungi: probably useful for jobs that don't manipulate source code18:07
clarkblike rtfd or whatever18:07
fungisounds reasonable18:07
fungiand having base-test be identical to base is still useful simply because it allows you to do shadow testing on changes to base, i suppose?18:08
jeblairwell, prepare-workspace will dtrt if there are no remote nodes, so base should still be used18:09
jeblairbase-minimal is only used for testing base18:09
jeblairi think dmsimard had some patches to rename it?18:09
fungiseems like one of base-minimal or base-test ought to be dropped from the stdlib set ni that case?18:09
jeblairfungi: i think i'd start with only including base and base-test in zuul-base-jobs.18:10
fungithanks, will do18:10
jeblairlet's add base-minimal (or whatever it's renamed to) if/when we decide we need it for testing roles there18:10
dmsimardjeblair: I have the first patch out of the series done18:11
dmsimardhaven't got around to making the others18:11
openstackgerritMerged openstack-infra/nodepool feature/zuulv3: Refactor provider config to driver module  https://review.openstack.org/48838418:11
dmsimardchasing a shade bug right now but I can put up the other patches after18:11
openstackgerritFabien Boucher proposed openstack-infra/zuul feature/zuulv3: WIP: Git driver  https://review.openstack.org/52561418:12
openstackgerritFabien Boucher proposed openstack-infra/zuul feature/zuulv3: WIP: Git driver  https://review.openstack.org/52561418:12
*** nguyentrihai has joined #zuul18:14
openstackgerritMerged openstack-infra/nodepool feature/zuulv3: Improve test case node_assignment_at_quota  https://review.openstack.org/50613418:15
openstackgerritMerged openstack-infra/nodepool feature/zuulv3: Reorg non detailed instance listing columns  https://review.openstack.org/52210318:16
jeblairShrews: just to double check: 505354 will work with ansible 2.3 as well, right?18:19
jeblairi mean... it passes tests.  i just want to make sure i'm not missing something.  :)18:19
Shrewsjeblair: oh yeah, totally works18:20
Shrewsjeblair: there might be something we have to do with the custom modules we have (mordred had a fix, but the code diverged and i had to remove that squash from that change), but that should get us most of the way to 2.4.1 compatible18:22
Shrewsjeblair: 2.4.0 will NOT work for us, btw18:22
jeblairShrews: cool, i +3d that so we don't lose it at least18:22
jeblairtobiash: can you review https://review.openstack.org/514119 please?18:22
tobiashlooking18:23
Shrewsugh, i'm about to climb back into asyncio hell for a bit. if i don't respond quickly, i'll poke my head out to check in eventually18:25
tobiashjeblair: this is the last of this transform series right?18:25
tobiashah no, the middle18:26
jeblairtobiash: i think there's going to be one more to remove _projects18:26
tobiashyeah, that was what confused me18:26
tobiashI was thinking we are already at the last step18:27
jeblaireverything in openstack has (hopefully) been converted to _projects.  this lets us rename everything back to projects.  then we can drop.18:27
tobiashlooks good to me18:27
openstackgerritJeremy Stanley proposed openstack-infra/zuul-base-jobs master: Initial boilerplate, packaging and testing  https://review.openstack.org/52613918:28
openstackgerritJeremy Stanley proposed openstack-infra/zuul-base-jobs master: Add generic base and base-test jobs/playbooks  https://review.openstack.org/52614018:28
fungithose ^ will be wip until i confirm some testing is happening18:29
openstackgerritTobias Henkel proposed openstack-infra/zuul feature/zuulv3: Move github webhook from webapp to zuul-web  https://review.openstack.org/50426718:29
tobiashtristanC, jlk: ^^ should at least pass the tests18:29
tobiashthe actual event ingestion via zuul-web is still untested there as I faked the event ingestion in the tests to directly use gearman18:29
tobiashspawning a zuul-web for each test case seems like overkill to me so this should be a separate test case18:30
clarkbtobiash: jeblair I found a small doc nit in that projects dict change, I'll push a followup18:31
jeblairclarkb: oh thanks18:32
tobiashgood catch18:32
tobiashjeblair: regarding the max-quota-age18:32
tobiashI'm not sure what a reasonable default should be18:32
tobiashI can imagine that this depends on the use case18:32
tobiashif you have nodepool in its own tenant, this can and should be larger18:33
jeblairtobiash: is it a very expensive operation?  maybe just sticking with 60s is okay?18:33
tobiashif the tenant is shared with many volatile vms it should be much less18:33
jeblairtobiash: but if it's wrong, we invalidate it immediately anyway, so that's not so bad18:34
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Fix mixed canonical/non-canonical project merge  https://review.openstack.org/51333118:34
openstackgerritMerged openstack-infra/nodepool feature/zuulv3: Document security group  https://review.openstack.org/51862018:35
tobiashjeblair: I think the operation is at least potentially expensive18:35
clarkbiirc nova at least heavily caches its quota values18:36
tobiashyes, the invalidation happens at least if we run into the quota18:36
clarkbwe might want to set it as a multiple of the nova cache period18:36
jeblairtobiash: basically, i think the immediate invalidation makes it okay to have it not be very frequent in the shared case.  that lets us pick an interval that won't seem too long if the quota expands again.  so something between 1 and 5 minutes sounds reasonable.18:36
tobiashwell, so I'm fine with 60s18:37
openstackgerritJeremy Stanley proposed openstack-infra/zuul-base-jobs master: Initial boilerplate, packaging and testing  https://review.openstack.org/52613918:37
openstackgerritJeremy Stanley proposed openstack-infra/zuul-base-jobs master: Add generic base and base-test jobs/playbooks  https://review.openstack.org/52614018:37
tobiashjust thought, someone might want to tune this ;)18:37
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Changes for Ansible 2.4  https://review.openstack.org/50535418:39
jeblairtobiash, clarkb: i asked in #openstack-nova about cache periods18:39
tobiashthanks18:39
jeblairtobiash: i'd prefer to have as few options as possible, so it's not confusing for operators.  so if we can pick a value that should generally work, i'd like to do that.  only if there's something that really needs tuning should we offer an option.18:40
jeblair(i mean, even we don't know what to set it to right now.  :)18:40
tobiashjeblair: yeah, as nodepool does list_servers anyway it might not be that expensive18:45
tobiashbut in my older cloud I've seen that the list_servers could take up to 60s18:45
tobiash(without cache)18:45
tobiashand old shade18:45
tobiashso it should be at least 60s18:46
jeblairtobiash: it may not take nova as long to answer a limits query as it does to list servers18:47
tobiashthe limits query is faster18:48
tobiashyes18:48
*** electrofelix has quit IRC18:48
clarkbjeblair: tobiash are we just listing the upper bounds or the usage too?18:48
fungii have a fun catch-22 in https://review.openstack.org/52614018:49
tobiashclarkb: we request the total quota and subtract all foreign vm-usage18:49
tobiashclarkb: the result is the quota available for nodepool18:50
fungidoes the commit message from https://review.openstack.org/491907 four months ago still hold? do we actually want to define zuul-base-jobs as a config repo?18:50
clarkbtobiash: ok so we aren't using the quota usage as reported by nova? I think this is the expensive query to make to nova18:50
fungior do we need to instruct zuul _not_ to load the zuul.yaml in zuul-base-jobs so that we can continue using the one in project-config?18:50
jeblairfungi: we can either do that, or exclude 'jobs' from that repo.18:50
jeblairfungi: (if we add it as a config-project, we'll need to allow it to shadow project-config as well, since it'll duplicate the job)18:51
fungii expect we want to just exclude jobs from it18:51
tobiashclarkb: no, it's using get_compute_limits from shade which just returns the absolute quota without usage18:51
fungijeblair: otherwise that seems like it would get really messy?18:52
tobiashthen we query the server list and sum up the resources of each unknown vm18:52
clarkbtobiash: jeblair in that case I wouldn't be too worried about a long period between checks especially since we invalidate on failure18:52
jeblairfungi: i think they will have nearly the same effect.  adding it as a config-repo might get us a little more syntax validation, but meh.18:52
clarkbabsolute quota doesn't tend to change often ime18:52
fungijeblair: zuul will (or at least is expected to) continue using the base job from project-config even if we set zuul-base-jobs as a config repo then?18:53
tobiashclarkb: but the foreign used quota may18:53
jeblairfungi: yes, if we set it up to shadow18:53
tobiashe.g. two nodepools fighting for quota in the same tenant ;)18:53
jeblairfungi: (zuul-jobs is already set up to shadow in the same way)18:54
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Convert zuul.projects to a dict  https://review.openstack.org/51411918:54
tobiashbut that still would lead to frequent invalidations so I think a longer interval would be ok18:54
tobiashlike a few minutes18:54
fungijeblair: okay. i'll give that a shot. thanks18:55
openstackgerritMerged openstack-infra/zuul-jobs master: Source nvm before using it  https://review.openstack.org/52612918:55
tobiashclarkb, jeblair: so try out 5mins for the start?18:55
tobiashworst thing which could happen would be that nodepool cannot use the full available quota for 5mins18:56
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Add support for shared ansible_host in inventory  https://review.openstack.org/52132418:56
openstackgerritMerged openstack-infra/zuul feature/zuulv3: github: add integration documentation  https://review.openstack.org/52242018:56
pabelangerYay, 521324 merged :)18:57
*** sshnaidm|rover is now known as sshnaidm|afk19:02
openstackgerritClark Boylan proposed openstack-infra/zuul feature/zuulv3: Fix zuul.projects type in docs  https://review.openstack.org/52614919:05
*** ricky_vaca has joined #zuul19:14
*** harlowja has quit IRC19:32
openstackgerritTobias Henkel proposed openstack-infra/nodepool feature/zuulv3: Add cloud quota handling  https://review.openstack.org/50383819:35
openstackgerritTobias Henkel proposed openstack-infra/nodepool feature/zuulv3: Don't fail on quota exceeded  https://review.openstack.org/50305119:35
openstackgerritTobias Henkel proposed openstack-infra/nodepool feature/zuulv3: Make max-servers optional  https://review.openstack.org/50428219:35
openstackgerritTobias Henkel proposed openstack-infra/nodepool feature/zuulv3: Support cores limit per pool  https://review.openstack.org/50428319:35
openstackgerritTobias Henkel proposed openstack-infra/nodepool feature/zuulv3: Support ram limit per pool  https://review.openstack.org/50428419:36
*** harlowja has joined #zuul19:36
*** JasonCL has quit IRC19:36
*** JasonCL has joined #zuul19:45
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Fix zuul.projects type in docs  https://review.openstack.org/52614919:46
openstackgerritTobias Henkel proposed openstack-infra/nodepool feature/zuulv3: Rename ssh_port to connection_port  https://review.openstack.org/50080019:49
openstackgerritTobias Henkel proposed openstack-infra/nodepool feature/zuulv3: Support username also for unmanaged cloud images  https://review.openstack.org/50080819:49
openstackgerritTobias Henkel proposed openstack-infra/nodepool feature/zuulv3: Add connection-type to provider diskimage  https://review.openstack.org/50314819:49
openstackgerritTobias Henkel proposed openstack-infra/nodepool feature/zuulv3: Don't gather host keys for non ssh connections  https://review.openstack.org/50316619:49
openstackgerritTobias Henkel proposed openstack-infra/nodepool feature/zuulv3: Add connection-port to provider diskimage  https://review.openstack.org/50411219:49
*** hasharDinner is now known as hashar19:52
openstackgerritTobias Henkel proposed openstack-infra/nodepool feature/zuulv3: Rename ssh_port to connection_port  https://review.openstack.org/50080020:15
openstackgerritTobias Henkel proposed openstack-infra/nodepool feature/zuulv3: Support username also for unmanaged cloud images  https://review.openstack.org/50080820:15
openstackgerritTobias Henkel proposed openstack-infra/nodepool feature/zuulv3: Add connection-type to provider diskimage  https://review.openstack.org/50314820:15
openstackgerritTobias Henkel proposed openstack-infra/nodepool feature/zuulv3: Don't gather host keys for non ssh connections  https://review.openstack.org/50316620:15
openstackgerritTobias Henkel proposed openstack-infra/nodepool feature/zuulv3: Add connection-port to provider diskimage  https://review.openstack.org/50411220:15
SpamapSHm I've just run into a rather odd situation.20:15
SpamapSHave a private repo full of sensitive stuff.20:16
SpamapSWant to run tests on that sensitive stuff, but do _not_ want to allow other projects to add it to required-projects.20:16
SpamapSThoughts?20:16
SpamapS(I mean other than.. don't do that.. encrypt that stuff... which _is_ the plan.. some day. ;)20:17
openstackgerritTobias Henkel proposed openstack-infra/zuul feature/zuulv3: Rename ssh_port to connection_port  https://review.openstack.org/50079920:19
tobiashSpamapS: put it into a different tenant?20:20
tobiashI will do that for separating projects from each other20:20
jeblairyeah, i think that's the way to go.  more granular separation within a tenant would be problematic i think.20:21
tobiashsome common used projects like zuul-jobs still can be part of each tenant20:22
tobiashmy plan is to have a trusted base repo, zuul-jobs and an internal cilib repo shared for all tenants20:23
*** ricky_vaca has quit IRC20:24
harlowjaSpamapS don't have repo full of private stuff :(20:24
harlowjasee uber, lol20:24
tobiashand each tenant gets its own additional trusted where it can put its own secrets and intermediate base jobs20:24
*** JasonCL has quit IRC20:26
*** cinerama` has quit IRC20:31
*** kklimonda has quit IRC20:31
*** xinliang has quit IRC20:31
*** fbo_ has quit IRC20:31
SpamapSOh tenant is actually sufficient.20:33
*** hashar_ has joined #zuul20:33
SpamapSThanks!20:33
jeblairpabelanger: some minor doc -1s on the command socket changes; the actual code lgtm.20:34
pabelangerjeblair: thanks, will look in a moment20:35
*** hashar has quit IRC20:37
*** qwc has quit IRC20:41
*** JasonCL has joined #zuul20:44
*** cinerama` has joined #zuul20:47
*** kklimonda has joined #zuul20:47
*** xinliang has joined #zuul20:47
*** fbo_ has joined #zuul20:47
jeblairfbo_: left some comments on the git driver change20:48
*** jkilpatr has quit IRC20:54
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Remove file extension when building SimpleLayout  https://review.openstack.org/52535620:58
*** qwc has joined #zuul20:59
*** harlowja has quit IRC21:00
*** harlowja has joined #zuul21:03
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Add command socket support to zuul-merger  https://review.openstack.org/52319721:06
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Update playbook paths with extension  https://review.openstack.org/52535921:07
*** qwc has quit IRC21:11
*** JasonCL has quit IRC21:12
*** qwc has joined #zuul21:12
*** harlowja has quit IRC21:32
*** dkranz has quit IRC21:35
*** openstackgerrit has quit IRC21:38
*** sshnaidm|afk has quit IRC21:38
*** tushar has quit IRC21:38
*** leifmadsen has quit IRC21:38
*** qwc has quit IRC21:41
*** qwc has joined #zuul21:44
*** qwc has quit IRC21:49
*** qwc has joined #zuul21:50
*** hashar_ has quit IRC21:56
*** openstackgerrit has joined #zuul22:01
*** sshnaidm|afk has joined #zuul22:01
*** tushar has joined #zuul22:01
*** leifmadsen has joined #zuul22:01
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Move send_command() into ZuulApp  https://review.openstack.org/52321122:08
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Add command socket support to zuul-scheduler  https://review.openstack.org/52346622:19
*** jkilpatr has joined #zuul22:20
*** harlowja has joined #zuul22:36
clarkbis '2017-12-06 22:58:21,793 INFO nodepool.driver.openstack.OpenStackNodeRequestHandler[nl02.openstack.org-29835-PoolWorker.citycloud-sto2-main]: Node request 200-0001391414 disappeared' normal? because it seems to result in tracebacks23:06
clarkbjeblair: wondering if maybe that is a side effect of releasing nodesets more frequently due to window changes or other changes in zuul23:06
clarkbhttp://paste.openstack.org/show/628319/ is the traceback, I don't think its much of a concern other than it dirties up the logs and makes it harder to find actual errors23:08
clarkbhrm there are 1260 occurences of that exact request disappearing in the log though23:09
jeblairwell that doesn't seem right23:09
jeblaironce seems like enough23:10
clarkbya I wonder if the pool worker is attempting to clean it up in a loop?23:13
clarkbseems like state got lost somewhere23:13
*** openstack has joined #zuul23:31
*** ChanServ sets mode: +o openstack23:31
clarkbI'm going to check the zk db directly to see if that request is there at all23:40
clarkbbut I'm guessing I can just update nodepool to drop the handler if the request has properly gone away23:40
clarkbthat request is indeed just missing from zk23:41
clarkbI think launcher._cleanupNodeRequestLocks and _removeCompletedHandlers are racing each other23:54
clarkbShrews: ^ does that seem possible? basically cleanupNodeRequestLocks is removing the request lock before removeCompeltedHandlers can remove the handler23:55
clarkbwhich results in the exception in the above traceback23:55
clarkbalso we appear to still leak node request locks in zookeeper there are far more of them than there are node requests23:56

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