Thursday, 2018-11-08

manjeetscorvus, ping (still there I've got a question ) regarding config project00:38
manjeetsI forked zuul-config here in https://github.com/manjeetbhatia/zuul-config and defined a project and modified pipeline to just have check https://github.com/manjeetbhatia/zuul-config/blob/master/zuul.d/projects.yaml00:39
manjeetsand I modified zuul-ci.org part http://paste.openstack.org/show/734385/ in zuul_conf00:41
manjeetsand trying to see a comment here https://review.openstack.org/#/c/612818/ which never get posted i saw event for that change been streamed on setup00:43
openstackgerritIan Wienand proposed openstack-infra/nodepool master: Use openstacksdk submit_task  https://review.openstack.org/61638700:51
ianwhrm, anyone know anything about the nodepool kubernetes job?01:03
ianw2018-11-08 00:59:04.366651 | ubuntu-xenial | [ERROR SystemVerification]: unsupported docker version: 18.09.001:03
tristanCianw: seems like this version of minikube doesn't work anymore on that node.01:08
ianwi guess ubuntu bumped a version?01:08
tristanCianw: or minikube, it seems like we are installing the latest01:09
ianwoh, that makes sense, minikube stopped supporting that01:10
ianwthere hasn't been a release01:10
openstackgerritTristan Cacqueray proposed openstack-infra/zuul-jobs master: install-kubernetes: pin minikube version by default  https://review.openstack.org/61638801:12
ianw18.0901:13
ianw2018-11-08 ... docker01:13
openstackgerritTristan Cacqueray proposed openstack-infra/nodepool master: DNM: test older minikube version  https://review.openstack.org/61638901:13
ianwtristanC: ^^ commented in above, don't we need to pin docker?01:15
tristanCianw: can we do that?01:18
ianw... ? :)01:19
openstackgerritIan Wienand proposed openstack-infra/zuul-jobs master: [wip] add docker package pin option  https://review.openstack.org/61639101:52
openstackgerritTristan Cacqueray proposed openstack-infra/zuul-jobs master: install-kubernetes: enable minikube version pinning  https://review.openstack.org/61638801:56
tristanCianw: i meant, since it comes from distro, isn't the version we need going to be removed eventually?01:58
ianwtristanC: well it comes from the upstream repos i think, but i'm not sure what they keep around in there, as you say it may not be there01:59
ianwanyway, good excuse to get back to the docker role stuff i've had on the backburner01:59
ianwoh, haha i just realised i rewrote that anyway02:40
openstackgerritIan Wienand proposed openstack-infra/nodepool master: [dmn] test pinning docker version  https://review.openstack.org/61639802:50
openstackgerritIan Wienand proposed openstack-infra/zuul-jobs master: [wip] add docker package pin option  https://review.openstack.org/61639102:56
openstackgerritIan Wienand proposed openstack-infra/nodepool master: [dmn] test pinning docker version  https://review.openstack.org/61639803:04
*** fungi has quit IRC03:06
*** fungi has joined #zuul03:09
*** fungi has quit IRC03:10
openstackgerritIan Wienand proposed openstack-infra/zuul-jobs master: install-docker: add package version option  https://review.openstack.org/61639103:18
*** mrhillsman has joined #zuul03:19
openstackgerritIan Wienand proposed openstack-infra/nodepool master: Pin docker for k8s test  https://review.openstack.org/61639803:21
openstackgerritIan Wienand proposed openstack-infra/nodepool master: Use openstacksdk submit_task  https://review.openstack.org/61638703:21
openstackgerritIan Wienand proposed openstack-infra/nodepool master: Revert "Pin docker for k8s test"  https://review.openstack.org/61640403:21
ianwtristanC: ^ i think that little stack gets us back on track ...03:21
openstackgerritIan Wienand proposed openstack-infra/nodepool master: Pin docker for k8s test  https://review.openstack.org/61639803:24
openstackgerritIan Wienand proposed openstack-infra/nodepool master: Use openstacksdk submit_task  https://review.openstack.org/61638703:24
openstackgerritIan Wienand proposed openstack-infra/nodepool master: Revert "Pin docker for k8s test"  https://review.openstack.org/61640403:24
tristanCianw: nice!03:38
*** fungi has joined #zuul03:40
*** fungi has quit IRC03:41
openstackgerritIan Wienand proposed openstack-infra/zuul-jobs master: install-docker: add package version option  https://review.openstack.org/61639103:43
ianwtristanC: heh, not yet ... fiddling with the jinja string manipulations ... but i think it will work at least03:43
*** fungi has joined #zuul03:45
tristanCianw: perhaps we should try using minikube with cri-o instead of that docker-ce version issues.03:50
tristanCeverytime i tried k8s, i keep on getting weird errors related to docker...03:51
*** rlandy|bbl is now known as rlandy03:59
openstackgerritTristan Cacqueray proposed openstack-infra/nodepool master: Remove unused nodepool-k8s-functional role  https://review.openstack.org/61640904:05
openstackgerritTristan Cacqueray proposed openstack-infra/nodepool master: Remove nodepool-k8s-functional and install-nodepool roles  https://review.openstack.org/61640904:24
openstackgerritTristan Cacqueray proposed openstack-infra/nodepool master: Implement an OpenShift resource provider  https://review.openstack.org/57066704:29
openstackgerritTristan Cacqueray proposed openstack-infra/nodepool master: Implement an OpenShift resource provider  https://review.openstack.org/57066704:49
openstackgerritTristan Cacqueray proposed openstack-infra/nodepool master: Implement an OpenShift Pod provider  https://review.openstack.org/59033504:52
openstackgerritTobias Henkel proposed openstack-infra/nodepool master: Support node caching in the nodeIterator  https://review.openstack.org/60464806:26
openstackgerritTobias Henkel proposed openstack-infra/nodepool master: Support node caching in the nodeIterator  https://review.openstack.org/60464806:29
openstackgerritTobias Henkel proposed openstack-infra/nodepool master: Rate limit updateNodeStats  https://review.openstack.org/61368006:35
tristanCtobiash: what do you think about the unified stat interface to support prometheus proposed in the last comment of https://review.openstack.org/#/c/599209/ ?06:46
tobiashtristanC: are you in berlin next week?06:47
tristanCtobiash: yes, but only tuesday/wednesday06:47
tobiashmaybe we should discuss this there06:48
tristanCthat works for me06:49
tobiashI think a monitoring driver would be a little bit more complex as it would need to abstract different methologies (path based mapping vs labels)06:49
tristanCtobiash: i suggested to use a path based string format by default to keep statsd support, and prometheus would use the kwargs as labels06:51
tristanCbut perhaps i'm missing some corner cases, i haven't look at the all the current statsd metrics06:53
tristanCi've added the interface argument documentation in a new comment on 59920907:01
*** quiquell|off is now known as quiquell07:03
openstackgerritAndreas Jaeger proposed openstack-infra/zuul-jobs master: install-docker: add package version option  https://review.openstack.org/61639107:10
openstackgerritAndreas Jaeger proposed openstack-infra/zuul-jobs master: install-kubernetes: enable minikube version pinning  https://review.openstack.org/61638807:11
openstackgerritTristan Cacqueray proposed openstack-infra/nodepool master: Implement a Runc driver  https://review.openstack.org/53555607:23
*** pcaruana has joined #zuul07:34
openstackgerritTristan Cacqueray proposed openstack-infra/nodepool master: Implement a Runc driver  https://review.openstack.org/53555607:47
*** quiquell is now known as quiquell|brb07:49
openstackgerritTristan Cacqueray proposed openstack-infra/nodepool master: Implement an OpenShift resource provider  https://review.openstack.org/57066708:02
openstackgerritTristan Cacqueray proposed openstack-infra/nodepool master: Implement an OpenShift Pod provider  https://review.openstack.org/59033508:02
*** themroc has joined #zuul08:10
openstackgerritTobias Henkel proposed openstack-infra/nodepool master: Update node during lockNode  https://review.openstack.org/61645008:14
tobiashcorvus: this implements your idea of updating a node in lockNode ^08:15
*** quiquell|brb is now known as quiquell08:17
*** jpena|off is now known as jpena08:36
*** hashar has joined #zuul08:37
*** sshnaidm|afk is now known as sshnaidm|rover08:54
openstackgerritTobias Henkel proposed openstack-infra/nodepool master: Update node during lockNode  https://review.openstack.org/61645009:07
openstackgerritTobias Henkel proposed openstack-infra/nodepool master: Add extra safety belt when reusing a node  https://review.openstack.org/61646509:07
*** CrayZee has joined #zuul09:48
*** CrayZee is now known as Guest3121209:48
*** Guest31212 has quit IRC09:49
*** ssbarnea has joined #zuul09:50
*** snapiri- has joined #zuul09:52
openstackgerritSimon Westphahl proposed openstack-infra/nodepool master: wip: Try optimizing node lock check  https://review.openstack.org/61648409:58
*** CrayZee- has joined #zuul09:59
*** CrayZee- has quit IRC09:59
openstackgerritTobias Henkel proposed openstack-infra/nodepool master: Support node caching in the nodeIterator  https://review.openstack.org/60464810:01
openstackgerritTobias Henkel proposed openstack-infra/nodepool master: Update node during lockNode  https://review.openstack.org/61645010:01
openstackgerritTobias Henkel proposed openstack-infra/nodepool master: Add extra safety belt when reusing a node  https://review.openstack.org/61646510:01
*** electrofelix has joined #zuul10:10
*** snapiri- has quit IRC10:19
*** snapiri- has joined #zuul10:20
openstackgerritMerged openstack-infra/zuul-jobs master: install-docker: add package version option  https://review.openstack.org/61639110:23
*** pbrobinson has joined #zuul10:25
*** CrayZee has joined #zuul10:29
openstackgerritMerged openstack-infra/zuul-jobs master: install-kubernetes: enable minikube version pinning  https://review.openstack.org/61638810:30
*** panda|off is now known as panda10:31
*** snapiri- has quit IRC10:32
*** hashar has quit IRC10:51
*** CrayZee_ has joined #zuul11:00
*** CrayZee has quit IRC11:02
*** CrayZee_ has quit IRC11:31
openstackgerritTobias Henkel proposed openstack-infra/nodepool master: Rate limit updateNodeStats  https://review.openstack.org/61368011:38
*** goern has joined #zuul11:41
goernheya, has anyone exported zuul stats to prometheus?11:42
tobiashyes11:42
goern:)11:42
tobiashuse statsd_exporter11:42
tobiash(one per service instance if possible)11:42
tobiashthe required mappings for the statsd_exporter are linked in the comments of https://review.openstack.org/#/c/599209/11:43
* goern never used statsd, but I see the mappings, should be strgfwd11:45
goern@tobiash++11:45
goernthanks for the pointer11:46
tobiashno problem11:46
*** jpena is now known as jpena|lunch12:03
*** quiquell is now known as quiquell|lunch12:24
*** rlandy has joined #zuul12:51
*** AJaeger_ has joined #zuul12:52
*** AJaeger has quit IRC12:55
openstackgerritMerged openstack-infra/nodepool master: Only set basepython once  https://review.openstack.org/61594212:57
*** panda is now known as panda|off12:59
mordredtobiash: did we ever discuss putting those in a file in tree somewhere?13:05
tobiashmordred: I'd like to discuss that in berlin13:05
tobiash(if we want to support statsd and/or prometheus)13:06
mordredcool13:06
tobiashif we decide for only statsd I plan to add and maintain the mappings in the zuul tree13:06
tobiashbut I'd like to wait for a decision about that first13:07
mordredI really wish prometheus supported a broadcast mechanism like statsd uses instead of just http polling13:07
tristanCtobiash: why wouldn't we also support "native" prometheus protocol?13:07
mordredtristanC: because it's super heavy-weight and requires an http endpoint13:07
mordredas opposed to processes being able to just emit udp packets13:07
tobiashI think that is the most important point for being discussed in berlin as there has not been a final decision about that13:08
mordredyah13:08
mordredthere hasn't been a final decision - that's just what the basis of the pushback is13:08
mordredit was clearly designed for a world where everything is a web service13:09
mordredbut we have things like the nodepool launchers - which neither have nor need an http endpoint13:09
mordredbut ... prometheus is also clearly a very important part of the k8s ecosystem13:09
goernit not the new default13:10
mordredyeah. my understanding is that people doing k8s basically are automatically going to be doing prometheus13:11
tristanCmordred: adding a periodic http request doesn't sound "super heavy-wieght" compared to the rest of zuul threads, and it would simplify management a lot as it will act as a monitoring probe with simple alerting/trigger action13:13
mordredtristanC: right- but also the stats have to be stored in memory so that they can be reported when polls13:14
mordredpolled13:14
goernand one thing to keep in mind: prometheus is more like metrics and alerting, not really for long term storage of metrics, so if you want to preserve 5 years of metric history....13:15
mordredright. which we do13:15
tristanCmordred: it seems like "just emit udp packets" is also tricky and may requires manual in-memory trick to keep load under control...13:16
mordredtristanC: not really - we've been using it at scale for like 6 years with zero management13:16
mordredand we have all these lovely graphs: http://grafana.openstack.org/d/T6vSHcSik/zuul-status?orgId=113:16
goernthats just grafana.. it doesnt care if it reads from prom or statsd13:17
mordredgoern: yah - that's right13:17
mordredjust saying - we keep and hold all sorts of nice historical data - and we get it for extremely low overhead in each process13:18
mordredbut this is just me grumping - it's definitely a topic we should discuss in berlin - because clearly the prometheus side of the equation isn't going away any time soon13:19
tristanCmordred: i bring the topic back after reading through 613680, which seems to suggest there is also an overhead with statsd protocol13:20
mordredtristanC: sure - there's an overhead ... but there isn't a _development_ overhead13:20
mordredwe don't have to write an http metrics endpoint that can be polled, and add it to every process, and add in-memory metrics storage for it to read from, and maintain that system over time, and add it to every process we use regardless of whether it's a process that otherwise would be looking for in-bound traffic13:21
mordredlike - I have statsd metrics reporting instrumented now inside of openstacksdk -- it happens at the point of out-bound http request/response. how in the world are those metrics supposed to be intercepted and reported through an application layer that does not interact with those http requests at all?13:23
*** jpena|lunch is now known as jpena13:24
*** hashar has joined #zuul13:25
mordred(hopefully this ranting provides good background for folks for our discussion in berlin :) )13:27
tristanCmordred: perhaps detect if the prometheus_client is running and use it to store the openstacksdk metrics too.13:29
mordredtristanC: perhaps. it's solvable, for sure13:30
tristanCfwiw, you don't actually have to write anything, the python client takes care of everything. it's different for sure, but it sounds like a good stack and it doesn't seems difficult to support both statsd and prometheus13:32
mordredtristanC: o_O13:32
tristanCmordred: https://github.com/prometheus/client_python#three-step-demo13:35
goernthe component exporting the metrics (to an http endpoint) is easy, running the http server might be a little bit heavy and something that you dont have with statsd, prometheus server itself is just scraping (and maybe long term storing) from the metrics exporter... it is different, and it introduces a httpd for each component willing to export metrics13:37
tobiashwhat I have to note is that statsd_expoerter oom crashes here once a day (and it has a 400MB limit)13:39
mordredtobiash: that's good to know13:40
*** quiquell|lunch is now known as quiquell13:41
*** _cryptosignal_me has joined #zuul13:42
*** AJaeger_ has quit IRC13:54
*** AJaeger has joined #zuul13:57
*** goern has quit IRC14:02
*** ssbarnea has quit IRC14:02
*** themroc has quit IRC14:02
*** edleafe_ has quit IRC14:02
*** irclogbot_3 has quit IRC14:02
*** bstinson has quit IRC14:02
*** pleia2 has quit IRC14:02
*** dmellado has quit IRC14:02
*** tobiash has quit IRC14:02
*** jlk has quit IRC14:02
*** bstinson_ has joined #zuul14:02
*** themroc has joined #zuul14:04
*** themroc has quit IRC14:04
*** dmellado has joined #zuul14:04
*** themroc has joined #zuul14:04
*** tobiash has joined #zuul14:05
*** ssbarnea has joined #zuul14:07
*** pleia2 has joined #zuul14:07
mordredtristanC: thanks for the pointer - you are right, from an openstacksdk perspective it's not much different to report to prometheus14:29
mordredtristanC: I updated the stats patch there to support both: https://review.openstack.org/#/c/614834/14:30
tristanCit seems like we need to figure out an abstract function to report metrics, then adding prometheus (or something else in the future) should be fairly simple14:41
openstackgerritTobias Henkel proposed openstack-infra/zuul master: WIP: Report tenant and project specific resource usage stats  https://review.openstack.org/61630614:45
openstackgerritTobias Henkel proposed openstack-infra/nodepool master: Add resource metadata to nodes  https://review.openstack.org/61626214:47
tobiashcorvus, mordred: are you aware of merger/depends-on issues?14:49
tobiashchange 616306 resulted in 'This change depends on a change that failed to merge'. However the dependency has no merge conflict.14:50
*** bstinson_ is now known as bstinson14:52
mordredtobiash: it's a timing thing14:54
tobiash?14:54
tobiashit's the check pipeline, not gate14:54
mordredyah - one sec - lemme double check ...14:55
mordred(I'm going to use my local times for this next thing - sorry)14:55
*** _cryptosignal_me has quit IRC14:55
mordredyou uploaded ps 2 of 616306 at 8:45, then ps 3 of its depends on 616262 at 8:47 - that is an update to the depends-on patch while the tests of 616306 is running14:56
mordredso zuul invalidate the ps2 run14:56
mordredwith a merge conflict error14:56
mordredbecause the dependency it calculated at the time the tests started was on ps2 - which isn't going to be the thing that merges14:57
mordredtobiash: I hit this issue all the time over in sdk-land and it drives me a bit batty, but I don't have a better suggestion for what zuul should do differently yet14:57
mordredI kind of wish zuul would just restart the tests on ps2 of 616306 when it's depends-on is updated while it's in the gate ... that would make my personal life better ... but I don't know that it's the correct behavior14:58
tobiashmordred: ah got it14:58
tobiashthx14:58
SpamapSmordred: I think that is correct behavior, because Depends-On always pulls in the latest patch in a depended on change.15:06
mordredSpamapS: yah, I agree. it's just a correct behavior that's annoying to an end user and leads to "git review" ; "recheck" when updating patch series that bounce back and forth between projects15:14
mordredSpamapS: like, project a patch 1 <- project b patch 2 <- project a patch 3 <- project b patch 415:14
mordredthere's no way to push updates to the whole stack that doesn't result in needing to go run recheck comments15:15
mordredbut maybe that's just life and I shoudln't spend as much of my time rebasing interleaved patch stacks :)15:15
*** hashar has quit IRC15:27
corvustristanC: regarding 613680, i think you may have misunderstood the change -- that inefficiency has nothing to do with statsd, that's due to the way we count the nodes (by querying zk) to produce the data.  the problem would be the same with prometheus.  (cc: mordred)15:37
mordredcorvus: ++15:38
corvustobiash: i just had another idea regarding 613680; i left a comment on the change.15:45
JosefWellsI'm still having problems with ansible... I should probably look at your docker quick-start now, but I feel like I'm close.  Added ansible to PATH, but I get:15:45
JosefWellszuul-executor_1   | 2018-11-08 15:43:07,848 DEBUG zuul.AnsibleJob: [build: 46dcd167e1844c41bd8a84fccafc2d3f] Ansible output: b"ImportError: No module named 'ansible'"15:45
JosefWellsbut if I run python3 in the container, and do 'import ansible' it works15:45
corvusJosefWells: can you enable verbose ansible logging by running "zuul-executor verbose", repeat that, and then paste the full traceback which it will output?15:46
JosefWellssure, sounds good, thanks corvus15:47
corvusJosefWells: (you can run 'zuul-executor verbose' while the executor is running to turn verbose logging on; running 'zuul-executor unverbose' will turn it off)15:47
JosefWellsalso, when I comment 'recheck' it doesn't seem to put the PR back into the check pipeline, it maybe ?caches? the results, so I have to update my PR to get this actually show up.. is that intended?15:49
JosefWellsmy zuul.yaml has a pr comment trigger that matches "recheck"15:49
corvusJosefWells: that depends on the pipeline definition -- there must be a comment trigger on the pipeline for that to work; if you paste your pipeline definition we can take a look15:49
JosefWells- pipeline:     name: check     description: |         Newly opened pull requests enter this pipeline to receive an         initial verification     manager: independent     trigger:       qc_github:         - event: pull_request           action:             - opened             - changed             - reopened         - event: pull_request           action: comment           comment: (?i)^\s*recheck\s*$15:50
JosefWellsack, terrible, sorry15:50
corvusJosefWells: you may want to use paste.openstack.org for that :)15:50
JosefWellsindeed15:50
JosefWellshttp://paste.openstack.org/show/734428/15:51
corvusJosefWells: that certainly looks right -- at least, it matches what we have -- you might be able to look at scheduler debug logs to see if there are any clues there.  that's the part that processes those events and decides what to do with them15:53
tobiashcorvus: that's a great idea15:56
tobiashRate limited stats update triggered by cache updates15:56
tobiashI'll try that when I have time15:56
corvustobiash: i'm trying to drop the rate limiting :)15:58
corvustobiash: granted, maybe that should wait until after the Node objects are cached to avoid the json parsing.  but once we have the right data in memory, it should be almost no cost to emit an update in real time.15:59
tobiashcorvus: there will be still a cost iterating over a thousand nodes which I think isn't needed several times a second16:01
corvustobiash: sure, but computers can count to a thousand *very* fast these days :)  to me, it's worth it to have the real-time info.16:03
tobiashexcept if we can manage to cache the states itself and just increment/decrement16:03
corvustobiash: that would be fine too, but i think when we get this down to 0.001 seconds, it's not going to matter that much16:03
tobiashok, let's try this out and maybe we should also measure how much time it spends during stats updating16:06
tobiashif we get these events per node we can do that incrementally without looping over all nodes (maybe loop over all every x updates to be sure)16:06
tobiashthat would be fast enough probably16:07
corvustobiash: yeah.  and if we need to do periodic, that's fine.  i'm just trying to keep the complexity down.  :)16:07
JosefWellsHere is the chunk of logs after setting verbose16:09
JosefWellshttp://paste.openstack.org/show/734431/16:09
JosefWellsI could set PYTHONPATH in the container, but that seems odd as /usr/bin/python can see it16:10
corvusJosefWells: can you tell us more about how you installed zuul (and whether you installed ansible separately?)16:11
JosefWellsmy docker files are here: https://github.com/josefwells/zuul-docker although I have updated them a bit16:12
JosefWellsbasically just pip install zuul16:12
JosefWellsoh, wow yeah, those dockers are before I understood how to docker16:12
JosefWellsbut the install hasn't changed just how I run, docker-compose, etc16:13
JosefWellsI should just look at the 'official' one and stop pestering you guys, just want to make sure I'm not missing something fundamental16:13
*** pcaruana has quit IRC16:14
JosefWellsI only have zuul and friends installed in the containers, the static nodepool I'm using should be assumed to have nothing modern or useful installed other than ssh16:14
JosefWellsI don't need ansible or zuul anywhere else right?16:14
corvusJosefWells: well, one thing you could do is use our new upstream images (we publish them on every commit); that's what the example docker-compose does16:17
corvusi'm having trouble connecting to github so i can't see the dockerfile right now16:17
JosefWellsbetter if you don't, they don't reflect what I've got now16:18
JosefWellsI should be able to execute that ansible command on the executor and explore more16:19
*** panda|off is now known as panda|rover16:19
JosefWellsHmm, I guess the ansible.cfg is no longer there16:20
corvusJosefWells: you can run 'zuul-executor keep' and zuul will keep the temporary build dirs16:20
JosefWellscool16:21
JosefWellsansible_python_interpreter: /usr/bin/python216:24
JosefWellsseems wrong in inventory.yaml16:24
JosefWellspyhton2 doesn't have ansible importable16:25
corvusJosefWells: i believe that just tells ansible to run python2 on the remote side (which is apparently necessary if you run ansible under python3 on the local side)16:25
JosefWellshmm ok16:25
*** themroc has quit IRC16:36
mordredcorvus: it may not be necessary any longer now that we're on newer ansible- we should really investigate whether we need to keep doing that16:38
*** quiquell is now known as quiquell|off16:39
*** sshnaidm|rover is now known as sshnaidm|notrove16:46
corvusJosefWells: i don't have a lot of experience with 'pip3 install --user' zuul.  i know that installing it in a virtualenv should work, as well as installing it globally as root.16:48
corvusJosefWells: if you want to continue to dig into this, it might be "fun".  :)  if you just want to get something working, you might consider switching to the upstream images on dockerhub, or updating your dockerfile to install zuul and nodepool as root in your image.16:49
corvusmordred: ^16:49
*** sshnaidm|notrove is now known as sshnaidm|wknd16:53
tobiashcorvus: re cache triggered stats. We might want to elect a 'stats leader' in order to avoid cluttered graphs caused by multiple nodepools updating the same stats with slightly different versions of the data17:00
tobiashFortunately there is also a kazoo tecipe for that :)17:01
corvusthey think of everything17:01
*** panda|rover is now known as panda|rover|off17:02
openstackgerritFabien Boucher proposed openstack-infra/zuul master: WIP - Pagure driver  https://review.openstack.org/60440417:09
tobiashThis is needed to unbreak nodepool: https://review.openstack.org/#/c/61639817:14
tobiash(k8s functional job)17:14
clarkbtobiash: approved17:14
tobiashThx17:15
*** edleafe_ has joined #zuul17:36
openstackgerritMerged openstack-infra/nodepool master: Pin docker for k8s test  https://review.openstack.org/61639817:38
*** sshnaidm|wknd is now known as sshnaidm|off17:42
*** jlk has joined #zuul17:43
openstackgerritJames E. Blair proposed openstack-infra/nodepool master: Convert kubernetes config docs to zuul-sphinx  https://review.openstack.org/61664317:45
corvustristanC, Shrews, ianw: ^17:45
*** jpena is now known as jpena|off17:51
openstackgerritJames E. Blair proposed openstack-infra/nodepool master: Alter the metasyntactic variable in driver docs  https://review.openstack.org/61664617:58
openstackgerritJames E. Blair proposed openstack-infra/nodepool master: Normalize sidebar in docs  https://review.openstack.org/61664918:01
*** irclogbot_3 has joined #zuul18:02
*** pcaruana has joined #zuul18:10
SpamapScorvus: Ok I think I get what you were trying to tell me yesterday18:19
SpamapScorvus: so, zuul-base-jobs, and zuul-jobs, it sounds like, need to be always be in a connection that uses git.zuul-ci.org, not git.openstack.org/openstack-infra?18:19
SpamapSbe always be18:19
* SpamapS needs more coffee18:19
corvusSpamapS: zuul-jobs doesn't care, but zuul-base-jobs does; so if you use zuul-base-jobs directly, yes.  (or you can fork it and modify it).18:27
*** jimi|ansible has joined #zuul18:29
SpamapSIndeed, that fixed it18:33
SpamapScorvus: will there be some kind of stable tag or branch I can attach to for zuul-base-jobs? This broke me "some time between september and last week"18:37
SpamapSI can of course run a local mirror and submit PR's that run my tests, just wondering if there will be something lighter weight than that.18:38
clarkbI don't think zuul can pin its configs to a specific ref?18:40
clarkb(so even if there were tags it would roll forward as there were updates)18:40
SpamapSyeah, I wasn't sure how it could be done either.18:42
SpamapSand I was riding the lightning a little setting up zuul-base-jobs and "run from master" zuul anyway, so I'll also accept like "we won't break it again" as an answer. :)18:42
SpamapSI *think* though, the right thing is going to be to have a local mirror of zuul-base-jobs whose sync job runs some generic "can *this* zuul use these jobs" tests before merging.18:43
corvuswe should try not to break it again.  :)  i think there probably at least should have been an announcement about that; i think the reviewers must have overlooked the possibility of breakage there.18:43
SpamapSIt's possible I missed the announcement in the whole "finding and starting a new job" chaos between September and Now. :)18:44
SpamapSso, my question is more meta... just wondering what the strategy for zuul-base-jobs will be for less-involved users.18:44
corvusfungi, AJaeger, tobiash: ^ https://review.openstack.org/599607 probably warranted an announcement18:45
SpamapSOne thing I was thinking is that if you *could* make zuul-base-jobs use a tag somehow in the tenant config, it would allow users to do the traditional "read the release notes, update the version" flow.18:45
tobiashcorvus: oops, you're right18:47
tobiashSpamapS: sorry for tha18:47
corvusSpamapS: i think we could implement that without too much difficulty, but i think there would be a large cognitive overhead to making releases of zuul-jobs which i don't think will be worth it.  we've actually been pretty good about keeping zuul-jobs CD-able -- i think we can manage to do that.18:48
*** caphrim007 has joined #zuul18:52
SpamapScorvus: cool that's great news.18:52
tobiashcorvus: I just had a crazy idea about these cross references18:53
tobiashcorvus: what if we would be able to attach some kind of uuid that zuul understands to the repo so we can reference such public repos via uuid18:54
tobiashthen this wouldn't depend on how connections are named or if this is a private but unpatched fork18:55
SpamapSI was thinking the opposite. Not a UUID, but symbolic names, with defaults that point to the physical location.18:55
*** electrofelix has quit IRC18:55
tobiashaliases in the tenant config?18:55
tobiashyes, probably easier18:56
SpamapSSo, upstream:zuul-jobs could be mapped to  https://git.openstack.org/openstack-infra/zuul-jobs or https://git.mylocalmirror.local/foo and both be consumed in jobs as upstream:zuul-jobs.. allowing me to decouple my deployment choices from zuul upstream jobs' layout.18:56
SpamapSanyway, ideas are a dime a dozen. I'll think about this a bit. For now I think being careful with the base jobs and paths should suffice.18:57
openstackgerritDoug Hellmann proposed openstack-infra/zuul-jobs master: enable setting python version for ensure-twine  https://review.openstack.org/61667319:08
*** smyers_ has joined #zuul19:26
*** smyers has quit IRC19:26
*** smyers_ is now known as smyers19:26
*** rlandy is now known as rlandy|brb19:57
*** hashar has joined #zuul20:08
*** rlandy|brb is now known as rlandy20:19
*** hashar has quit IRC20:21
openstackgerritIan Wienand proposed openstack-infra/nodepool master: Use openstacksdk submit_task  https://review.openstack.org/61638720:29
openstackgerritIan Wienand proposed openstack-infra/nodepool master: Revert "Pin docker for k8s test"  https://review.openstack.org/61640420:30
clarkbianw: ^ heh that was quick20:30
ianwclarkb: oh, sorry not sure if it's fixed, i just rebased it on master20:31
clarkbah20:31
ianwit was previously stacked ontop that stats fix (which is ready for review ;)20:31
dkehntobiash: or clarkb: another question- the executor is getting a key error when its runs and I’m wonder what keyfile its using? see https://pastebin.com/Mktaryz420:47
tobiashdkehn: I think this should help you: https://review.openstack.org/60845320:48
fungicorvus: ahh, i didn't think about announcing it because i was told it was already broken and unusable directly since it needed a connection to an undocumented remote20:49
fungididn't think anyone was (or could) directly consume the zuul-base-jobs examples from that repo20:50
fungisorry about that SpamapS!20:50
dkehntobiash: ah yes that should20:50
openstackgerritMerged openstack-infra/nodepool master: Convert kubernetes config docs to zuul-sphinx  https://review.openstack.org/61664320:57
openstackgerritMerged openstack-infra/nodepool master: Alter the metasyntactic variable in driver docs  https://review.openstack.org/61664620:57
openstackgerritMerged openstack-infra/nodepool master: Normalize sidebar in docs  https://review.openstack.org/61664920:58
openstackgerritMerged openstack-infra/zuul-jobs master: enable setting python version for ensure-twine  https://review.openstack.org/61667321:16
*** manjeets has quit IRC22:00
corvusclarkb, tobiash, jlk: i think the github connector in openstack's zuul has been stuck on an http request for several days.  here's the stacktrace for the thread: http://paste.openstack.org/show/734445/22:08
jlkhrm.22:08
corvusi think we may need to look into timeouts... though not sure where in github3/requests/urllib we need to be looking :)22:09
jlkwe definitely had some hiccups on our end recently.22:09
clarkbcorvus: can we try to kill the socket and if we did any idea if that would force it to reconnect?22:09
jlkyeah, I would have thought there was a built in timeout :(22:09
corvusclarkb: oh, er, maybe?  though i mostly want to prevent it from happening again22:09
clarkb++22:09
corvus(as for fixing this, we need to restart zuul anyway for new features, so not too worried about that)22:09
clarkbrgr22:10
corvusi know requests hase a timeout option to its .get .post etc methods22:10
jlkyeah22:12
jlkI don't see anything in github3.py for timeout22:12
jlklooking at the trace it does not provide a way to pass through the timeout22:14
clarkbguessing that we never got a FIN or RST so our end thinks the tcp connection is still open but github likely has no idea about it?22:14
corvuslooks like https://github.com/sigmavirus24/github3.py/blob/master/src/github3/models.py#L191 is where the action is22:14
clarkbin whcih case timeouts in the lib would be good22:15
corvusrequests advocates using this: http://docs.python-requests.org/en/master/user/quickstart/#timeouts22:16
jlkhttps://github.com/sigmavirus24/github3.py/issues/15622:16
jlkat one point requests may have been doing a default timeout22:16
corvusi wouldn't mind a global setting -- like an argument to the constructor that set a timeout and then the _request method in models.py just uses that22:17
jlkyeah, would need to come up with an easy reproducer22:19
corvusjlk: it uses betamax, right?  i wonder if there's a way to tell betamax "don't ever return any data for this http request"22:22
jlkit does use betamax22:24
clarkbkmalloc: ^ would probably know?22:24
jlkI'm not super worried about testing requests functionality in our integration tests. We can simply test that the timeout param is passed through22:25
jlkbut I would like to show easily the current malfunction of indefinite hang22:25
clarkbjlk: I think for that what you want is for the remote to close its socket without sending a reset or fin22:26
clarkbjlk: like if the power goes out22:26
kmallocoh hai22:26
kmalloccan scroll back as soon as i walk doggo to corner22:26
corvusjlk: fwiw, what happens is exactly what the requests docs say will happen if the parameter is omitted :)  but any kind of non-response will do i think.22:26
jlknod22:26
jlkwe may not need the test, if we're just following docs22:27
corvusjlk: what do you think of this approach? https://github.com/jeblair/github3.py/commit/8a3c8a58f25a4b8ba327133917401c56a1bee3d222:31
jlknot bad. couple things jump out22:40
jlk1) we'll have to accept the argument for the GitHubEnterprise class too22:41
jlkoh. 2 was me not really understanding the GitHubCore session thing, but now I think I understand it22:43
corvusi *think* i've got that right, but i didn't run tests or anything :)22:43
jlknod22:43
corvusi'll clean that up and see if i can run tests real quick22:46
* kmalloc is back22:53
kmalloclooking at backscroll22:53
kmallocso the key with betamax is that if you want to not respond... you'd just have a null response entry22:54
kmallocit's not super magical... that said, i'm super not into betamax where requests mock can be used22:55
*** manjeets has joined #zuul22:55
corvussounds like we may not need to figure it out anyway.  i hope.  :)22:55
kmalloccool22:55
kmallocthats is good news22:56
*** JosefWells has quit IRC23:13
corvusjlk: good news and bad news.  good news: it's very easy to verify the parameter is passed all the way to requests -- all the tests mock out the session object and assert that the request method was called with specific arguments. bad news: all the tests assert that the request method was called with specific arguments so the patch would change at least 358 assert calls to add a timeout parameter.23:29
jlkhahahah ooof.23:29
jlkI mean, it's the right thing to do, but that's a lot of churn23:29
jlkif you want to start the PR and hand off that grunt work I'm fine w/ that.23:29
corvusyeah, i was also thinking that's probably the right thing.  i'll push up a branch with 2 commits to see the change and a single test fix -- maybe get review/buy-in on that before proceeding?23:30
jlkyeah that seems reasonable23:30
jlkthis isn't gerrit, so not every commit has to pass tests23:31
jlkblessing/curse23:31
corvusyep, we can use that to our advantage here :)23:31
corvusjlk: how's this look? https://github.com/jeblair/github3.py/pull/1/commits  -- if that looks okay, i'll open a pr against upstream23:36
jlkThat looks great to me as an opening gambit23:39
corvusi'll be sure to indicate that in the pr message23:40
corvus(that the test fixes are waiting on buy-in on the approach)23:40
corvusjlk, clarkb, tobiash: https://github.com/sigmavirus24/github3.py/pull/90423:46
jlkNice. Fwiw you can use markdown in the PR body, like: The [requests documentation](http://url) recommends23:47
jlknot that it detracts from the PR at all23:48
jlkcorvus: I'm really afraid that all the betamax recordings have specific requests data in them such as the timeout= call, which would mean re-recording all of them.23:49
jlkwhich, I can certainly do, it'd just be a slog23:49
corvusoh boy that sounds fun!23:52
corvuswell, hopefully we'll have some good chat on the pr and come up with the best thing to do before anyone wastes days on it :)23:53
jlkyeah, or several :D23:53
*** caphrim007 has quit IRC23:59

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