Tuesday, 2018-05-08

*** rlandy has quit IRC00:51
*** jesusaur has quit IRC01:22
*** jesusaur has joined #zuul01:24
*** smyers has quit IRC03:08
dmsimardI wonder if we need to copy the literal inventory file or if we can use https://image.slidesharecdn.com/moretipsntricks-161011152406/95/more-tips-n-tricks-11-638.jpg?cb=147619948103:09
dmsimard(slide from https://www.slideshare.net/mobile/bcoca/more-tips-n-tricks)03:10
openstackgerritMerged openstack-infra/zuul-base-jobs master: Add libre2 to bindep  https://review.openstack.org/56673105:02
openstackgerritMerged openstack-infra/zuul-base-jobs master: Add logo to docs  https://review.openstack.org/56641205:02
*** jesusaur has quit IRC05:14
*** elyezer has quit IRC05:17
*** jesusaur has joined #zuul05:19
*** elyezer has joined #zuul05:20
*** pcaruana has joined #zuul06:01
*** jesusaur has quit IRC06:45
*** jesusaur has joined #zuul06:46
*** gtema has joined #zuul06:49
*** zhuli has left #zuul06:57
*** jpena|off is now known as jpena07:52
*** zigo_ has quit IRC08:40
*** ssbarnea_ has joined #zuul08:41
*** zigo has joined #zuul08:45
*** gtema has quit IRC09:01
*** sshnaidm|rover is now known as sshnaidm|lnch09:34
*** yolanda_ has joined #zuul10:40
*** yolanda has quit IRC10:44
*** jpena is now known as jpena|lunch11:46
*** sshnaidm|lnch is now known as sshnaidm|rover11:46
*** gtema has joined #zuul12:00
openstackgerritBenedikt Löffler proposed openstack-infra/zuul master: Add role information to task in zuul_json callback  https://review.openstack.org/55999812:13
*** rlandy has joined #zuul12:32
*** openstackgerrit has quit IRC12:49
*** jpena|lunch is now known as jpena12:57
*** dkranz has joined #zuul13:12
*** openstackgerrit has joined #zuul13:24
openstackgerritDavid Shrewsbury proposed openstack-infra/nodepool master: Clean up configuration file loading  https://review.openstack.org/56688613:24
openstackgerritDavid Shrewsbury proposed openstack-infra/nodepool master: Clean up configuration file loading  https://review.openstack.org/56688613:38
corvuspabelanger: there's a question on  https://storyboard.openstack.org/#!/story/200079113:41
*** ssbarnea_ has quit IRC13:42
*** swest has quit IRC14:09
*** smyers has joined #zuul14:38
*** acozine1 has joined #zuul15:17
mrhillsmanif i modify nodepool.yaml do i need to restart builder and launcher for the change(s) to get picked up?15:29
clarkbmrhillsman: shouldn't need to. They reread their configs as they run15:29
mrhillsmanty sir15:30
clarkbmrhillsman: if you find a case where it isn't working that is likely a bug15:30
pabelangercorvus: thanks, I've been meaning to start a thread on ML about it.15:37
pabelangerI'll reply to storyboard15:37
gtemapabelanger: I'm here, who raised the question15:37
pabelangergtema: ah. So, if you haven't looked at, I would recommend looking at: http://git.openstack.org/cgit/openstack/windmill While it is lacking major documentation (hoping to address that shortly) it should give you a working deployment for zuul / nodepool.  There are also roles for nodepool / zuul / dib / etc15:39
gtemapabelanger: ok, great15:41
pabelangergtema: I'm doing a workshop at opendevconf in a few weeks, plan is to help users with a deployment.  I'm hoping to take the notes / instructions from that and build out documentation from it15:43
gtemajust a short question, why have you frozen 2.3<=ansible<2.4. Any particular reason for that?15:44
pabelangerno reason, I just bumped it to 2.4 then 2.5 came out15:45
gtemapabelanger: ok, so I can play around with fixing thigs then15:45
pabelangeryah, part of the ML post I was going to create on zuul-discuss was questions around with version of ansible we should support, and distro.  Today it is ansible 2.4 with ubuntu-bionic, ubuntu-xenial and fedora-27 (soon 28)15:47
gtemapabelanger: it is exactly one thing I have found (and see you have addressed in windmill), that zuul in venv uses global ansible (in my case 2.5) and fails15:47
pabelangerwe have the ability to test with debian-stretch and opensuse, but haven't added support15:47
pabelangergtema: yah, should be able to fix that with setting up PATH to virtualenv15:47
pabelangerfor zuul-executor15:48
gtemayes, but also to fix things from ansible, which are failing15:48
gtemapabelanger: will start working on this15:48
pabelangersure15:49
gtemapabelanger: in f28 it is ansible 2.5, that's why I faced it15:51
pabelangergtema: yah, we setup ansible via pip today, so it is capped. But do plan on moving to fedora-28, we just added images in openstack-infra last week15:52
clarkbShrews: is https://review.openstack.org/#/c/566886/ pre work for multi label support?16:08
clarkboh the topic indicates that yes probably16:08
Shrewsclarkb: yep16:08
clarkbI will try to make time to take a look while yesterday's conversation is still fresh16:09
ShrewsPlus it's just been bugging me16:09
*** harlowja has joined #zuul16:17
jlkHey folks! this is one of the new features I hinted at while in Dublin. I'm going to be exploring it a bit more in depth and determining if we can take advantage of it with Zuul: https://developer.github.com/changes/2018-05-07-new-checks-api-public-beta/16:43
jlkIt provides for a richer feedback of what has been ran and the results and such, which may be a solution for our desire to indicate multiple tests having ran, some with pass, some with fail. I believe SpamapS was interested in such things.16:44
gundalowjlk: Was reading about that yesterday, looks very cool16:44
mordredjlk: neat16:45
openstackgerritPaul Belanger proposed openstack-infra/nodepool master: Update logging format for devstack jobs  https://review.openstack.org/56694216:45
jlkthis is kind of cool, there is now an API end point to trigger tests for a given PR/hash16:47
jlkso we COULD from Zuul trigger pipelines in other PRs, by way of the GitHub API16:47
tobiashhrm, just updated to ansible 2.5 and most of our shell tasks seem to fail16:48
*** EmilienM is now known as EmilienM_PTO16:49
tobiashat least shell with args: executable16:49
*** ssbarnea_ has joined #zuul16:49
clarkbtobiash: tristanC mentioned that command tasks fail with that but shell should still accept it iirc16:49
tobiashthese are shell tasks, not command16:50
jlkOH cool, we can set "queued" too, as soon as we get the webhook, which is a different state than "in_progress", which can solve the issue where we wanted to have a clickable URL when tests are running for live logs, but couldn't PRODUCE that URL until the tests actually start, after the queueing.16:50
tobiashso doing rollback now and analysis tomorrow16:50
clarkbtobiash: huh executable was how you set the shell path iirc. Seems odd that that would regress16:51
tobiashyes, we use things like pipefail which need bash16:52
clarkbya we use bash in some places too iirc16:53
pabelangerThe executable parameter is removed since version 2.4. If you have a need for this parameter, use the shell module instead.16:54
pabelangerhttp://docs.ansible.com/ansible/latest/modules/command_module.html16:54
pabelangerso, we need to use shell, not command16:54
pabelangerI know OSA had some issue16:55
pabelangermaybe a regression in 2.5 with shell?16:55
tobiashpabelanger: I'm using the shell module16:55
pabelangeryah, I wonder if something in 2.5 maybe broken with 2.4 removal16:55
Shrewswell that doesn't sound good16:56
tobiashseems like every job we have using executable is broken with 2.516:56
pabelangertobiash: what is the error? I can try 2.5 here this afternoon16:59
corvusjlk: cool!  i noticed the checks thing yesterday too :)16:59
tobiashI just get "MODULE FAILURE"16:59
pabelangerkk16:59
tobiashand didn't have a quick chance to get any more inf16:59
tobiashinfo16:59
jlkThis looks neat, but it's going to take a bunch of code.16:59
jlkand introduces another state thing to worry about. There can now be a "check run object", which is created when an app (Zuul) is asked to run checks for a PR. It's that object we create via the API and then update with details as a check run progresses, so queued -> in_progress -> completed, and posting various details along the way. We'll have to keep POSTing to that specific check run object ID, which is the state thing to track.17:01
corvusjlk: ok.  we can keep that in memory for now; managing that will probably get easier when we move zuul state into zookeeper later.  here's a question -- if we abort a run and restart it, do we create a new check run object, or reuse an existing one?17:02
gtematobiash: one more change for 2.5 would be to get strip_internal_keys from ansible.vars.clean in zuul_json.py (there is relocation history in 2.3, 2.4 and now 2.5)17:03
jlkbut what we gain is the ability to post back "output" objects, that have a title, summary, text, annotations, and images. We summary/text support markdown, so rich text feedback for the run. Annotations allow us to point to specific lines of code in the PR with feedback from a given check (linter pointing to the specific line problem, etc..). Images could be interesting to do flow charts of logic things (like zuul pipelines).17:04
jlkcorvus: that requires some careful thought. Aborting a run and re-starting it I _believe_ should be a new run object, and we would set the old run object to a state of 'completed', with a conclusion of 'cancelled'17:04
Shrewsgtema: that's already taken care of in https://review.openstack.org/56266817:05
tobiashShrews: was faster...17:05
gtemaShrews: great17:06
gundalowjlk: Have you see how we use ansible-test & ansibullbot to give user feedback: https://github.com/ansible/ansible/pull/39846#issuecomment-38730663717:06
corvusjlk: okay, that has some implications for the reporting api, which currently doesn't report interim results at all.  we *might* want to think about just creating one check run object, and using it for multiple interim buildsets just to keep things simple.17:06
gtemaShrews: there is also some strange thing with output: I do often get "Log Stream did not terminate"17:07
gtemadon't know so far what is causing that17:07
jlkgundalow: I've followed some of it over time.17:07
jlkgundalow: but that's a good example of the type of data that can go into a check run output object17:07
openstackgerritMerged openstack-infra/nodepool master: Remove use of six  https://review.openstack.org/56615917:08
jlkand in fact could point to the specific lines, so that when looking at the PR diff you'd see the box saying "this test failed on this line"17:08
*** jpena is now known as jpena|off17:08
gundalowjlk: Yup, similar patterns would be cool with new GH functionality. We (Ansible) are waiting to hear back from Shippable as to what their plans for support are17:08
tobiashgtema: you need to run the zuul_stream module at the begin of the build17:08
clarkbjlk: ya thats something we've talked about adding for gerrit too17:08
clarkb(gerrit api supports it just haven't implemented in zuul)17:08
jlkcorvus: that could work, if it's all internal to Zuul (the re-runs). However if a user manually requests a re-run (like the existing 'recheck' comment), we'd want to produce a new check run17:08
corvusjlk: yep17:08
gundalowI've built a new image for use with Zuul. What's the process to add that into Nodepool? I know the final step is to update the `name:` in https://softwarefactory-project.io/r/gitweb?p=config.git;a=blob;f=nodepool/ansible-network.yaml#l11 Just not sure how to get the image from my laptop into that17:10
gtematobiash: ok, has it changed? I have switched zuul installation to a new server and now have this issue17:10
jlkLooks like a user/app can request the whole check suite run (which would be every app installed), or a specific check_run (specific app).17:10
tobiashgtema: wait, it's named zuul_console17:10
tobiashgtema: http://git.openstack.org/cgit/openstack-infra/zuul-jobs/tree/roles/start-zuul-console/tasks/main.yaml17:11
jlkall of this is only for apps. Is apps on GHE yet?17:11
clarkbgtema: you'll upload the image to your rdo-cloud using openstackclient (assuming it is openstack) then udpate lines 11 and 15 of your linked ansible-network.yaml17:11
clarkber gundalow ^ sorry gtema17:11
jlk(I should probably know this already)17:11
tobiashjlk: apps is on ghe since 2.1217:12
tobiash;)17:12
jlkwoo!17:12
tobiashwe're using it since end of december17:12
corvusgundalow: it's really hard to read uuids in config files; i recommend you do this instead: http://paste.openstack.org/show/720603/17:14
corvusgundalow: that lets you update the uuid in just one place17:14
gundalowcorvus: oh, nice. Will do. Thanks for the suggestion17:15
corvusgundalow: (you can also use "image-name" instead of "image-id" and then have no uuids)17:15
jlkcorvus: mapping it in my head...  GitHub will generate a new webhook event, CheckSuiteEvent when a PR is opened/modified, or if a user/app requests a CheckSuite run. That event goes out to all apps that are set up correctly. Zuul would get that event and create a check_run object, which creates a CheckRunEvent. We should ALSO consume that CheckRunEvent and use it to start the actual work, passing along that check run ID as part of the event data and added to17:18
jlk the zuul change object data. We may get more CheckRunEvents for 'updated' or 'rerequested'. That rerequested one would cause us to start the run over, creating a NEW check run.17:18
jlkoi, that's a lot to wrap a head around.17:18
openstackgerritTobias Henkel proposed openstack-infra/zuul master: Test shell module  https://review.openstack.org/56695117:18
tobiashlet's see if that reproduces ^17:18
corvusjlk: if we get a rerequest while it's running, we're likely to just ignore it.17:19
jlkhrm.17:19
corvusjlk: i mean, we can act on it, but it will probably just map to a pipeline-enqueue action, and if it's already there, that's a noop17:20
gundalowclarkb: corvus So looking at the last row on https://ansible.softwarefactory-project.io/zuul/nodes.html that makes me think I need to update ansible-network image on the `rdo-cloud` provider. Which I don't think I have access to.17:20
jlknot so sure on that. If the user is requesting that we re-start the check run, it could be because the check depends on an external resource update that they've performed since the tests started.17:20
corvusgundalow: we may need to find a softwarefactory admin to help: dmsimard, pabelanger, tristanC?17:21
*** gtema has quit IRC17:22
corvusjlk: yeah.  it's a choice.  so far, we've chosen the other way in zuul -- tests run to completion unless something that zuul knows about changes.  we *could* implement the other thing, but if we do so, we should do it with a flag, because there are good reasons we chose this way so far (among them, discouraging recheck bashing)17:24
jlknod17:24
corvus(if we choose, it shouldn't be hard to implement)17:24
*** acozine1 has quit IRC17:26
jlkSeems reasonable.17:30
jlkDo we have a way for a user to flat out cancel a test run?17:30
jlkor does it just always go to some conclusion?17:30
tobiashjlk: closing the pr17:30
tobiashbut there is currently no way for the user to cancel non-change triggered jobs17:31
*** harlowja has quit IRC17:31
corvuszuul has an intentionally minimalist user interface.  we don't have lots of buttons for individual actions because it's designed to be completely automated for the general use case.17:32
jlkcorrect. This would'nt be a "UI" kind of thing, but a response to stimuli from the code source (eg GitHub)17:33
jlkI'll note that there is no GitHub way to say "cancel tests and stop", just "rerun tests"17:33
corvusgood choice, i think :)17:34
pabelangergundalow: corvus: IIRC tristanC is only admin. #softwarefactory should also have the ability17:40
pabelangerbut, would be better if nodepool-builder handle image build / publishing, I know you are using another build tool today17:42
gundalowpabelanger: Ah, OK. Not sure how often we will be doing newer builds, though we will have 7+ platforms17:44
gundalowAutomate all the things17:45
*** jlvillal is now known as jlvacation17:51
*** ssbarnea_ has quit IRC17:59
*** acozine1 has joined #zuul18:00
*** myoung|ruck is now known as myoung|ruck|biab18:07
tobiashpabelanger, clarkb: that reproduced the broken shell task: http://logs.openstack.org/51/566951/1/check/zuul-tox-remote/9dd5c47/testr_results.html.gz18:08
tobiashbut I was mistaken, it's not because of the executable argument but also affects normal shell tasks18:09
tobiashhttp://logs.openstack.org/51/566951/1/check/zuul-tox-remote/9dd5c47/job-output.txt.gz#_2018-05-08_18_05_03_07274218:09
pabelangerpermission issue?18:10
pabelangermaybe it is our embedded command module that is the issue18:10
openstackgerritDavid Shrewsbury proposed openstack-infra/nodepool master: Force driver provider configs to define pool attr  https://review.openstack.org/56696318:10
tobiashlooks like a permission issue18:11
tobiashnow that I look into the json log I see the same error in my logs too18:11
clarkbtobiash: [Errno 13] Permission denied: '/tmp/console-None.log' is that the error?18:11
tobiashclarkb: yes18:11
clarkbI'm guessing some value is now None that was an actual uuid or similar and now we don't find that file because its not there?18:12
pabelangerseems possible18:12
openstackgerritDavid Shrewsbury proposed openstack-infra/nodepool master: Force driver provider configs to define pool attr  https://review.openstack.org/56696318:14
tobiashpabelanger, clarkb: looks like it is constructed here: http://git.openstack.org/cgit/openstack-infra/zuul/tree/zuul/ansible/library/command.py#n14818:14
clarkbtobiash: http://git.openstack.org/cgit/openstack-infra/zuul/tree/zuul/ansible/library/command.py#n377 is what sets the log_uuid18:16
openstackgerritDavid Shrewsbury proposed openstack-infra/nodepool master: Force driver provider configs to define pool attr  https://review.openstack.org/56696318:16
Shrewsi will eventually get the commit message correct18:16
clarkband that is set as an ansible module parameter18:17
clarkbtobiash: I'm guessing that the command/shell modules aren't being monkeypatched properly18:17
clarkband are likely using the built in module instead of zuul which will ignore the log id18:17
tobiashclarkb: I think this probably doesn't match anymore: http://git.openstack.org/cgit/openstack-infra/zuul/tree/zuul/ansible/callback/zuul_stream.py#n19718:20
tobiashthat callback injects the zuul_log_id which it now doesn't -> None18:21
openstackgerritTobias Henkel proposed openstack-infra/zuul master: Test shell module  https://review.openstack.org/56695118:24
*** harlowja has joined #zuul18:25
*** snapiri- has joined #zuul18:26
*** snapiri has quit IRC18:28
*** ssbarnea_ has joined #zuul18:38
*** openstackgerrit has quit IRC18:49
*** openstackgerrit has joined #zuul18:52
openstackgerritTobias Henkel proposed openstack-infra/zuul master: Test shell module  https://review.openstack.org/56695118:52
tobiashclarkb, pabelanger: I think that might be the fix ^\18:52
clarkbtobiash: we should double check there aren't any other modules that were based on the command module that now need to be in that list too18:54
tobiashclarkb: do you know what other modules are based on the command module?18:55
tobiashI thought it were only command and shell?18:55
clarkbtobiash: http://docs.ansible.com/ansible/latest/modules/list_of_commands_modules.html raw and script maybe?18:55
tobiashclarkb: ah, ok, but script is already in the test suite since the secfixes18:56
tobiashclarkb: raw and script are not affected because they don't execute remote python19:15
clarkbtobiash: cool thanks for checking19:15
openstackgerritTobias Henkel proposed openstack-infra/zuul master: Test more action modules  https://review.openstack.org/56700719:20
openstackgerritTobias Henkel proposed openstack-infra/zuul master: Update to Ansible 2.5  https://review.openstack.org/56266819:20
tobiashclarkb: the fix worked, splitted test addition and fix into ^19:21
tobiashShrews: ^19:24
*** myoung|ruck|biab is now known as myoung|ruck19:29
*** acozine1 has quit IRC19:40
mrhillsmancan x86 machine build arm64 VMs via nodepool19:42
pabelangerI don't believe so, we stood up an arm64 nodepool-builder19:43
mrhillsmanok, thx19:43
pabelangerI mean, maybe you could wrap qemu-arm around chroot?19:44
tobiashI guess you would need dib in qemu in dib ;)19:45
mrhillsman:)19:45
tobiashmrhillsman: but for windows I have a script that behaves like dib and uses a cloud and ansible for image creation19:46
tobiashThat can be used inside nodepool19:47
pabelangeryah, nodepool used to do that before, snaphot builds19:47
pabelangerwe talked a while back about doing it still, but somebody would need to write the driver for it19:48
clarkbI have heard third party reports of some people doing cross builds for raspis20:00
clarkbbut its likely to be significantly simpler to just build on the same arch20:00
clarkbtobiash: debuntu has a chroot mechanism for chrooting arm7 on amd64 or something20:01
clarkbtobiash: I don't quite understand how it all works but supposedly it does20:01
mnaseri was wondering why x86 cant build arm images20:10
mnaseri mean especially if it pretty much just 'unzips' dpkg's?20:10
mnaserespecially because it doesn't ever boot a vm or anything20:10
mnaserbut i guess chroot is where it goes wrong20:10
mrhillsmansimple sounds perfect clarkb :)20:13
*** pcaruana has quit IRC20:21
*** dkranz has quit IRC20:58
*** dkranz has joined #zuul20:59
*** dkranz has quit IRC21:51
*** myoung|ruck is now known as myoung|ruck|bbl22:23
*** ssbarnea_ has quit IRC23:13

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