Tuesday, 2019-01-29

openstackgerritTristan Cacqueray proposed openstack-infra/zuul-jobs master: Add prepare-workspace-openshift role  https://review.openstack.org/63140200:16
corvustristanC: hi!  i noticed you've uploaded a few new revisions of https://review.openstack.org/573473 but they don't address the -2 comment... do you want to talk about other ways to accomplish what you want there?00:18
tristanCcorvus: hello, yes sure, please let me know how this could be accepted00:22
tristanCcorvus: it seems like i didn't commented back, but the jobs list is already showing the first variant information (well, just for the description now)00:23
*** sdake has quit IRC00:23
tristanCcorvus: thus, i don't understand why also showing the parent of the first variant would break the data model00:24
tristanCat least with regard to how the jobs list currently work00:24
*** sdake has joined #zuul00:24
corvustristanC: the main thing is that we need to support multiple inheritance.  that is currently accomplished with different variants having different parents; we might explicitly support multiple parents in the future to make using that easier.00:25
tristanChow multiple parents would work?00:25
corvushere's a real example of multiple inheritance using variants that works today:00:27
corvushttps://review.openstack.org/62998300:27
corvusthis is what the same thing would look like if we added explicit support: https://review.openstack.org/63033700:28
corvus(rather, if we added explicit support for multiple parents)00:28
tristanCho wow, we can do that?!00:28
corvusyeah :)  sorry if my objection seemed a little too theoretical -- the algorithm has always supported it (on purpose), we just haven't really talked about it much, because it can be a bit confusing :)00:29
tristanCit's rather an un-common way to describe things00:30
tristanCso, in tenant layout, thoses variants/to-be-mixed-in job are stored separately in the job list00:31
tristanCright?00:32
corvusyeah, i think you'd need to look at each variant and get its parent00:32
tristanCand then there is the branch matcher, that is actually the only way to prevent the mix-in correct?00:33
corvus(also, one other use case is a job that changes parents on branches; that's not a mix-in, it's just separate variants.  for example, a "devstack" job changing its parent from "devstack-legacy" to "devstack-v3" from one stable branch to the next)00:33
corvustristanC: right.  multiple variants matching gets you a mix-in.  multiple variants that don't match just get you a fork in the graph, basically.00:34
tristanCok, thus https://review.openstack.org/573473 needs to returns list of parents, and perhaps the main jobs list should only focus on master branch, or should we also differentiate job's fork?00:35
corvustristanC: it's a little easier for me to think about a visualization that shows a tree of a single job from the bottom up.  there we can start with one root node, and branch upward as we add variants.00:36
tristanCcorvus: yes, but we are also interested in having a better view of the available jobs00:37
corvusvery quick and bad sketch: http://paste.openstack.org/show/744142/00:38
corvusthat's the "easy" part.  i *know* we can generate that data and draw that graph.  :)00:38
corvustristanC: i just looked at http://logs.openstack.org/37/633437/1/check/zuul-build-dashboard-multi-tenant/9c74c2f/npm/html/t/ansible/jobs and see what you want to do there, with a top-down tree00:39
tristanCfor the per job graph, the issue is that we have to apply the branch matcher client side to know which fork to follow for each parent00:40
corvustristanC: or you could show the whole thing and annotate the variants with their matchers (say "branch:stable" instead of "variant1" in my quick sketch)00:41
corvustristanC: maybe you could do the same thing for a top-down tree as well?  like this?  http://paste.openstack.org/show/744143/00:42
tristanCcorvus: that would work, though tree view doesn't work well if there can be multiple parents00:43
corvusthat would basically duplicate jobs, but it would only do so when necessary.  and people would be able to see the variants and relationships.00:43
corvustrue00:43
tristanCcorvus: the issue remains that the relationships logic isn't easy to implement based on job definition00:43
tristanCcorvus: you have to match branch for each variant00:44
corvus(if we did support explicit multiple parents, we could continue to duplicate jobs, just without the extra variant branch info)00:44
corvustristanC: i think the general approach i'm suggesting is "show all the variants".  so on the per-job page, show the full graph with all variants, and same thing on the job listing page.00:46
tristanCcorvus: would the branch matcher be the only way for a variant to fork the graph?00:47
tristanCi'm trying to figure out how to correctly identify a variant parent00:48
corvustristanC: yes; we used to have other selectors but we removed them.00:48
tristanCthat's good to know and help understand the current model :)00:49
corvustristanC: i think on the api side, "job/{name}" returns a list, iterating over that gets you a list of possible parents (which you can annotate with branch matchers if you want)00:50
corvustristanC: if we wanted to do a bottom-up graph for the per-job page, we could either do that, or add a new endpoint which walks that graph and returns the data; might be a little faster.00:51
tristanCcorvus: i was going to walk the graph for the per-job page00:52
corvustristanC: for the top-down job listing, maybe we could return the list of possible parents along with their branch matchers?00:52
tristanCcorvus: but right now, user with lots of jobs really need the top-down view first00:52
tristanCcorvus: yes, so how about a list of so in the jobs list, a job variant only need {'name': job-name, 'branch': branch, 'parents': [{parent-name: parent-branch}]}00:53
tristanCarg, s/so how about a list of //00:54
corvusthat would work, but would mean returning every variant in the jobs list, instead of just a single entry per job name...00:55
corvusan alternative with the current format might be: [{name: 'child', description: "...", parents: [{name: parent1, branches: "master"}, {name: parent2, branches: "stable"}]]00:55
corvuseither way, those solutions are pretty close :)00:56
tristanCwell since the job's metadata is variant specific, it seems like we have to return each variant in jobs list to improve the visualisation00:57
corvusit's the most correct thing to do; i think the /jobs/ endpoint is mostly there to serve that page (which is why it doesn't include all variants now).  i think we can retain the current system if we want, but if we need to change it to better support the job listing page, we can.  and yes, the more data we return about jobs in that endpoint, the more it's going to need to be variant-specific.01:00
corvustristanC: hopefully that's enough to unblock you there; i have to run now.  i like the result in http://logs.openstack.org/37/633437/1/check/zuul-build-dashboard-multi-tenant/9c74c2f/npm/html/t/ansible/jobs -- it's a good improvement that makes job relationships easier to understand.  :)01:01
tristanCcorvus: thanks for the extra explanation, i'll look into adding the variants information properly to the jobs list01:01
*** rlandy is now known as rlandy|bbl01:15
*** sdake has quit IRC01:28
dmsimardcorvus: (totally unrelated), were you okay with the whitespace-- patch for the website https://review.openstack.org/#/c/617680/ ?01:29
dmsimardtristanC: wow that new job view01:32
dmsimardnice work01:32
*** bhavikdbavishi has joined #zuul01:33
*** pvinci has joined #zuul01:48
pvinciAre there any resources available for troubleshooting zuul-jobs?01:50
*** bhavikdbavishi has quit IRC01:51
*** bhavikdbavishi has joined #zuul01:51
openstackgerritTristan Cacqueray proposed openstack-infra/zuul master: model: remove unused addImpliedBranchMatcher procedure  https://review.openstack.org/63364301:53
openstackgerritTristan Cacqueray proposed openstack-infra/zuul master: model: remove unused job's BranchMatcher procedures  https://review.openstack.org/63364301:56
*** ruffian_sheep has joined #zuul02:01
*** sdake has joined #zuul02:31
*** sdake has quit IRC02:37
*** bhavikdbavishi has quit IRC02:37
*** sdake has joined #zuul02:38
*** sdake has quit IRC02:58
*** sdake has joined #zuul02:59
*** rlandy|bbl is now known as rlandy03:04
*** rlandy has quit IRC03:04
*** sdake has quit IRC03:26
*** sdake has joined #zuul03:29
*** sdake has quit IRC03:42
openstackgerritTristan Cacqueray proposed openstack-infra/zuul master: config: add playbooks to job.toDict()  https://review.openstack.org/62134303:48
*** bhavikdbavishi has joined #zuul03:52
*** chkumar|out is now known as chandankumar04:22
*** pvinci has quit IRC04:26
*** bhavikdbavishi has quit IRC04:38
*** bhavikdbavishi has joined #zuul04:39
*** sdake has joined #zuul04:49
*** spsurya has joined #zuul05:05
openstackgerritTristan Cacqueray proposed openstack-infra/zuul master: scheduler: add job's variants to the rpc job_list method  https://review.openstack.org/57347305:16
openstackgerritTristan Cacqueray proposed openstack-infra/zuul master: web: switch jobs list to a tree view  https://review.openstack.org/63343705:16
openstackgerritTristan Cacqueray proposed openstack-infra/zuul master: web: add jobs list filter  https://review.openstack.org/63365205:16
openstackgerritTristan Cacqueray proposed openstack-infra/zuul master: scheduler: add job's tags to the rpc job_list method  https://review.openstack.org/63365305:16
openstackgerritTristan Cacqueray proposed openstack-infra/zuul master: web: add tags to jobs list  https://review.openstack.org/63365405:16
*** ruffian_sheep has quit IRC05:21
*** bhavikdbavishi has quit IRC05:27
*** sdake has quit IRC05:41
*** sdake has joined #zuul05:49
*** bhavikdbavishi has joined #zuul05:53
*** strigazi has quit IRC06:42
*** strigazi has joined #zuul06:43
*** badboy has joined #zuul06:59
*** quiquell|off is now known as quiquell07:01
*** themroc has joined #zuul07:30
openstackgerritTristan Cacqueray proposed openstack-infra/zuul master: config: add tenant.toDict() method and REST endpoint  https://review.openstack.org/62134407:48
openstackgerritTristan Cacqueray proposed openstack-infra/zuul master: web: add config page  https://review.openstack.org/63366707:48
*** sdake has quit IRC08:11
*** gtema has joined #zuul08:31
*** jpena|off is now known as jpena08:33
*** electrofelix has joined #zuul08:35
*** gtema has quit IRC08:36
*** gtema has joined #zuul08:42
*** avass has joined #zuul08:45
*** pcaruana has joined #zuul08:51
openstackgerritTristan Cacqueray proposed openstack-infra/zuul master: config: add playbooks to job.toDict()  https://review.openstack.org/62134309:04
openstackgerritTristan Cacqueray proposed openstack-infra/zuul master: config: add tenant.toDict() method and REST endpoint  https://review.openstack.org/62134409:04
openstackgerritTristan Cacqueray proposed openstack-infra/zuul master: web: add config page  https://review.openstack.org/63366709:04
*** panda is now known as panda|numb09:28
*** gtema has quit IRC09:31
*** luizbag has joined #zuul09:40
*** rf0lc0 has joined #zuul10:27
*** rfolco has quit IRC10:27
openstackgerritTristan Cacqueray proposed openstack-infra/zuul master: web: add roles usage information to the build page  https://review.openstack.org/63369710:43
*** bhavikdbavishi has quit IRC10:45
*** rf0lc0 has quit IRC10:53
*** ssbarnea|bkp2 has quit IRC11:01
*** ssbarnea|rover has joined #zuul11:02
*** rfolco has joined #zuul11:03
openstackgerritTristan Cacqueray proposed openstack-infra/zuul master: web: add roles usage information to the build page  https://review.openstack.org/63369711:04
tristanCmordred: corvus: 633697 is a nice improvement to the build page, it lists the roles used by the job11:17
badboydo I need to install finger on a nodepool worker node in order to see the output of a playbook in Zuul's web dashboard?11:21
tristanCbadboy: it shouldn't be needed, zuul executor collects the output through an ansible plugin called zuul_stream11:28
tristanCbadboy: then zuul-web console stream page should take care of streaming the logs from the executor11:28
badboytristanC: I've the issue11:30
tristanCe.g., zuul-web service acts as a finger client11:30
tristanCbadboy: what's your issue?11:30
badboytristanC: if your DNS doesn't work you need to set the executor.hostname as the IP of the executor11:30
badboytristanC: I'm playing with pause module in my playbook and the console output from web dashboard is full of this: 019-01-29 03:36:49.354728 | [ubuntu-bionic] Waiting on logger11:38
*** bhavikdbavishi has joined #zuul11:39
badboytristanC: while the actual console.log on my worker node consists only of two lines11:39
tristanCbadboy: the zuul_stream plugin needs a connection from the executor to the test instance on port 19885 (tcp)11:39
tristanCbadboy: iirc, "Waiting on logger" is what you get if the executor can't connect to the nodepool worker node11:40
electrofelixDoes nodepool get some kind of notification from zookeeper that request's are looking for a particular node type and none found matching it, or is it inferred by the queue in zookeeper for that type of node dropping below a certain threshold?11:40
electrofelixlooking at creating a custom driver that takes our static nodes and makes them available with dynamically determined labels that represent some other limited resource to limit the number of jobs needing those resources that can run11:42
electrofelixbut trying to understand whether need to make one available of each type as a minimum and then replace as consumed up to the amount of the resource available or whether there is something that can trigger making it available11:43
electrofelixas the latter would reduce wastage of nodes not being used11:43
badboytristanC: by 'test instance' you mean the web dashboard?11:44
badboytristanC: take a look a that: http://paste.openstack.org/show/744165/11:44
badboytristanC: I've the pause for two minutes11:45
badboy*set11:45
tristanCbadboy: the flow goes from [zuul-web] -|finger|-> [zuul-excecutor] -|tcp/19885|-> [slave]11:47
tristanCbadboy: can the executor connect with port 19885 to the slave?11:47
badboytristanC: during the playbook run?11:48
tristanCbadboy: well that shouldn't matter, the question is are your nodepool slave allowing ingress tcp/19885 connections?11:50
badboytristanC: when trying telnet <IP of the slave> 19885 from executor the connection is refused11:53
*** swest has joined #zuul11:53
tristanCbadboy: is there a security group or a firewall at play?11:54
badboyufw is inactive and iptables is at accept all11:55
badboytristanC: and these are vms on the same subnet11:55
tristanCbadboy: so there is something else, perhaps the zuul_console failed to start, are you using such role: https://git.zuul-ci.org/cgit/zuul-jobs/tree/roles/prepare-workspace/tasks/main.yaml#n2 ?11:58
tobiashbadboy: connection refused indicates that you probably didn't start zuul_console12:09
*** fdegir is now known as fdegir_12:10
avassif you have a pipeline triggered by a comment in gerrit is there any way to retrieve the comment in the job as a variable?12:11
badboytristanC: no, I am not12:13
*** jpena is now known as jpena|lunch12:15
badboytristanC: ok, so the pre-run playbook is *REQUIRED* to make it all working12:24
tristanCbadboy: yes, console-stream needs the zuul-console, perhaps you should base your job on https://git.zuul-ci.org/cgit/zuul-base-jobs/tree/zuul.yaml#n212:27
badboytristanC: that's exactly what I did now12:28
badboytristanC: and it's working12:28
badboytristanC: one more question, where the logs land?12:28
tristanCbadboy: iirc you need to setup a logserver and use the upload-log role12:31
badboytristanC: what kind of logserver?12:31
*** fdegir_ has left #zuul12:33
*** fdegir has joined #zuul12:33
*** gtema has joined #zuul12:34
tristanCbadboy: it could be scp+http or swift object store, there may be more options too12:34
tristanCbadboy: got to go now, good luck with your setup :)12:34
avassalso, is there any way to start the same job (or list of jobs dependent on eachother) with different configurations (job variables set differently in project-config), like looping over a list or something like it?12:38
*** pcaruana has quit IRC12:40
pabelangerbadboy: look at upload-logs, upload-swift-logs roles for publising logs12:43
pabelangeravass: if I understand, you'll need to name each job uniquely, then add them into pipelines.12:44
*** quiquell is now known as quiquell|brb12:48
avasspabelanger: i thought so12:48
*** pcaruana has joined #zuul12:50
badboytristanC: thx12:59
*** quiquell|brb is now known as quiquell13:26
*** rlandy has joined #zuul13:30
*** jpena|lunch is now known as jpena13:36
badboyis there an ansible playbook/role to install and configure apache/mysql for zuul?13:42
*** gtema has quit IRC13:44
*** bhavikdbavishi has quit IRC13:48
*** panda|numb is now known as panda13:56
*** badboy has quit IRC14:01
pabelangergeerlingguy/ansible-role-apache / geerlingguy/ansible-role-mysql should work14:07
pabelangerI've been testing with nginx, and haven't launched db server yet, just using sqlite for testing currently14:07
*** sean-k-mooney has joined #zuul14:08
mrhillsmanis there a way to force dib to release/unmount and delete failed/successful builds14:19
mrhillsman /tmp has quite a few loop devices mounted14:20
pabelangerdib should try to unmount, but possible you are seeing a leak14:20
mrhillsmanor is there a timer14:20
pabelangernodepool-builder, should delete failed DIB builds also14:20
mrhillsmanusing dib standalone14:20
pabelangeron nb01.o.o and nb02.o.o we did leak some opensuse things recently, so we might need to dive more into it14:21
pabelangermrhillsman: ah, in that case you need to manage the clean-up yourself14:21
mrhillsmanok cool, thx14:21
*** dkehn has joined #zuul14:27
*** pcaruana has quit IRC14:45
*** sdake has joined #zuul14:49
*** bhavikdbavishi has joined #zuul14:50
*** sdake has quit IRC14:51
*** sdake has joined #zuul14:53
*** pcaruana has joined #zuul14:53
*** gtema has joined #zuul14:54
*** gtema has quit IRC15:00
*** gtema has joined #zuul15:01
*** sshnaidm is now known as sshnaidm|mtg15:04
Shrewsmordred, corvus, and anyone else that may have my personal email address in your contacts: i've pretty much finished migrating away from gmail for personal use, so you should replace my gmail address with my work email (shrews AT redhat.com)15:18
*** gtema has quit IRC15:21
*** sdake has quit IRC15:32
*** sshnaidm|mtg is now known as sshnaidm15:33
ttxQuick question on the Zuul ansible playbook "restricted execution" environment... The doc is a bit limited on what is allowed or not allowed. Would a playbook that runs a script: foobar.py that would call an API and parse the results be allowed on localhost? Is there a practical way to simulate that environment locally?15:33
Shrewsttx: no. we have a custom version of the command and shell modules that prevent execution on localhost15:35
*** sdake has joined #zuul15:35
*** gtema has joined #zuul15:36
ttxShrews: are the jobs in zuul-jobs somehow immune from that ?15:38
ttxLike shell being executed in http://git.openstack.org/cgit/openstack-infra/zuul-jobs/tree/roles/validate-dco-license/tasks/main.yaml15:39
pabelangertrusted jobs are allow access to localhost, but not untrusted15:39
pabelangersome task, like URI module should be able to run in untrusted context15:40
pabelangerwe use that for the rtd job to trigger remote builds15:40
*** swest has quit IRC15:40
*** gtema has quit IRC15:41
ttxpabelanger: ok, thanks!15:42
*** gtema has joined #zuul15:42
*** bhavikdbavishi has quit IRC15:43
Shrewshrm, do we intentionally have the .pyi files under zuul/ansible/* added to the repo?15:46
Shrewse.g.) http://git.openstack.org/cgit/openstack-infra/zuul/tree/zuul/ansible/action15:47
*** gtema has quit IRC15:48
clarkbShrews: they are used by the type checker iirc15:48
clarkbso yes15:48
*** gtema has joined #zuul15:48
Shrewsclarkb: ah, k15:49
Shrewsthx15:49
avasspabelanger: do you know if there's some sort of job templating planned??15:50
*** openstackgerrit has quit IRC15:51
corvusavass: no, the idea is to make a parent job which uses variables, then make a bunch of one-liner child jobs which just set those variables, but each has a unique name.15:51
sean-k-mooneyhi quick question what ansible version is currently supported by zuul15:51
corvusavass: (of course, the job language is yaml, so if you have a truly staggering number of jobs, you could probably write a quick script to generate that)15:52
corvussean-k-mooney: 2.5.  soon (maybe in a few weeks/months) to be all supported versions.15:52
avasscorvus: I'll take a look at it again and see if I can do something different instead then15:53
sean-k-mooneycorvus: im hitting issue with the docker hub zuul image15:53
pabelangeravass: to add what corvus said, yaml anchors do work. So that will offer some help15:54
sean-k-mooneycorvus: specifcally the fetch-devstack-logs-dir is failing with rsync errors  https://github.com/openstack-dev/devstack/blob/master/roles/fetch-devstack-log-dir/tasks/main.yaml15:55
*** bhavikdbavishi has joined #zuul15:55
pabelangersean-k-mooney: do you have log of failure?15:56
avasspabelanger, corvus: looks like we might have more than 130 jobs, 18 base jobs with 7 sets of parameters15:56
sean-k-mooneypabelanger: yes one sec15:57
pabelangeravass: yah, we spend a fair bit of time designing the base jobs for openstack.org, we went thought a few iterations before selecting current setup.  It resulted in a few layers of jobs to help support all the jobs in openstack15:58
corvusavass: if it's not secret, i'd love to see your job definitions when you're done (private email would be ok).  i find it helpful seeing concrete use cases.  no worries if that's not practical.16:00
avasscorvus: would love to but I don't think I'm allowed to do that sorry16:01
sean-k-mooneypabelanger: they are here https://logs.seanmooney.info/41/1041/3/check/dvsm-base/4a67f89/ but specific error is here  http://paste.openstack.org/show/744173/16:01
avasscorvus, pabelanger: we are working on getting legal apartment to let us contribute though16:01
corvusavass: no prob.  thanks.  re contributing, just so you know, no CLA is required (just the ability to submit code under the apache license)16:02
sean-k-mooneypabelanger: it may be related to this bug https://github.com/ansible/ansible/issues/2388716:02
corvus(i only mention that because there's still some ambiguity since we're hosted on openstack's infrastructure, and the openstack projects require a cla; we're working on separating that out even more so it's more clear)16:03
pabelangersean-k-mooney: what OS is your executor?16:03
sean-k-mooneypabelanger: im using the docker image that the zuul project created and published to the docker hub but ill check16:04
pabelangersean-k-mooney: I want to say you might have an old version of rsync,16:04
pabelangerfailed: Invalid argument (22)\nrsync: chown16:05
avasscoruvs: Oh, yeah we're fully aware of that.16:05
sean-k-mooneyim using rsync 3.1.216:05
pabelangersean-k-mooney: or, ther is maybe an issue with mounts in docker, and rsync isn't able to chown the file16:05
corvusyeah, my first instinct says that's some kind of container mount issue, but i don't know what it could be16:07
*** gtema has quit IRC16:07
*** gtema has joined #zuul16:08
corvusi'll boot up the quick-start system and see if i can see16:08
pabelangerneed to step away for a few minutes16:08
sean-k-mooneypabelanger: perhaps but other syncornise task work16:08
*** gtema has quit IRC16:10
*** dkehn has quit IRC16:10
corvussean-k-mooney: if you run "zuul-executor keep" in the container, zuul will not delete the working directory at the end of the job.  then you can go looking at the job's working dir in the executor container.16:10
sean-k-mooneycorvus: for all jobs or just running jobs16:11
corvus(so, run "zuul-executor keep", then retrigger the job.  when finished debugging, you can turn the option back off with "zuul executor unkeep")16:11
corvussean-k-mooney: for all jobs, but only for jobs which start after you set it16:11
sean-k-mooneyi will also need to mark the instance for holding in node pool too right?16:12
corvussean-k-mooney: if you want to debug the remote end, yes.  but if i'm reading the error right, the problem is on the receiving side (the executor).  of course, i could be reading it wrong.  :)16:13
sean-k-mooneythe rest of the job is all working fine and its litrally the last role in the devstack job that copys the logs that is failing so its kind of annoying16:13
*** quiquell is now known as quiquell|off16:16
sean-k-mooneycorvus: ill try that in anycase and see if i can figure out whats going on.16:16
sean-k-mooneycorvus: by the way do you know what {{ ansible_user_dir }} typeically is16:18
sean-k-mooneyi guess ubuntu@192.168.1.168:/home/ubuntu/logs16:18
corvussean-k-mooney: it should be the user ansible is running as on the remote node, so 'ubuntu' in your case, 'zuul' in openstack's case (because of our custom images)16:18
corvusor rather, the home dir of that user16:19
corvus/home/ubuntu /home/zuul16:19
sean-k-mooneyya that makes sense16:19
sean-k-mooneyill retrigger and then try to run the command again myself for the executro container16:20
clarkbiirc that chown is there to make sure we get all of the logs?16:24
*** fdegir has quit IRC16:26
*** avass has quit IRC16:32
*** chandankumar is now known as chkumar|out16:35
corvussean-k-mooney: i just tested out a synchronize task with the zuul quick-start system (which uses the containers from docker hub), and it works.  it's a very simple test, but i think it shows we haven't completely broken the images.  i think the next thing is to figure out what is special about those files/directories that's causing the problem.  so let me know what you find with the keep/recheck test.16:43
sean-k-mooneycorvus: i created my k8s scips by revers enginering the quickstart using the same same images :)16:44
sean-k-mooneyi know other synchronize task work16:45
*** sdake has quit IRC16:46
sean-k-mooneythe logs /opt/stack/logs are own by stack but they are being copied to /home/ubunutu/logs16:46
sean-k-mooneycorvus: do you think i would be better deploying nodepool-builder and justin simlar custom images as are used in the gate16:46
corvussean-k-mooney: it shouldn't be necessary.  if you do want to do that, i'd recommend waiting until we solve this problem.16:48
*** themroc has quit IRC16:57
*** bhavikdbavishi has quit IRC16:58
*** openstackgerrit has joined #zuul16:59
openstackgerritMatthieu Huin proposed openstack-infra/zuul-jobs master: install-nodejs: add support for RPM-based OSes  https://review.openstack.org/63104916:59
*** pcaruana has quit IRC17:01
*** bhavikdbavishi has joined #zuul17:16
*** sdake has joined #zuul17:17
*** sdake has quit IRC17:18
*** sdake has joined #zuul17:43
sean-k-mooneycorvus: hum that didnt really tell me anything new. i think for now im going to copy paste the devstack base jobs and define my own that does copies the logs differently17:53
corvussean-k-mooney: can you paste a directory listing of the logs directory in the executor work dir?17:54
sean-k-mooneyam yes http://paste.openstack.org/show/74418517:56
corvussean-k-mooney: and also the 'controller' directory under that one, and also controller/logs ?17:57
sean-k-mooneysure one sec. in the interim most of the job logs are here https://logs.seanmooney.info/41/1041/3/check/dvsm-base/a4f5dba/17:59
sean-k-mooneyam yes http://paste.openstack.org/show/74418618:00
openstackgerritDavid Shrewsbury proposed openstack-infra/nodepool master: WIP Revert "Revert "Add a timeout for the image build""  https://review.openstack.org/63379218:02
sean-k-mooneycorvus: all of the file seam to be coppied it just the chown that failed18:02
sean-k-mooneycorvus: one thing i had considerd was submitting a patch to devstack to not copy the owner/group/perms of the files18:04
corvussean-k-mooney: yes.... i wonder if all those files are owned as ubuntu:ubuntu on the remote node, and it's just failing to chown them to ubuntu:ubuntu on the executor, since that user doesn't exist...18:04
electrofelixcorvus: so I had a chance to do more thinking overnight on how we're looking to make use nodepool v3 to solve a current problem and a step to migrating to zuulv3 and I've put some thoughts into an email18:04
corvus(but this would work in openstack, since there's a zuul user in both places)18:04
sean-k-mooneycorvus: let me check my passwd for a sec18:04
corvussean-k-mooney: i think your patch to devstack might solve the problem18:05
sean-k-mooneyi do not have a user 1000 in that docker image let me check if that is the userid in the vm18:05
sean-k-mooneyya i probaly would as it would disable the chown18:06
electrofelixI think what we'll need to do is create a custom driver taking ideas from the static pool and openstack drivers where instead of simply populating zk with all the static nodes, only add them when requested18:06
sean-k-mooneyjust not sure if its the best solution18:06
corvuspabelanger: with regard to the fetch-output role, did you put any thought into the issue of file ownership being different on remote host vs executor?  (see conversation above with sean-k-mooney)18:06
corvuselectrofelix: i may need to spend some time reading your mail, because the static driver used to do that, and we had problems with that and changed it to the current behavior.18:07
electrofelixso that when a request comes in for one needing the special resources the quota call can check to see if there is one available in our vault instance18:07
electrofelixand if there is add suitable labels to one of the static nodes storing within an internal listing and then add that to zk18:07
electrofelixcorvus: nuts, I was worried that I might not be understanding how node requests were triggered18:08
electrofelixwas there a race condition with nodes getting added?18:09
electrofelixend up adding more nodes than requested?18:09
sean-k-mooneycorvus: ya so looking at the base vm ubuntu is 1000:1000 but the zuul container does not have matching user18:09
corvuselectrofelix: the biggest problem is that it made nodepool behave in a way that nobody expected.  having nodepool managing nodes that don't show up in 'nodepool list' was exceedingly frustrating.18:09
*** sdake has quit IRC18:10
sean-k-mooneythe nfs share that backs my log dir would have however18:10
sean-k-mooneyso the copy form the workspace to logs server should be fine but chown form vm to executor node would fail18:11
corvussean-k-mooney: let's see if we can adjust the devstack job to work here.  i think this is a general problem we need to solve.  if we can fix this, we can start using the pattern elsewhere.18:11
sean-k-mooneywell i can push a patch18:11
sean-k-mooneythe syncronize role suports controling permissions18:11
sean-k-mooneywe just use the defaults18:12
sean-k-mooney*module18:12
*** fdegir has joined #zuul18:12
corvuselectrofelix: i'll try to read and digest your email today and hopefully can speak intelligently on the subject by tomorrow18:12
sean-k-mooneylooking at https://docs.ansible.com/ansible/latest/modules/synchronize_module.html i think i can just add group: no and owner:no18:13
electrofelixcorvus: great, it might be that we can live with those limitations as long as there appears to be a path out of it at some point18:13
corvussean-k-mooney: assuming you have a connection to openstack's gerrit, you should be able to make a local change which depends-on the change to devstack and verify the fix for your install18:14
electrofelixcorvus: does zuulv3 require that it can ssh to any node in nodepool or is there a concept of a multi-node set that is used by a job were it only connects to one? if so that would be our path out and some hacked up driver to get us there would be acceptable18:14
sean-k-mooneycorvus: oh yes i can do that18:14
*** jpena is now known as jpena|off18:15
corvuselectrofelix: currently it assumes that for openstack and static nodes; it does not for k8s resources.  we generally are in favor of nodepool handling more generic resources, so that is a potential solution.18:15
corvuselectrofelix: (keeping in mind that i haven't fully internalized the problem yet :)18:16
electrofelixah, well, that would be sufficient, I might read some more of the k8s driver, but I think the connecting to all the nodes supplied might be a limitation of the jenkins nodepool agent and once we don't need Jenkins we can drop the custom driver for a more generic solution18:17
electrofelixor maybe it's not required for Jenkins either and I'm just missing it, but sounds promising enough that I think we can start down this path while working out the remaining wrinkles18:18
corvuselectrofelix: i'll still try to read up on the actual problem and give you a more reasoned opinion later today/tomorrow :)18:19
clarkbis jenkins a constraint that we can't ignore? eg you must keep jenkins?18:19
*** bhavikdbavishi has quit IRC18:20
electrofelixclarkb: short term yes, long term my hope is add nodepool, then bring up zuulv3 and start migrating away from Jenkins18:20
electrofelixbut need to solve it incrementally18:20
electrofelixhence my feeling that if there are some limitations with such a driver in nodepool, we could live with it and then switch once no longer required18:21
pabelangercorvus: guess we'd need to expose the chmod options to synchronize, like you discussed, and disable that. However, that might be a lot of changes to zuul-jobs.18:23
pabelangerwe are using same user in ansible-network, zuul, for executor and nodes. However, I think sf.io is using zuul-worker on nodes, would need to double check18:24
sean-k-mooneypabelanger: i just submitted https://review.openstack.org/#/c/633796/ and https://review.seanmooney.info/c/test/+/104118:28
sean-k-mooneypabelanger: the other thing i can try it to just have a k8s init-contianer create the user in my executor container18:29
clarkbelectrofelix: super hacky idea. Have static nodes (could even just be the same node with different ssh auth details) where each "node" maps to a set of resources18:31
clarkbelectrofelix: that mapping could be an rc file in the homedir of the user ssh'd in18:31
clarkbelectrofelix: then nodepool will broker the static nodes and transitively all of your special resources18:32
electrofelixclarkb: I think that would indeed be plan B, lose some nodes from being available to provide that mapping, not efficient but workable18:33
electrofelixheading now, at least it looks like there is a stepping stone18:34
*** electrofelix has quit IRC18:34
*** sdake has joined #zuul18:37
sean-k-mooneyyou know while i like zuul alot. waiting for devstack to run to see if you change to the log copying will work is like watching paint dry18:41
sean-k-mooneyi think im going to use this time to have dinner instead brb18:41
pabelangersean-k-mooney: yah, creating the user is also a good idea too at run time18:44
corvussean-k-mooney, pabelanger: i don't beleive we have intentionally made any assumptions about the remote user being the same as on the executor.  i agree that might solve present issues quickly, but if sean-k-mooney is up for it, i'd prefer to fix this in jobs so it isn't necessary.18:56
pabelangerI agree, we haven't stated they should be the same, but believe the assumption might be made by default by ansible. The archive defaults to true on synchronize tasks, which does include user / group permissions19:02
sean-k-mooneyso i tried using the new style depend on and it cloned the review i pushed https://review.openstack.org/#/c/633796/19:49
sean-k-mooneybut it did not use the roles from that reivew19:50
sean-k-mooneyhttps://github.com/openstack-dev/devstack/blob/master/.zuul.yaml#L166-L16919:50
sean-k-mooneywhy does devstack prefix it required project with git.openstack.org by the way. i had to rename my gerrit connetion to git.openstack.org19:50
sean-k-mooneyin order to be able to use this job at all19:51
sean-k-mooneythe old style depends-on with the change id seams to have been ignored19:51
sean-k-mooneythe old style change id is still running so i dont know if it will work but i just did not see the clone in the logs19:51
*** fdegir has quit IRC19:52
pabelangersean-k-mooney: we opted for git.o.o since that is the canonical url for the roles, we've talked in the past of maybe making zuul a little smarter so we didn't need to do that19:56
pabelangersean-k-mooney: the main reason, is if you have 2 gerrit connections, both with openstack-dev/devstack, jobs won't work properly19:56
sean-k-mooneyactully i jsut looked at my config19:56
pabelangerthis is the workflow that rdoproject has19:56
sean-k-mooneyto be able to use the role i have to have git.openstack.org added as a seperate connection19:57
pabelangeryah19:57
pabelangeryou should only need a single connection to review.o.o, just named git.o.o connection19:57
sean-k-mooneythat make it very hard to reuse these jobs19:57
sean-k-mooneyone sec ill share my config if you dont mind taking a look and saying if its sane19:58
pabelangerk19:58
*** luizbag has quit IRC19:59
sean-k-mooneyhttp://paste.openstack.org/show/744196/20:01
pabelangersean-k-mooney: you can collapse line 28 and 41 into a single connection called git.o.o20:02
sean-k-mooneyok that might fix my depens on issue too20:02
pabelangerline 36 could also use git.o.o today, since we share the same gerrit instance20:02
pabelangeryes20:02
sean-k-mooneyoh the zuul connection20:03
pabelangeryou could load it from openstack-infra/zuul-jobs, to collapse a connection20:03
pabelangeronce opendev gerrit is online, some of this will change, but I believe you can still use a single gerrit connection for openstack / opendev / zuul projects20:04
sean-k-mooneyya i think ill do that also i just realised in my tenant config im loading most of the project form git currently instead of the openstack gerrit20:04
pabelangeryes, that is correct20:04
sean-k-mooneythe one nice thing about running all this stuff with k8s is i just update the configs and delete all the contaienr and it deploys it all clean again but keeps my volumes so the data is still there20:06
pabelangeryah, that is the workflow tobiash is doing today also20:06
sean-k-mooneyya so there is very little documentation on how to set up a third party ci against openstack with zuul v3 so im just cobbeling thing togeter at the moment20:08
sean-k-mooneyi remember about 3 cycle ago pitching the idea interally of adding zuul v3 support ot kolla anisble  so you could deploy a cloud and working ci in one command but i never got around to it20:09
*** fdegir_ has joined #zuul20:11
*** irclogbot_3 has quit IRC20:15
*** irclogbot_3 has joined #zuul20:19
openstackgerritPaul Vinciguerra proposed openstack-infra/zuul master: configloader.py: Not all jobs have an .updated attribute.  https://review.openstack.org/63325920:43
*** sdake has quit IRC20:45
*** fdegir_ is now known as fdegir20:55
openstackgerritSean McGinnis proposed openstack-infra/zuul-jobs master: Make sure urllib3[secure] is installed for Twine use  https://review.openstack.org/63382921:19
openstackgerritDavid Shrewsbury proposed openstack-infra/nodepool master: WIP Revert "Revert "Add a timeout for the image build""  https://review.openstack.org/63379221:20
openstackgerritSean McGinnis proposed openstack-infra/zuul-jobs master: Block installation of requests-toolbelt 0.9.0  https://review.openstack.org/63382922:15
*** sdake has joined #zuul22:15
openstackgerritTristan Cacqueray proposed openstack-infra/zuul-jobs master: add-build-sshkey: remove previously authorized build-sshkey  https://review.openstack.org/63262023:06
openstackgerritMerged openstack-infra/zuul-jobs master: Block installation of requests-toolbelt 0.9.0  https://review.openstack.org/63382923:09
*** saneax has joined #zuul23:14
-openstackstatus- NOTICE: http://zuul.openstack.org is not working. https://zuul.openstack.org does work. Please use that while we investigate.23:15
*** saneax has quit IRC23:20
*** saneax has joined #zuul23:22
openstackgerritTristan Cacqueray proposed openstack-infra/zuul master: web: add /{tenant}/buildsets route  https://review.openstack.org/63003523:28
*** sdake has quit IRC23:35
*** sdake has joined #zuul23:37
openstackgerritJames E. Blair proposed openstack-infra/zuul master: WIP add provides/requires support  https://review.openstack.org/63360523:39
*** sdake has quit IRC23:55
*** sdake has joined #zuul23:56

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