Monday, 2019-10-07

*** jamesmcarthur has quit IRC00:24
*** jamesmcarthur has joined #zuul00:25
*** jamesmcarthur has quit IRC00:30
*** jamesmcarthur has joined #zuul00:55
*** rfolco|bbl has quit IRC00:59
*** jamesmcarthur has quit IRC01:02
*** jamesmcarthur has joined #zuul01:19
*** jamesmcarthur has quit IRC01:25
*** jamesmcarthur has joined #zuul01:26
*** jamesmcarthur has quit IRC01:50
*** jamesmcarthur has joined #zuul01:51
*** jamesmcarthur has quit IRC02:00
*** jamesmcarthur has joined #zuul02:00
*** jamesmcarthur has quit IRC02:33
*** jamesmcarthur has joined #zuul02:50
*** jamesmcarthur has quit IRC03:06
*** jamesmcarthur has joined #zuul03:06
*** jamesmcarthur has quit IRC03:17
*** bhavikdbavishi has joined #zuul03:33
*** bhavikdbavishi1 has joined #zuul04:08
*** bhavikdbavishi has quit IRC04:10
*** bhavikdbavishi1 is now known as bhavikdbavishi04:10
*** bolg has joined #zuul04:17
*** igordc has joined #zuul04:19
*** igordc has quit IRC05:22
*** igordc has joined #zuul05:51
*** AJaeger has quit IRC05:53
*** AJaeger has joined #zuul05:59
*** pcaruana has joined #zuul06:22
*** bolg has quit IRC06:50
*** saneax has joined #zuul07:00
*** tosky has joined #zuul07:17
*** bolg has joined #zuul07:35
*** themroc has joined #zuul07:35
*** jpena|off is now known as jpena07:45
*** igordc has quit IRC07:50
*** avass has joined #zuul07:50
*** hashar has joined #zuul08:06
*** pcaruana has quit IRC08:13
*** pcaruana has joined #zuul08:18
openstackgerritJan Kubovy proposed zuul/zuul master: Include session expired reason in API fetch error message.  https://review.opendev.org/68697608:29
*** gtema_ has joined #zuul08:53
openstackgerritJan Kubovy proposed zuul/zuul master: Evaluate CODEOWNERS settings during canMerge check  https://review.opendev.org/64455708:58
*** gtema_ has quit IRC08:59
*** tobiash has quit IRC09:21
*** tobiash has joined #zuul09:23
*** bhavikdbavishi has quit IRC09:49
*** jangutter has joined #zuul09:54
*** panda|off is now known as panda09:54
openstackgerritJan Kubovy proposed zuul/zuul master: Include session expired reason in API fetch error message.  https://review.opendev.org/68697610:17
*** themroc has quit IRC10:31
*** hashar has quit IRC10:53
*** bhavikdbavishi has joined #zuul11:05
*** bhavikdbavishi1 has joined #zuul11:08
*** bhavikdbavishi has quit IRC11:09
*** bhavikdbavishi1 is now known as bhavikdbavishi11:09
*** pcaruana has quit IRC11:11
*** hashar has joined #zuul11:16
*** themroc has joined #zuul11:28
*** saneax has quit IRC11:29
*** saneax has joined #zuul11:29
*** jpena is now known as jpena|lunch11:33
*** pcaruana has joined #zuul11:42
*** avass has quit IRC12:00
*** rfolco|bbl has joined #zuul12:07
*** bhavikdbavishi has quit IRC12:07
*** bhavikdbavishi has joined #zuul12:11
*** rfolco|bbl is now known as rfolco12:14
*** jpena|lunch is now known as jpena12:31
*** bhavikdbavishi has quit IRC12:31
*** rlandy has joined #zuul12:32
*** jamesmcarthur has joined #zuul12:49
*** jamesmcarthur has quit IRC12:49
*** jamesmcarthur has joined #zuul12:49
openstackgerritJan Gutter proposed zuul/nodepool master: Add port-cleanup-interval config option  https://review.opendev.org/68702413:04
openstackgerritJan Gutter proposed zuul/nodepool master: Add port-cleanup-interval config option  https://review.opendev.org/68702413:18
*** brendangalloway has joined #zuul13:29
*** bolg has quit IRC13:30
brendangallowayHello - is there a recommended plugin or workflow to integrate gerrit and github?  We found https://gerrit.googlesource.com/plugins/github/+/master/README.md, but some of what is referenced in that doc appears to be obsolete13:35
fungibrendangalloway: what sort of integration are you in search of?13:37
openstackgerritJan Gutter proposed zuul/nodepool master: Add port-cleanup-interval config option  https://review.opendev.org/68702413:38
fungizuul is focused more on being able to interact with both and allow changes in each to reference, depend on and be tested with the other13:38
fungibut if you're looking for ways to copy code review back and forth between multiple platforms, that's not zuul's focus13:38
brendangallowayI might be asking in the wrong place then - we are trying to copy code review back and forth13:41
fungifor me at least, being clear and honest about what patch submission and code review workflow a project uses is better for its ecosystem than doing a mediocre job of accepting patches through multiple code review systems... one is always going to be the primary interface, and so people trying to interact via whichever is the second-class entrance are going to have a poor experience as a result13:41
brendangallowayAgreed - but we have some restrictions about what we can allow outside parties to have access to13:43
fungithe data models and workflows for gerrit and github are quite different, their only real commonality being that they use git as a means of managing source code, so any of the solutions i've seen which can copy back and forth between pull requests/changes for things like comments and test results end up being extremely lossy13:43
fungiyou'll either wind up infuriating the contributors who are stuck using the secondary interface, or having to make significant compromises on both primary and secondary interface workflows to only use the nearest common subset of features both can reasonably support13:45
tristanCbrendangalloway: have you checked https://github.com/golang/go/wiki/GerritBot ?13:46
fungiyeah, taking that one as an example, anyone submitting a patch via github ends up being directed to gerrit to see review comments and iterate on the corresponding change13:47
fungiso likely a poor experience for contributors who only want to use github and would prefer not to learn/touch gerrit13:48
brendangallowayThanks for the input.  I think one interface is better, and easier to manage, but the team I'm trying to set things up for have some weird workflow requirements.  Will feed this back to them and see what they say13:51
fungiif you're looking at a fire-and-forget solution for sucking github pull requests into gerrit it's likely fine, but to me that's not a sustainable way to build a contributor community13:51
openstackgerritJan Gutter proposed zuul/nodepool master: Add port-cleanup-interval config option  https://review.opendev.org/68702413:54
jangutterapologies for newbie-spamming the same review.13:54
fungijangutter: if it's any consolation, our veterans spam the same reviews at least as often, maybe even more ;)13:56
Shrewsi purposefully try to spam. i like folks to know i'm here13:57
jangutterI'm trying to run the nodepool unit tests locally - would you recommend centos7 or bionic for the baseline?13:57
* Shrews throws a can of Spam at fungi13:57
Shrewsjangutter: either should work, in theory13:57
Shrewsi use bionic, personally13:58
fungii suspect bionic may be easier to set up owing to having newer versions of things and more stuff packaged. certainly if you want to also run zuul unit tests, centos 7 is a bit of a pain to get python 3 working on13:59
tristanCjangutter: fedora also works, once you have the tox env (and zookeeper started), you can run a single test using: ./.tox/py35/bin/stestr run "$test_name"13:59
tristanCfungi: well you can now yum install python3 on centos, but you need zookeeper for zuul/nodepool unit tests14:00
janguttercentos7.7's got python3.6 at least, I seem to be having issues with zookeeper I think...14:00
Shrewsjangutter: what issues?14:01
tristanCjangutter: you can get zookeeper using "yum install -y https://softwarefactory-project.io/kojifiles/repos/sf-3.3-el7-release/Mash/zookeeper-lite-3.4.10-3.el7.x86_64.rpm"14:01
jangutterI'm running the tests inside a docker container inside macos so there might be a fair amount of weirdness.14:01
Shrewsyeah, docker is weird enough on mac that i just use a bionic vm14:05
*** jamesmcarthur has quit IRC14:08
*** saneax has quit IRC14:08
*** saneax has joined #zuul14:16
*** themroc has quit IRC14:21
*** saneax has quit IRC14:22
pabelangerI use fedora-30 local, like tristanC mentions. But bionic also works well14:22
pabelangercentos7.7 is missing some key python3 things still, IMO. But good to see some python3 support14:23
tristanCpabelanger: what is missing?14:24
pabelangerlibselinux-python14:24
pabelangeras example14:24
*** saneax has joined #zuul14:24
pabelangerwhich makes running ansible hard14:24
tristanCit shouldn't prevent running nodepool test though14:25
pabelangerTrue, was assuming they would also like to do zuul at some point14:26
*** jamesmcarthur has joined #zuul14:28
*** jamesmcarthur has quit IRC14:34
*** jamesmcarthur has joined #zuul14:38
*** bhavikdbavishi has joined #zuul14:39
openstackgerritMerged zuul/nodepool master: Do not overwrite image upload ZK data on delete  https://review.opendev.org/68185714:42
*** jamesmcarthur has quit IRC14:43
*** jamesmcarthur has joined #zuul14:43
*** saneax has quit IRC14:52
Shrewsthat was amazingly difficult to get merged14:56
*** bhavikdbavishi has quit IRC14:59
*** jamesmcarthur has quit IRC15:00
clarkbre zk you can also download the upstream tarball and run it out of there if you have a java install15:02
*** jamesmcarthur has joined #zuul15:08
*** bhavikdbavishi has joined #zuul15:11
janguttertristanC: looks like adding https://softwarefactory-project.io/kojifiles/repos/sf-3.3-el7-release/Mash/wait4service-0.1-1.el7.noarch.rpm and running systemctl start zookeeper was enough, thanks!15:14
*** kerby has joined #zuul15:19
*** bhavikdbavishi has quit IRC15:20
jangutterHeh, and somehow, running the test in my really weird centos7.7+docker combination makes it pass....15:21
*** mattw4 has joined #zuul15:27
openstackgerritKerby proposed zuul/nodepool master: AWS driver: add ability to determine AMI id using filters  https://review.opendev.org/68320515:27
openstackgerritLuigi Toscano proposed zuul/zuul-jobs master: fetch-subunit-output: collect additional subunits (2nd try)  https://review.opendev.org/67433415:38
toskylet's see if I understood how to write tests for zuul roles...15:38
tosky(probably not yet :)15:39
clarkbjangutter: looks like that one cleanup port test is the one failing. You can run just it via tox -e py36 -- test_leaked_port_cleanup15:46
openstackgerritLuigi Toscano proposed zuul/zuul-jobs master: fetch-subunit-output: collect additional subunits (2nd try)  https://review.opendev.org/67433415:46
*** hashar has quit IRC15:52
*** chandankumar is now known as raukadah15:57
*** bolg has joined #zuul16:02
openstackgerritLuigi Toscano proposed zuul/zuul-jobs master: fetch-subunit-output: collect additional subunits (2nd try)  https://review.opendev.org/67433416:05
jangutterclarkb: and the kicker is, if I run it locally it passes.....16:06
*** bolg has quit IRC16:06
jangutterclarkb: however, I'm running it with zookeeper-lite in a docker, so calling the environment "unique" is an understatement.16:07
clarkbjangutter: ya I just ran it locally myself and it failed. Then I added debug logging and it passed. I'm going to run it a few times to see if i can catch a failure with the debug logging16:07
clarkbjangutter: it looks like the cleanup interval in the test isn't actually updating in the provider16:09
clarkbmy debug logging shows it as always 600 when the test fails16:09
clarkbits possible that the provider object is being rebuilt after we update the interval?16:09
clarkbpreviously this was overridden in the manager which doesn't change when config updates16:09
jangutterclarkb: can I update the provider from a different fixture?16:10
clarkbjangutter: you may want to copy the node.yaml config that the test uses today and create a cleanup-port.yaml config and set the interval there16:11
clarkbthen it should always load properly avoiding any races in the test16:11
clarkbbasically just straight up copy that file then add the interval setting to it and rename the config in the test case to match your new config file16:12
jangutterclarkb: should I run the entire test with the modified fixture (I think there's some checking that the ports still exist that should be zapped in that case) or can I reconfig the provider in the test?16:13
clarkbI think you can run the whole test with the new config since 2 seconds is long enough that the wait loop should cycle a few times16:14
clarkbheh of course I've tested it and I am wrong :)16:20
clarkbthose ports get cleaned up before the assertion there are two down ports :( so ya I think we have to start with the default config then switch over to the new config16:20
AJaegerzuul team, any comments on https://review.opendev.org/686932 - this should fix that "recheck" an approved change will go to gate without extra +A (as currently in Zuul tenant). Alternative is https://review.opendev.org/68693316:20
openstackgerritJan Gutter proposed zuul/nodepool master: Add port-cleanup-interval config option  https://review.opendev.org/68702416:21
clarkbor use a longer interval?16:22
jangutterclarkb: I think I tested it with a cleanup time of 2 seconds and the ports got cleaned up too early ... I set it to 5 seconds, and it seems OK....16:22
fungiwould that still be racey?16:22
clarkbfungi: possibly16:22
clarkbI've just checked with 10 second and ya that works16:23
clarkbI'm looking for an example where we update the config mid test and haven't found one yet16:23
clarkbShrews: ^ is that a simple thing to do? currently useNodepool takes the config file which I'm not sure we can call multiple times to update a pool16:23
jangutterclarkb, fungi: the check for the two down ports can really be zapped in my opinion. There's an assert later for the zookeeper record that checks whether the ports were cleaned.16:23
openstackgerritLuigi Toscano proposed zuul/zuul-jobs master: fetch-subunit-output: collect additional subunits (2nd try)  https://review.opendev.org/67433416:30
Shrewsclarkb: there is a replace_config() or similar call. i forget the name off hand16:35
Shrewsjangutter: that's going to be racey to have two checks for down ports and assuming one will happen before the 5 seconds hits16:36
jangutterShrews: yeah my opinion is that checking for the down ports is covered by the assert later.16:37
Shrewsi disagree16:39
jangutterShrews how so? I need to double-check but in my reading that stat only gets increased if a leaked port gets cleaned.16:41
jangutterAh, there's another failure mode here that should be tested, checking that the cleanup interval is actually honoured.16:42
*** brendangalloway has quit IRC16:43
jangutterSo, in actual fact, the test should check _how many seconds_ it takes before the ports have been cleaned up, then compare that with an error margin to the config setting.16:43
Shrewsjangutter: If you want to only depend on the stat, then you have to add some sort of wait until the stat is reported. You aren't fixing anything, only moving the wait to a different place. Removing the DOWN check before that to get your test to pass (even though it may or may not be redundant) is not the correct thing to do.16:49
jangutterShrews, sorry, I meant there are two checks -> one checks for 2 DOWN ports. The second check waits until all DOWN ports are gone.16:50
Shrewsjangutter: i can help look at why it's failing for you in a little bit, if you like. need to lunch now16:50
jangutterShrews, it's running now, but it looks like I hit some flakiness.16:51
jangutterShrews, can check with you tomorrow (I'm in GMT+2 timezone)16:51
clarkbjangutter: if you don't mind I can try pushing up a patchset with the config replace in a few minutes (once I find that config replace call)16:51
jangutterclarkb: I absolutely don't mind in the least!16:52
jangutteralso general thank you to the channel for indulgences!16:53
clarkbI think replace_config doesn't actually trigger provider updates16:54
clarkbmaybe I'm missing a second call I need to make16:54
clarkbIf I can sort it out I'll push the new patchset16:55
*** bhavikdbavishi has joined #zuul16:56
*** mgoddard has quit IRC16:57
jangutterIs the nodepool-functional-k8s a bit flakey?16:59
clarkbjangutter: yes I think it has networking problems on some providers17:00
jangutterclarkb: thanks, unlikely that a change in the openstack provider would knock on it, but one never knows.17:00
*** mgoddard has joined #zuul17:02
clarkbsomething with the config replacement confuses the test fakes state. The log shows the two ports being removed but listPorts shows the ports still remaining17:05
*** jamesmcarthur has quit IRC17:06
openstackgerritLuigi Toscano proposed zuul/zuul-jobs master: fetch-subunit-output: collect additional subunits (2nd try)  https://review.opendev.org/67433417:06
jangutterclarkb: alternatively, I was thinking of setting the timeout to be in the order of 15 seconds, and check that the ports are deleted between 10 and 20 seconds later.17:08
jangutterclarkb: since reconfig's not necessarily what we want to test here.17:10
*** jpena is now known as jpena|off17:11
clarkbya, that just makes for a long test case17:14
openstackgerritLuigi Toscano proposed zuul/zuul-jobs master: fetch-subunit-output: collect additional subunits (2nd try)  https://review.opendev.org/67433417:16
openstackgerritGabor Lekeny proposed zuul/zuul master: Decode k8s ServiceAccount bearer token  https://review.opendev.org/68710717:17
*** pcaruana has quit IRC17:21
openstackgerritJames E. Blair proposed zuul/zuul-registry master: WIP implement shadow proxying  https://review.opendev.org/68711317:25
openstackgerritLuigi Toscano proposed zuul/zuul-jobs master: fetch-subunit-output: collect additional subunits (2nd try)  https://review.opendev.org/67433417:26
*** bhavikdbavishi has quit IRC17:28
corvustristanC, clarkb, fungi, Shrews: 687113 is a first pass at the buildset registry portion of zuul-registry -- if we do the steps outlined in the commit message on a test node, we can convince docker to talk to our registry instead of dockerhub, and it con provide both local and upstream content (via proxying)17:28
corvusi've tested that with dockerhub, next is to try quay.io, and gcr.io17:28
*** bhavikdbavishi has joined #zuul17:29
clarkbcorvus: and we can't convince the docker daemon to talk to localhost instead of dockerhub due to the weird fallback behavior it has? (thinking that might be better than pretending to be dockerhub?)17:30
corvusclarkb: we can do what we do now, which is use registry-mirrors to do that for dockerhub, but registry-mirrors doesn't support other registries; istr there's a PR for that.  so the mitm approach is to try to find something that works the same way for multiple upstream registries (at least until that pr merges)17:31
*** jamesmcarthur has joined #zuul17:31
openstackgerritTristan Cacqueray proposed zuul/zuul-registry master: Add type annotations  https://review.opendev.org/68624917:36
openstackgerritTristan Cacqueray proposed zuul/zuul-registry master: Add hypothesis based test for the storage module  https://review.opendev.org/68711817:36
corvusclarkb: alternatively, maybe we could target only containerd based systems -- i think that backend/client does support mirrors for all registries17:37
corvusthat merged in april: https://github.com/containers/image/pull/56417:37
corvusi'm not sure how hard it would be to do that on a bionic system17:38
clarkbskimming that really quickly it seems that skopeo would be the client side of that?17:40
openstackgerritTristan Cacqueray proposed zuul/zuul-registry master: Add hypothesis based test for the storage module  https://review.opendev.org/68711817:40
corvusclarkb: here's the pr i was thinking of: https://github.com/moby/moby/pull/3431917:49
corvusi would not bet money on that ever being merged17:50
AJaegercorvus: oh, that one - text book example of how not to treat a contributor ;(17:50
corvus(note there's some overlap in personnel in those 2 prs)17:50
corvusAJaeger: yeah, it seems to me that they're dragging their feet on it, likely because it's incompatible with their business goals17:52
AJaegercorvus: air-gap installs are a reality. But if large banks etc are not your customers,...17:53
fungithe rumor mill says docker is crumbling anyway, so maybe there will be no business goals to worry about soon17:54
corvusi'd be more than happy to go all in on the containerd route if there was a story for that on debuntu systems -- maybe we just need a newer release of something with https://github.com/containers/image/pull/564 ?  i'm having a little trouble keeping track of which parts of "docker" are which on all the different systems17:55
AJaegercorvus: fungi yeah - example https://www.zdnet.com/article/docker-is-in-deep-trouble/17:55
clarkbjangutter: Shrews ok I understand what is going on with the earlier patchsets. When we set the value to 2 in the test nodepool notices that differs from the on disk config and reloads the config setting it back to 600 :)17:56
clarkbjangutter: Shrews the problem later with updating the config seems to be that we end up with multiple accounting of the down ports and somewhere the test suite gets confused17:56
AJaegercorvus, fungi, clarkb, any comments on https://review.opendev.org/686932 - this should fix that "recheck" an approved change will only go to gate with an extra +A (as currently in Zuul tenant). Alternative is https://review.opendev.org/68693317:57
clarkbjangutter: Shrews I think that implies we do need to set the value in config to match what we want in the test (either replacing config or starting with that config directly)17:57
corvusAJaeger: i vote for 686933 -- that's how things used to work until clean check came around.  i'd rather not have half of clean check17:58
*** pcaruana has joined #zuul18:00
fungiwould a hybrid of the two work? if recheck also enqueued into the gate, then in cases where there was no workflow +1 yet it would be dequeued immediately and only the check instance would remain. in cases where there was already a workflow +1 present the instance enqueued into the gate pipeline would supercede the check pipeline instance which would be dequeued instead18:00
corvusfungi: that theory seems sound and would be fine with me.  i'm a little curious about how far zuul would get before gate dequeued check (would it go so far as to request nodes?).  but even that shouldn't be a significant problem.18:02
corvusthough it does mean you can't choose to recheck something with a W+1 without enqueing it into gate18:03
fungithat's a fair point18:03
corvusi'm okay with that too -- i'm more concerned with the other way around :)18:03
fungiwell, unless you set your own wip vote on it or something which would prevent gating18:03
fungithe only thing about 686933 which particularly worries me is institutional knowledge, and folks expecting recheck to work for reattempting gate pipeline jobs, similar to how it does in some other tenants18:04
corvusthat does not bother me18:04
fungibut it doesn't worry me enough to oppose it, just means additional learning curve for some18:05
corvussome things are worth unlearning18:05
fungitrue18:05
AJaegerwhat about  using "recheck" instead of "reverify" in 933?18:05
fungithat's basically what i was talking about, yeah18:06
fungior letting 933 support both recheck and reverify18:06
AJaegerI'd like some more consistency between the tenants...18:06
AJaegerfungi: or that18:06
fungias synonyms18:06
fungithis is getting close to bikeshed territory though, so i'm honestly fine with either approach18:07
AJaegercorvus: any objections to use (recheck|reverify) ?18:08
corvusthe reason we made multiple tenants is so that we don't have to be consistent between them18:11
corvusone of the main reasons i'm working on opendev is so that zuul's own zuul can have the best configuration for itself.  so that people see that the way openstack's zuul is configured is not the only way to use it.18:14
corvusanyway, there are plenty of other things to consider other than consistency.  if we want to try the recheck/supercede thing, maybe "recheck|reverify" is the way to go?18:15
openstackgerritLuigi Toscano proposed zuul/zuul-jobs master: fetch-subunit-output: collect additional subunits (2nd try)  https://review.opendev.org/67433418:24
corvus18:27 < clarkb> I think that there will be people out there that want to test image builds with docker and zuul should likely support that18:29
corvussorry for channel switching; there's a blurry opendev/zuul line on this topic18:30
corvustristanC, clarkb: ^ if we accept that, then i think we're stuck with mitm until https://github.com/moby/moby/pull/34319 merges (which will probably be after docker, inc runs out of money)18:30
tristanCcorvus: alright18:32
corvus(well, i can think of one other option, but i don't love it:  we could avoid mitm by having one configuration for docker, which is docker-only, and another configuration for non-docker, which lets you use all the registries)18:33
corvusso basically, if you are using the docker runtime, you get speculative dockerhub images and that's it.  if you're using non-docker, you get the whole universe.18:34
corvusmaybe that's okay?  the thing it would not support is a docker build/test job that speculatively depended on a quay.io hosted image.18:35
*** bhavikdbavishi has quit IRC18:35
pabelangerseems like a win to use non docker in that case18:37
pabelangerinteresting, looks like podman-compose has an exmaple for awx: https://github.com/containers/podman-compose/blob/devel/examples/awx3/docker-compose.yml18:38
tristanCcorvus: so, podman-compose up on zuul quick start is blocked by what seems like an apt question: http://paste.openstack.org/show/781763/18:40
tristanCcorvus: and trying to s/docker/podman/ in zuul tests, i'm not sure what should be done with regards to the use-buildset-registry role18:41
mordredcorvus: ooh - I also don't LOVE that one - but I bet the intersection of "must docker the dockers" and "everything is on dockerhub" is pretty high - and people using non-standard registries might also be more likely be more open to considering the use of podman and friends ... and also just saying "if you use the podman toolchain you get these features" is a nice selling point to communicate the greater power18:41
mordredof not being locked in to docker itself18:41
clarkbtristanC: should add a -y18:41
corvustristanC: i don't understand what command produced that output?18:41
clarkbcorvus: I think it is an apt-get install of libssl18:42
corvusclarkb: in a container?18:42
clarkbcorvus: ya18:42
clarkbpossibly from bindep?18:42
tristanCcorvus: this is happening for podman build -t examples_node -f ./node-Dockerfile --build-arg http_proxy --build-arg https_proxy --build-arg no_proxy=,gerrit ./18:42
corvuswhy is that different under podman and docker?18:42
clarkbcorvus: it might not be different, could just be timing (libssl just updated and test node images haven't caught up or something)18:42
pabelangermaybe need to pass non-interactive mode?18:43
tristanCclarkb: indeed, and node-Dockerfile is not using "-y" to update18:43
corvustristanC: re use-buildset-registry -- we could adapt it to podman, but i'd prefer that we leave it as-is for now and focus on zuul-registry.  in other words, the answer to "how do we get zuul tests that use use-buildset-registry using non-docker" is "finish zuul-registry and the related roles to use it"18:44
corvustristanC, clarkb: so "podman build" likely handles stdin differently than "docker build"18:44
corvusdocker probably handles it in a way that dpkg knows it's non-interactive18:45
corvusi think "-y" would be fine18:45
mordred++18:45
corvusmordred: yeah, if we think the bifurcated option "docker & docker  vs  containers & everything" is reasonable for the majority of zuul users, i could probably go along with that.  it does sort of say "these choices are dictated by the runtime you choose.  choose wisely."18:46
corvusalso it does not involve mitm.18:46
mordredyeah18:47
corvusclarkb: what do you think about that option?18:47
clarkbcorvus: I think that is a reasonable compromise18:47
mordredcorvus: also - if anyone gets pissed off about the fact that docker doesn't have multi-registry - we can point them at the PR and suggest they go nag someone about it18:48
pabelanger++18:48
openstackgerritTristan Cacqueray proposed zuul/zuul master: quick-start: ensure apt-get update is ran non-interactively  https://review.opendev.org/68713418:51
openstackgerritTristan Cacqueray proposed zuul/zuul master: Replace docker by podman for quick-start  https://review.opendev.org/68713518:51
fungior fork moby18:52
fungiwhichever is easier ;)18:52
openstackgerritAndreas Jaeger proposed zuul/project-config master: Make recheck alias reverify in gate  https://review.opendev.org/68713618:54
AJaegerfungi, corvus, mordred, here's followup to 933 ^18:54
corvusAJaeger: thanks!18:55
corvusokay, i think i'm getting a posittive vibe for using registry mirrors (with the docker vs non-docker limitations) with zuul-registry instead of the mitm approach.  i'll look into that a bit more then.  given that i'm probably going to have to (at least) test that out with docker, podman, k8s -- this may take a bit.  :)19:00
openstackgerritTim Burke proposed zuul/zuul-registry master: Rework the stream_blob/stream_object API  https://review.opendev.org/68682719:00
openstackgerritClark Boylan proposed zuul/nodepool master: Add port-cleanup-interval config option  https://review.opendev.org/68702419:07
clarkbjangutter: Shrews ^ the while loop I added to the test turned out to be the important thing19:07
openstackgerritTristan Cacqueray proposed zuul/zuul-registry master: Add hypothesis based test for the storage module  https://review.opendev.org/68711819:12
tristanCcorvus: i'm investigating this hypothesis library for testing ^, there is an extension (hypothesis-auto) that can generates test case for annotated function types.19:15
clarkbtristanC: one question I had looking at that is if the generated arguments (eg given binary()) is deterministic or not19:20
clarkbit might be difficult to reproduce failures locally if the inputs are truly random19:20
clarkb(maybe we have to log all inputs in that case or maybe the lib already does this?)19:21
tristanCclarkb: it tells you when a case failed: Falsifying example: test_upload(self=<tests.test_storage.TestStorageLayer.test_upload id=0x7f1b6493e850>, chunks=b'')19:21
clarkbtristanC: is there an easy way to rerun the test case with that input? I guess edit the test case and remove the decorator and hard set the parameter value19:24
fungiadding support for something like tox does for a fixed hashseed (and recording the seed value on each invocation) would be nice if it doesn't already exist19:25
tristanCclarkb: actually there is an @example annotation you can commit to ensure the failing test are always run, here is the documentation: https://hypothesis.readthedocs.io/en/latest/reproducing.html19:26
clarkblooks like you can set the seed too19:27
clarkbmaybe set that to the python hashseed?19:27
clarkbthen we can always set that value to reproduce locally19:28
fungiwell, there's always the chance that you miss a bug caused by the two seeds being synchronized i guess, but that seems highly implausible19:28
*** pcaruana has quit IRC19:32
tristanCclarkb: hypothesis prints out the seed (i think it's the id= key from the above example). the doc also says that test data shouldn't be considered random as the goal is to generate any valid data19:33
openstackgerritClark Boylan proposed zuul/nodepool master: Use real uuids in fake cloud resource IDs  https://review.opendev.org/68714419:34
clarkbtristanC: ya, the problem then is setting it. If however you set it to some seed that is already changing on every python invocation (like the hash seed) then you can simply set that via the python env var to do so19:34
clarkbtristanC: its a small convenience thing19:34
clarkbShrews: ^ 687144 is a quality of life change to the test suite to try and disambiguite some of the fakes we've got to make understanding logs easier19:35
openstackgerritTim Burke proposed zuul/zuul-registry master: Rework the stream_blob/stream_object API  https://review.opendev.org/68682719:41
Shrewsclarkb: *nod*  I've been toying with changing the entire Fake driver because there are several things about it that annoy me and make testing difficult19:45
Shrewsclarkb: currently experimenting with using zk as the backend rather than in-memory structures so that threads can truly share a provider19:47
clarkbShrews: ya the next thing I was thinking about was makign the resources global to a test so that they could be operated on my many clients with the same view of the world19:48
clarkbbut for debugging that change from jangutter simply updating the uuids was enough so starting there19:48
openstackgerritDavid Shrewsbury proposed zuul/nodepool master: WIP: experimenting with using ZK for fake driver  https://review.opendev.org/68715019:49
Shrewsclarkb: that's what i have atm  ^^, if you're curious19:50
*** armstrongs has joined #zuul19:50
Shrewsnot sure how this is going to turn out yet, though19:50
*** armstrongs has quit IRC19:59
openstackgerritMerged zuul/zuul-registry master: Rework the stream_blob/stream_object API  https://review.opendev.org/68682720:09
*** igordc has joined #zuul20:13
*** jamesmcarthur has quit IRC20:19
*** hashar has joined #zuul20:30
openstackgerritTristan Cacqueray proposed zuul/zuul-registry master: Add hypothesis rule based state machine test and fix path issue  https://review.opendev.org/68715720:40
clarkbtristanC: can you see my comments on ^ and its parent? I think we may be zoomed in on ensuring the individual methods do the right thing and avoid doing proper error handling at a higher level21:03
clarkbfor example https://review.opendev.org/#/c/687118/3/zuul_registry/storage.py if metadata is None then that is likely an error right? in which case we should return an error? also we should handle that on the write side too21:03
tristanCclarkb: it's probably an error, and perhaps the method that returns Optional value like get_size should raise an exception to prevent getting into such case where we json.loads(None)21:15
*** hashar has quit IRC21:27
openstackgerritTristan Cacqueray proposed zuul/zuul-registry master: Add hypothesis based test for the storage module  https://review.opendev.org/68711821:43
openstackgerritTristan Cacqueray proposed zuul/zuul-registry master: Add hypothesis rule based state machine test and fix path issue  https://review.opendev.org/68715721:43
openstackgerritLuigi Toscano proposed zuul/zuul-jobs master: fetch-subunit-output: collect additional subunits (2nd try)  https://review.opendev.org/67433422:54
*** saneax has joined #zuul22:58
corvustristanC: there is something really weird happening when i set up zuul-registry with a local filestorage, and "docker push" an image into it and then "podman pull" the same image out.  i can not see what is different about that yet.  i'm sure it's something we can fix though -- "podman push" and "podman pull" work as expected.22:59
tristanCcorvus: what happen when "podman pull" a "docker push"'ed image? Are they different?23:02
corvustristanC: i get this error with "podman image list": ERRO[0000] error checking if image is a parent "f32a97de94e13d29835a19851acd6cbc7979d1d50f703725541e44bb89a1ce91": image not known23:03
corvustristanC: (it's not a permissions issue, which is what a google search for that will turn up)23:03
corvustristanC: instead, looking at the local container storage, it looks like it has somehow failed to save the image config json23:04
openstackgerritLuigi Toscano proposed zuul/zuul-jobs master: fetch-subunit-output: collect additional subunits (2nd try)  https://review.opendev.org/67433423:04
tristanCcorvus: it might be because podman manage both oci v1 spec and docker.V2S2 format, we would have to compare the manifest and how podman inspect the one created from docker23:05
tristanCcorvus: got to go now, i can have a look tomorrow23:05
corvustristanC, clarkb: but otherwise, i haven't run into any blockers yet -- the approach we talked about earlier is still looking promising.  i'll probably need a few more days to work out details.23:05
openstackgerritJeremy Stanley proposed zuul/zuul-website master: Link to instructions on vulnerability reporting  https://review.opendev.org/68579923:21
openstackgerritLuigi Toscano proposed zuul/zuul-jobs master: fetch-subunit-output: collect additional subunits (2nd try)  https://review.opendev.org/67433423:31
*** armstrongs has joined #zuul23:32
*** tosky has quit IRC23:40
*** armstrongs has quit IRC23:42
*** mattw4 has quit IRC23:59

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