Wednesday, 2017-08-02

*** jkilpatr has quit IRC00:08
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Wrap handle_keys with debug statement  https://review.openstack.org/48977700:13
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Fix webapp path parsing  https://review.openstack.org/48977900:13
openstackgerritJesse Keating proposed openstack-infra/zuul feature/zuulv3: Simplify github status descriptions  https://review.openstack.org/48976700:42
*** jkilpatr has joined #zuul01:00
openstackgerritIan Wienand proposed openstack-infra/nodepool master: Support fedora-26 for nodepool dsvm job  https://review.openstack.org/48294201:13
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Make github ssl verification configurable  https://review.openstack.org/48957301:14
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Add max-nodes-per-job tenant setting  https://review.openstack.org/48948101:14
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Use zuul attributes in nodeset section  https://review.openstack.org/48950601:14
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Add a short name to the project in the inventory  https://review.openstack.org/48887701:15
*** jkilpatr has quit IRC01:17
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Use project object in _uploadPack in gerrit driver  https://review.openstack.org/48856001:27
*** https_GK1wmSU has joined #zuul01:50
*** https_GK1wmSU has left #zuul01:51
openstackgerritMerged openstack-infra/nodepool master: Support fedora-26 for nodepool dsvm job  https://review.openstack.org/48294204:30
tobiashjlk: sorry, that was too late for me (utc+2)05:12
openstackgerritTobias Henkel proposed openstack-infra/zuul feature/zuulv3: Don't ignore inexistent jobs in config  https://review.openstack.org/48875805:18
tobiashjeblair: fixed the broken test case ^^^05:18
tobiashjlk: I like your change about the status descriptions :)05:22
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Simplify github status descriptions  https://review.openstack.org/48976705:31
openstackgerritMerged openstack-infra/zuul-jobs master: Simplify run tox task  https://review.openstack.org/48755105:44
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Rename Node.hold_reason to 'comment'  https://review.openstack.org/48971706:33
*** hashar has joined #zuul07:35
*** amoralej|off is now known as amoralej07:44
openstackgerritTobias Henkel proposed openstack-infra/zuul feature/zuulv3: Fix github dependent pipeline with merge  https://review.openstack.org/48992508:30
tobiashjlk: that fixes broken github gating with merge for me ^^^08:31
*** openstackgerrit has quit IRC08:33
*** _ari_|gone is now known as _ari_11:23
*** jkilpatr has joined #zuul11:24
*** dkranz_ has quit IRC12:10
*** amoralej is now known as amoralej|lunch12:18
*** electrofelix has joined #zuul12:26
electrofelixfor zuulv3 is it intended to allow multiple sources (gerrit, github, etc) into the same pipeline? or will pipelines from different sources always need to be separate?12:26
electrofelixbased on what I thought was going to be supported for cross-project-dependencies I was assuming it was planned to be the former at some point?12:27
electrofelixbut I can't find anything definitive12:27
tobiashelectrofelix: zuulv3 already supports multi-source pipelines12:28
*** amoralej|lunch is now known as amoralej12:29
tobiashelectrofelix: but cross project dependencies are currently limited to a single source, but cross source dependencies will probably be supported with the final release of zuulv312:29
electrofelixtobiash: oh, that's very nice to know. So a single check pipeline can be used for patches from either gerrit or github? instead of needing two different ones?12:30
tobiashelectrofelix: yes12:30
tobiashelectrofelix: https://github.com/openstack-infra/project-config/blob/master/zuul.yaml12:31
tobiashelectrofelix: this is already an example of a multi-source check pipeline12:31
tobiashelectrofelix: you just have to specify the triggers, requirements, reporters for each source in the pipeline12:32
electrofelixthanks for the update, that example will help immensely12:33
electrofelixis there currently any reason not to run zuul v3 besides that it's assumed not 100% stable? any features that are missing that were in v2?12:34
mordredelectrofelix: mostly documentation and we still might break things on you12:37
mordredelectrofelix: it's working great though12:39
mordredelectrofelix: also, as tobiash said, cross-source depends are definitely on the roadmap12:39
electrofelixas we use a docker image from a specific SHA1 that would only happen when we re-spun to a newer SHA112:39
tobiashelectrofelix: so you should not run a productive zuulv3 environment yet ;)12:40
electrofelixnot needing to maintain a separate set of pipelines for Gerrit and GitHub changes would tidy things up immensely for us12:40
electrofelixin the mean time I might look at some local tweaks to make it easier to deal with the consolidation in the future12:41
*** openstackgerrit has joined #zuul12:42
openstackgerritTobias Henkel proposed openstack-infra/zuul feature/zuulv3: Optionally limit github to protected branches  https://review.openstack.org/49000912:42
tobiashjeblair, jlk: what do you think about ^^^?12:42
tobiashjeblair, jlk: that would fix my problem with a 'branch and pull' model on a shared repository12:43
tobiashjeblair, jlk: I think this is more generic and more secure in comparison with a manually managed list of branch filters in the tenant config (which might still be a thing we want, e.g for supporting experimental branches)12:44
*** amoralej is now known as amoralej|lunch12:47
mordredtobiash: oh, I like that12:51
tobiash:)12:51
mordredtobiash: I'm pondering the config option for things like openstack-zuul and thinking about us potentially wanting to be able to override that setting on a per-repo basis12:52
tobiashmordred: override per repo might be a good idea, that would probably go into tenants.yaml12:54
mordredtobiash: like - if openstack wanted to run some tests on PRs to github.com/pypa/pip but that wasn't set up with branch protection, but we still wanted to go generally with the 'only protected branches' approach12:54
mordredtobiash: ++12:54
openstackgerritTobias Henkel proposed openstack-infra/zuul feature/zuulv3: Optionally limit github to protected branches  https://review.openstack.org/49000912:57
*** mnaser has left #zuul12:59
openstackgerritDavid Shrewsbury proposed openstack-infra/nodepool feature/zuulv3: Add --detail option to nodepool list command  https://review.openstack.org/48972013:17
Shrewstobiash: is that what you were looking for in the test?  ^^^13:18
tobiashmordred: shitty, if I want to override that in tenant config I'd have to pass the tenant through several layers of the configloader and driver to getprojectbranches13:18
tobiashShrews: almost, it would be cool, if there also would be an assert for the detailed with 11 columns13:20
Shrewstobiash: not sure i understand. do you want to check that there are exactly 11 columns?13:20
tobiashShrews: so a test without details which asserts on 5 columns and a test which asserts the detailed list with 11 columns as it was before13:21
*** dkranz_ has joined #zuul13:22
Shrewstobiash: so, a column count?  self.assertEquals(num_columns, 5)  or self.assertEquals(num_columns, 11)  ?13:23
tobiashShrews: so if I understood correctly this 5 is a column count right?13:24
Shrewstobiash: err, i guess those numbers are off, but yes, column counts13:25
Shrews8 and 15, i think13:25
tobiashShrews: https://review.openstack.org/#/c/489720/4/nodepool/tests/test_commands.py@6613:25
tobiashShrews: or is this 5 something different?13:26
Shrewstobiash: that's the column containing the value we are verifying. the example you pasted in the comment doesn't really make sense in that respect13:26
Shrewsso 5 == status13:27
Shrewswe don't want to change that13:27
tobiashShrews: ah that explains my confusion13:27
Shrewsok, phew. i was getting really confused too  :)13:28
tobiashShrews: ok, then I'm suggesting checking additionally the number of columns for each detailed and non-detailed13:28
tobiashShrews: that would at least prove that that --detail is different than not supplying --detail13:29
Shrewstobiash: we don't really do that with any other command, and would require changing assert_listed() somehow (which is used in lots of places)13:30
Shrewstrying to think of a way to do that that doesn't impact lots of tests13:31
*** xinliang has quit IRC13:32
tobiashShrews: possibly just a new assert, but if that's too much overhead I'm also ok with not doing this (I'll be testing this automatically from time to time while watching nodepool@work)13:33
*** amoralej|lunch is now known as amoralej13:37
openstackgerritDavid Shrewsbury proposed openstack-infra/nodepool feature/zuulv3: Add --detail option to nodepool list command  https://review.openstack.org/48972013:43
Shrewstobiash: ^^^ that's the only way i can think of to do what you want there. if that doesn't cut it, i think we should not worry about it.13:44
*** xinliang has joined #zuul13:44
tobiashShrews: :)13:46
tobiash+213:46
openstackgerritDavid Shrewsbury proposed openstack-infra/nodepool feature/zuulv3: Add hold job to nodepool list output  https://review.openstack.org/48972113:48
openstackgerritTobias Henkel proposed openstack-infra/zuul feature/zuulv3: Fix github dependent pipeline with merge  https://review.openstack.org/48992514:32
openstackgerritTobias Henkel proposed openstack-infra/zuul feature/zuulv3: Remove getProjectBranches from FakeGithubConnection  https://review.openstack.org/49004314:32
openstackgerritPaul Belanger proposed openstack-infra/zuul-jobs master: Update tox-tarball to use tox role  https://review.openstack.org/48970514:35
openstackgerritPaul Belanger proposed openstack-infra/zuul-jobs master: Log file stats for tox tarball / wheels  https://review.openstack.org/49004514:35
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Use py35 tox envlist for documentation  https://review.openstack.org/48970714:37
openstackgerritPaul Belanger proposed openstack-infra/zuul-jobs master: Log file stats for tox tarball / wheels  https://review.openstack.org/49004514:51
pabelangerjeblair: mordred: any issue restarting zuulv3 to pick up public key fixes from yesterday?15:12
*** electrofelix has quit IRC15:23
openstackgerritDavid Shrewsbury proposed openstack-infra/nodepool feature/zuulv3: Add hold job to nodepool list output  https://review.openstack.org/48972115:24
jeblairpabelanger: go for it15:27
jeblairtobiash: i like the protected branches thing (though i still think we'll probably need a specific branch list at some point).  but i think it should probably go into the tenant config.  i think that's a setting that is likely to vary from tenant to tenant and even project to project.15:29
tobiashjeblair: yes, currently working on it15:31
tobiashjeblair: so you want it *only* in tenant config?15:31
jlktobiash: will be reading those changes this morning15:33
tobiashok15:33
jeblairtobiash: yes i think so.  connection doesn't seem like the right level.15:37
jlkhrm.15:39
jlkso putting it in tenant config means that the repo owner can't make that decision and set it for themselves.15:40
jlkit'll have to go through whomever owns the tenant config repo.15:40
jlktobiash: I'm still really weirded out that 140+ chars overflows 1024 bytes. Doesn't seem right at all, but ¯\_(ツ)_/¯15:41
tobiashjlk: this is probably a bug in the docs or in our github enterprise version15:43
jlkFair enough. A pipeline name of over 140 chars would be pretty silly anyway15:43
jlkand it'd make the github UI look weird when displaying the description15:43
pabelangerjeblair: mordred: yay: http://zuulv3.openstack.org/keys/gerrit/openstack-dev/sandbox.pub15:46
pabelangerthanks for the help15:46
mordredpabelanger: woot!15:49
pabelangermordred: jeblair: I'm having some design troubles with tarball publisher, think we could jump into pbx.o.o so I can bounce some ideas off you?16:17
jeblairpabelanger: wfm16:17
mordredsure16:17
pabelangerk, give me a minute to get the room16:18
pabelangersip:6000@pbx.openstack.org16:21
pabelangerhttps://wiki.openstack.org/wiki/Infrastructure/Conferencing for DIDs16:21
pabelangerjeblair: both mordred and I are in the conference room16:23
openstackgerritMerged openstack-infra/nodepool feature/zuulv3: Add --detail option to nodepool list command  https://review.openstack.org/48972016:39
tobiashjeblair, jlk: regarding exclude unprotected branches in tenant config: https://etherpad.openstack.org/p/vQIkn0Y7ya16:40
tobiashjeblair, jlk: would that be ok?16:40
openstackgerritMerged openstack-infra/nodepool feature/zuulv3: Add hold job to nodepool list output  https://review.openstack.org/48972116:47
jlktobiash: I don't see anything necessarily wrong with that. I can't think of a good way to let a project directly set it, outside of tenant config.16:49
tobiashok, then I'll go this approach16:50
jlkI also defer to jeblair on it :D16:50
Shrewsaaahhh, 'nodepool list' output is so much nicer now17:00
mordredpabelanger, jeblair: https://pypi.python.org/pypi/shade/1.22.217:04
jeblairfungi: are there gpg signatures on pypi?17:04
jeblairclarkb: ^?17:04
clarkbya you can pushed signed packages but I don't think pip verifies them on installation17:05
jeblairclarkb: is there a way to get the signature back if you upload it to pypi?17:05
pabelangerhttps://pypi.python.org/pypi/pip17:05
jeblairapparently so ^ :)17:06
fungijeblair: cheeseshop pypi "supports" uploading them but the maintainers have declared it a dead feature they won't support in "warehouse" pypi17:07
fungiso i never bothered to add uploading them there and we only upload them to tarballs.o.o as a result17:07
* jeblair head explodes17:07
*** hashar has quit IRC17:08
clarkbya I didn't think we were uploading them but didn't realize that was why17:09
clarkbfungi: we relying on on md5 instead?17:09
fungithere have been extensive threads, mostly it boils down to "most users of pypi won't know how to tell if the signature is from someone authorized to provide it" and the lack of interest in implementing additional access controls to prevent uploads for unsigned releases or releases signed by "wrong" keys17:09
clarkbthats a reasonable concern, I just don't know how you do anything better for verifying when people want to do so17:10
fungithere's a separate pep which has been in draft state for years about implementing tuf (the update framework)17:10
fungihttps://www.python.org/dev/peps/pep-0458/17:10
fungii guess there's also https://www.python.org/dev/peps/pep-0480/ now17:11
fungione of those the-perfect-is-the-enemy-of-the-good situations17:11
fungispend years debating the total solution when a partial solution could have at least been put in place in the interim17:12
*** harlowja has joined #zuul17:13
fungialso part of the issue is, i think, that dstufft and maybe others involved in pypa infrastructure harbor a general dislike of openpgp and would rather see it die quietly17:14
fungibut i gather there's a fear that if they implement signature uploading in warehouse, they'll be expected to maintain backward compatibility for that no matter what "better" solution they eventually agree on17:15
jeblairfungi: do you have a few minutes to hop on pbx with us?17:15
fungisure17:15
fungi6000?17:15
jeblair(also, anyone else is welcome to join)17:15
jeblairfungi: yup17:15
jeblairthe topic is release job logistics and is moving towards signing17:16
fungihttps://docs.openstack.org/infra/system-config/signing.html#generation17:26
fungi--export-options export-clean,export-minimal17:34
mordred-rw-rw-r--   1 mordred mordred    4089 Aug  2 12:35 temp.gnupg17:35
*** pbrobinson has quit IRC17:39
*** pbrobinson has joined #zuul17:40
jeblairhttps://davesteele.github.io/gpg/2014/09/20/anatomy-of-a-gpg-key/17:42
*** _ari_ is now known as alivigni17:48
*** alivigni is now known as _ari_17:49
*** amoralej is now known as amoralej|off18:08
fungipabelanger: are you going to write up a call summary?18:10
pabelangerfungi: I could18:11
fungimight be a good topic to brain-dump to the ml18:11
pabelangersure18:11
fungithanks!18:11
openstackgerritTobias Henkel proposed openstack-infra/zuul feature/zuulv3: Optionally limit github to protected branches  https://review.openstack.org/49013418:35
tobiashjeblair, jlk: second try for protected branches ^^^18:36
openstackgerritTobias Henkel proposed openstack-infra/zuul feature/zuulv3: Optionally limit github to protected branches  https://review.openstack.org/49013418:45
openstackgerritTobias Henkel proposed openstack-infra/zuul feature/zuulv3: Optionally limit github to protected branches  https://review.openstack.org/49013418:47
pabelangerfungi: summary send to openstack-infra ML18:53
pabelangersent*18:53
fungithanks! i readily await finding time to read it ;)18:54
mordredjeblair: are node-less jobs possible?19:05
pabelangermordred: Ya, found that out yesterday. Job passes by default, but nothing ran because it was missing in inventory19:09
jeblairmordred: yep.  intentionally so.  any issues should be treated as bugs.19:11
pabelangerhttps://review.openstack.org/#/c/489689/ ps4 is zuul comment19:11
mordredjeblair: so just nodes: [] ?19:14
jeblairmordred: yep, that's the idea.19:21
mordredkk19:26
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Add zuul.executor.work_root to inventory  https://review.openstack.org/49017319:40
pabelangerjeblair: mordred: ^would appreciate feedback19:41
jeblairpabelanger: this is so you can make new staging dirs off of work root?19:42
jeblair(just want to make sure there isn't a more specific thing that we should expose)19:43
pabelangerjeblair: ya, was thinking of having work_dir/tarballs on executor19:43
jeblairgotcha.  wfm.19:43
pabelangerI thought it was dirty writing into src_root19:43
jeblairyepu19:49
mordred++ wfm19:54
pabelangerjeblair: mordred: So, I think we might have a few issues running commands on ze01.o.o inside bwrap.  We have a very limited /etc folder atm.20:03
pabelangerjust testing pip command with bwrap-zuul, and already failing to find lsb_release20:03
pabelangerYa, starting to think going to be a little harder to run things in bubblewrap as we have it ATM.20:16
jeblairpabelanger: maybe we could make a twine venv and bind-mount it in?20:17
pabelangerI figured I could just bindmount /etc/lsb-release in zuul-bwrap, that will work on ze01.o.o (ubuntu-xenial), but /etc/lsb-release doesn't exist on fedora20:17
jeblair(the twine venv doesn't help us put something in zuul-jobs though)20:18
pabelangerjeblair: what about setting up a static node to do this from?  We still plan to have them right?20:19
pabelangerwe could then manage that via puppet or ansible-playbook20:19
jeblairpabelanger: if we fail to do this with v3 and dynamic nodes, then we've failed one of the principal goals of v3, so i'd rather not.  :)20:20
jeblairpabelanger: it would be better to have chained jobs as we do today, but just with 2 dynamic nodes instead of 1 dynamic+1 static.20:21
jeblairpabelanger: but still, i'd rather try to use the executor and 1 node20:21
pabelangerjeblair: right, that was in fact my first design attempt. 2 nodes to handle it20:21
jeblairpabelanger: want to see what you have to add to bwrap to make pip work?20:24
pabelangerjeblair: I think I can get it working on ubuntu easy, but supporting fedora / centos / other going to get complicated fast20:25
jeblairpabelanger: i think it's worth having the list of those requirements for ubuntu at least.  then we can think about whether we want to build this into zuul (in which case it needs to be platform aware) or just leave this as a local config option (site admin bind-mounts whatever files they need)20:25
pabelangerI almost want to say, we should have bubblwrap build up from a ubuntu-minimal DIB or something... but that is more work.20:25
pabelangerjeblair: Ya, some sort of bwrap config file might work also, much more flexable. I'll try to get pip working first20:28
jeblairpabelanger: right.  we do already support local ro/rw bind options20:28
openstackgerritMerged openstack-infra/zuul-jobs master: Add README for tox role  https://review.openstack.org/48975020:31
openstackgerritMerged openstack-infra/zuul-jobs master: Update tox-tarball to use tox role  https://review.openstack.org/48970520:32
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Use undefined values instead of 40 zeroes  https://review.openstack.org/48622520:35
pabelangerk, got it working on fedora20:36
pabelangerlet me test on ubuntu20:37
*** hashar has joined #zuul20:40
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Bindmount /etc/lsb-release into bubblewrap  https://review.openstack.org/49020020:50
*** https_GK1wmSU has joined #zuul20:53
*** https_GK1wmSU has left #zuul20:54
*** dkranz_ has quit IRC20:56
openstackgerritPaul Belanger proposed openstack-infra/zuul-jobs master: Log file stats for tox tarball / wheels  https://review.openstack.org/49004520:58
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Don't request empty nodesets  https://review.openstack.org/48724320:58
jeblairpabelanger: why depends-on instead of git parent?20:59
jeblairpabelanger: ignore me :)20:59
pabelangerjeblair: it was likely possible I did it wrong to :) I have to many terminals open ATM21:01
jeblairnope, i just confused some changes21:01
pabelangerjeblair: 490200 will likely break tristanC and softwarefactory too21:03
pabelanger /etc/lsb-release doesn't exist on centos21:03
jeblair20:28 < jeblair> pabelanger: right.  we do already support local ro/rw bind options21:04
jeblairpabelanger: https://docs.openstack.org/infra/zuul/feature/zuulv3/admin/components.html#id721:05
jeblairpabelanger: search for ro_paths21:05
pabelangerjeblair: Ah, I see. So, is  490200 needed or should I update our ro_paths in hiera?21:06
jeblairpabelanger: we can make it work now easily by doing the ro_paths.  we should check in with monty though because doing too much of this locally may affect our ability to have an effective twine job in zuul-jobs.21:07
jeblairand by monty, i mean mordred.  :)21:07
pabelangerok21:08
jeblairpabelanger: i think regardless it should be fine to add that to ro_paths now to continue working21:11
jeblair(to our local hiera i mean)21:12
jeblairjust note that we want to check back in on that as part of the refactor into zuul-jobs21:12
pabelangerjeblair: wfm21:12
pabelangerjeblair: trusted_ro_dirs is the old version right?21:15
*** hashar has quit IRC21:15
jeblairpabelanger: yeah, thought we changed it?21:16
pabelangerya, still have old way in puppet21:16
pabelangerI can fix21:16
pabelangerah21:17
pabelangerhttps://review.openstack.org/#/c/488862/21:17
pabelanger+321:17
mordredwhat did I do?21:19
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Make timer tests less racy  https://review.openstack.org/49020821:19
mordredpabelanger, jeblair: I'm not sure what I shoudl be commenting on ...21:19
jeblairmordred: in order to pip install twine in bwrap, we need more things.  looks like lsb_release is all we need for ubuntu, but different things for different oses.21:20
mordredoh goodie. dare I ask why we need - oh - we need those to be able to pip install ANYTHING don't we?21:20
jeblairmordred: so should we try to handle that automagically in zuul internals, or expect users to add that to their trusted_ro_paths config setting21:20
jeblairapparently21:20
mordredjeblair: I think we should handle it automagically in zuul - having a functional pip in our bubblewrap seems like a thing that is legit to come up for folks21:21
mordredand the solution will be obtuse21:21
mordred"wy can't I pip install" "you are on centos so need to add XXX to trusted and untrusted ro_paths in your config"21:21
jeblairmordred: i agree.  my concern with that though is how far we go with that.  and whether installing software on the executor is something jobs should be doing.21:22
mordredI think we should keep the bar high - but I think pip is a reasonable thing in such a heavily python system21:22
pabelangermordred: for that to work, I think we need to pick just 1 operating system inside bwrap21:22
pabelangerotherwise, it will be a lot of cfgmgmt in zuul.bwrap driver21:23
jeblairall considerations of other users aside, bind-mounting a twine venv into openstack's executors seems ideal.  that's almost exactly the opposite of what we want from a user-friendly system though.21:23
mordredjeblair: in general I tihnk jobs should not be doing that - but this is a thing we know we need to do for a very normal and basic job in zuul-jobs21:23
jeblairmordred: i agree.  i'm worried about what we need to do to distribute a go package.  or docker image.21:23
jeblairall of those have equal legitimacy in zuul-jobs, and almost certainly come with their own additional requirements on being able to be done on the executor.21:24
mordredthat is an excellent point21:24
mordredWELL ... if we go the other direction ...21:24
jeblairi may be about to walk back from suggesting we do this on the executor.  :)21:24
pabelangerjeblair: right, I think to do it write, means we pull in a lot more stuff atm21:25
mordredsay for sake of argument that we make a requirements.txt for zuul-jobs into which we put things that need to be installed on the executor for zuul-jobs content to work21:25
pabelangerright*21:25
mordredif twine is installed globally on the executor, then we don't need to bind-mount anything21:25
mordredsame with putting gnupg into a bindep.txt for zuul-jobs21:26
mordredit may not be perfect- but it would let us communicate sanely that there are some things that need to be installed on the executor. we could also just add twine and gnupg to zuul's requirements.txt and bindep.txt respectively - but you don't actually need them to run zuul, so that seems weird21:27
mordredOH21:27
mordredwe could put them into zuul in an [executor] extra and with an executor tag in bindep21:27
pabelangerbut we don't run bindep on ze01.o.o right now21:27
mordred"these are things you need to install on executors in order to fully use zuul-jobs"21:28
mordredpabelanger: right. I mean into a bindep.txt file that is in a repo so that we can communicate to deployers depdendencies they need to install21:28
pabelangerI see21:28
jeblairmordred: it doesn't seem right that zuul-jobs should have any requirements on the executor.  it has so many implications for deployment.21:28
pabelangerHmm, kinda of feels odd to run ansible / puppet to setup executor, do then run ansible to run against the thing you just installed21:29
jeblairi should phrase that as "t doesn't seem right that zuul-jobs should place any requirements on the executor"21:29
pabelangerjeblair: agree21:29
jeblairi mean that in the english sense of the word requirements.21:29
jeblairnot as a technical term :)21:30
jeblair(even though they are 1:1 here)21:30
mordredthat would potentially mean not doing signing/publication on the executor itself yeah?21:30
jeblairmordred: yeah, i have nearly talked myself out of that21:30
pabelangeror wait until we have something, something docker executor?21:30
mordredpabelanger: I do not want to depend on anything anything docker21:30
mordredespecially  not if the thing it's solving is 'security'21:31
pabelangerright21:31
mordred;)21:31
pabelangerbut there is discussion about putting executor inside k8s, other tech21:31
jeblairpabelanger: if your real desire is a lighter-weight execution environment than vms, in which case, yes, this would be an appropriate use of that.21:31
pabelangerbut, I'm side tracking21:31
pabelangerso, if not twine from ze01.o.o, then multi-node job, is left right?21:32
jeblairpabelanger: i'm not sure what multinode gets us.  but two chained jobs like we have now, but with two nodepool nodes rather than static nodes would work.21:33
jeblair(rather than static+nodepool i mean)21:33
pabelangerjeblair: okay, yes. I was thinking that21:33
pabelangerI say, lets start with that21:34
pabelangersee how it looks21:34
mordredjeblair: so an upload to tarballs / download and upload dance?21:34
jeblairmordred: that's still not a great fit for zuul-jobs though, since it requires a tarballs intermediary.21:34
mordredyah21:34
mordredthis, I think, requires some amount of thought21:34
jeblairthe *real* problem here is that publishing to pypi is so complicated.  :)21:34
pabelangermordred: maybe this is the time we look at better artifact handling then21:34
jeblairpabelanger: i think if we want to open that can now, we should cancel the ptg rollout21:35
pabelangerjeblair: Hmm.. that bad?21:36
mordredyah. I think we can do tarball dance for now - it's openstack specific, but that's fine, they're customer 021:36
jeblairpabelanger: designing universal artifact handling for zuul is not something i want to do under deadline.21:36
pabelangerjeblair: no, understood21:36
pabelangerokay, tarball dance once again :)21:36
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Allow use of the uri module from localhost  https://review.openstack.org/49021521:37
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Prevent execution of locally overridden core modules  https://review.openstack.org/49021621:37
mordredjeblair: there's both enablement of uri and then fixing that hole ^^21:37
pabelangermordred: jeblair: https://review.openstack.org/490132/ gets us uploads to tarballs.o.o and depends-on21:38
pabelangerwe'll need to wait until zuul patch lands and reset to test21:38
jeblairmordred: fix looks good but we should have a test for that21:41
mordredjeblair: totally agree - that's next21:41
mordredpabelanger: first patch +A - reading second patch now21:41
pabelangermordred: thanks21:45
mordredpabelanger: something about the name publish-tox-openstack-tarballs is weird to me ... but I feel like I'm bikeshedding in my head ... so bear with me here for just a sec21:46
pabelangermordred: please do!21:48
mordredpabelanger: the underlying job is "tox-tarball" - so I kinda think it should maybe be publish-tox-tarball - but then I'm not sure tox-tarball belongs in zuul-jobs as opposed to openstack-zuul-jobs since using a tox venv to make a tarball is fairly openstack specific action21:48
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Add zuul.executor.work_root to inventory  https://review.openstack.org/49017321:49
mordredbut then that makes me wonder what our 'prefix-with-openstack' rules are ... we don'tneed them for everything, really only things that we expect a zuul-jobs version of a thing, yeah?21:49
pabelangermordred: right, we only need the add_hosts part really in project-config. The rest could be zuul-jobs, however we cannot persist add_hosts across repo21:51
pabelangeradd_hosts also needs to be trusted21:51
mordredSOOOOO - if I removed the tox thing from the scenario, I'd say that the general thing a job in zuul-jobs would do is "publish-python-sdist" or "publish-to-pypi" - and publishing a tarball to tarballs.o.o is "publish-openstack-tarball" perhaps ...21:51
mordredpabelanger: well, "tox -evenv -- python setup.py sdist" is totally openstack specific21:51
pabelangermordred: Right21:51
mordredpabelanger: (also, I'm rambling beecause I don't actually have a full thought ;) )21:52
jeblairpublish-openstack-tarball sounds nice, but what's the name of the job to publish a go tarball to tarballs.o.o?21:52
mordredpabelanger: so - I think maybe just 'publish-openstack-tarball'21:52
pabelangermordred: that would mean that tox-tarball today is openstack specific, which lives in zuul-jobs21:52
jeblairpabelanger: yeah, mordred's going to try to fix that with a PTI change :)21:52
pabelangerok21:53
pabelangerso, to recap. Just rename job to publish-openstack-tarball?21:53
pabelangerand keep tox-tarball for now?21:53
mordredpabelanger: yes - I think the other stuff is not necessary to do anything about now21:53
jeblairwait21:53
mordredwell - actually21:53
mordredyah21:54
jeblair21:52 < jeblair> publish-openstack-tarball sounds nice, but what's the name of the job to publish a go tarball to tarballs.o.o?21:54
mordredjeblair had a very good questoin21:54
jeblairsomeone needs to answer that first :)21:54
pabelangeroh, I missed that21:54
mordredshould it be publish-openstack-python-tarball?21:54
jeblairthat wfm21:55
pabelangerok21:55
pabelangerit's the tox part we have an issue with21:55
mordredyah. I don't think tox has much to do with the intent of the job for me at the moment21:56
pabelangerk21:56
mordredthe openstack part captures that some of the details about the job are openstack-specific21:56
mordredotherwise patch looks great21:57
pabelangerremote:   https://review.openstack.org/490132 Create publish-openstack-python-tarball trusted job21:58
mordredpabelanger: ++21:59
pabelangerneat!21:59
*** jkilpatr has quit IRC22:01
mordredjeblair: do you remember off the top of your head where the  test was you wrote related to testing the action plugins blocked things?22:07
jeblairmordred: https://review.openstack.org/45439622:07
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Add some lookup plugin tests  https://review.openstack.org/45439622:08
jeblairmordred: pushed up a rebased patchset since its test logs have expired anyway ^22:08
mordredcool22:08
jeblairwe'll see where it's failing22:08
pabelangerokay, going to step out for a bit. I'll look at restarting zuulv3.o.o then and continue testing uploads with openstack-dev/sandbox project.22:10
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Docs: use zuul:attr in project definition  https://review.openstack.org/48977422:13
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Don't request empty nodesets  https://review.openstack.org/48724322:16
jeblairclarkb: can you give https://review.openstack.org/486225 a quick look?22:17
jeblairclarkb: at least a conceptual review (it has sufficient code review i think)22:18
clarkblooking now22:19
clarkband done. Straightforawrd so I went ahead and apporved it22:20
clarkb(we need a zuul env shim thing anyways since we remove all the env vars so rewriting that as '0' * 40 if necessary won't be terrible22:21
jeblairclarkb: ++22:21
jeblairi think very few things use that too22:22
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Docs: use zuul:attr in secrets  https://review.openstack.org/49023622:23
jeblairthat ^ is all of config.rst using the new directives22:25
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Use undefined values instead of 40 zeroes  https://review.openstack.org/48622522:27
*** https_GK1wmSU has joined #zuul22:37
*** jkilpatr has joined #zuul22:38
*** https_GK1wmSU has left #zuul22:40
*** jkilpatr has quit IRC22:50
*** jkilpatr has joined #zuul22:50
openstackgerritMerged openstack-infra/zuul feature/zuulv3: Docs: use zuul:attr in secrets  https://review.openstack.org/49023622:52
jlkmordred: jeblair: are you two around? I want to talk about this change allowing URI locally23:01
jeblairjlk: o/23:02
jeblairjlk: we were thinking it would make the job 'hit the rtfd webhook url' (which is just a get request) easy, and didn't see a way it could reduce security.  but maybe we missed something.  :)23:03
jlkI looked at the module, it does have a method where it downloads $SOMETHING and writes it to a local file23:03
mordredjlk: oh piddle - I missed that23:04
jlkwhich I think means it needs to go through the safe paths path23:04
jeblairah yup23:04
mordred++23:05
clarkbcould also just shell: curl23:05
clarkbI guess you need to update hte module either way though23:05
jlkdo we allow shell locally?23:06
mordredno23:06
jlkright.23:06
clarkbno it would have to remote23:06
mordredso we'd have to special case such a thing23:06
mordredright- the goal here is that for some things, specifically hook-rtfd is the working example - it's actually not necessary to have a remote node at all23:07
jlkWith the POST and body argument, you could do a lookup on files, but I think we protect the lookup filter, right?23:07
mordredyes, we protect against lookup with lookup directly23:07
jlkthere is a small DoS potential, if they point at a ginormous file, or a purposefully slow link. One ties up bandwidth, the other ties up the worker slot.23:08
jlkthough on the latter, there's a global job max run time, right?23:08
mordredyah - but there's WAY better ways to dos a zuul install23:08
mordredyup23:08
jlkand there's a filesystem overflow protection?23:08
mordredjlk: SpamapS just wrote that and I think it landed23:08
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Prevent execution of locally overridden core modules  https://review.openstack.org/49021623:09
mordredgah. updated the wrong patch in the stack23:09
jlkyup, thought so.23:09
jlkAny way they could force a download to /dev/null ?23:09
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Prevent execution of locally overridden core modules  https://review.openstack.org/49021623:09
openstackgerritMonty Taylor proposed openstack-infra/zuul feature/zuulv3: Allow use of the uri module from localhost  https://review.openstack.org/49021523:09
mordredjlk: not with the dest path protection23:10
jlkalrighty23:10
mordredjlk: thanks for catching dest!23:11
jlkyay I'm helping!23:11
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Add zuul:var directive and role  https://review.openstack.org/49024623:13
jeblairmordred: i think that's where the 'foo[]' thing is really going to come in handy ^23:13
mordredjeblair: ++23:15
pabelangerand back, objections for a zuulv3.o.o restart once current jobs finish running?23:15
jlkmordred: so sorry, but uri also accepts all of the file module arguments, so we need to safe path more things.23:15
mordredjeblair: is the eventual goal to merge the zuul-sphinx stuff in zuul into the zuul-sphinx repo?23:16
mordredjlk: it does?23:16
jlkhttp://docs.ansible.com/ansible/latest/uri_module.html  see "other"23:16
jlk"others"23:16
openstackgerritJames E. Blair proposed openstack-infra/zuul feature/zuulv3: Ensure ref-updated jobs run with their ref  https://review.openstack.org/48821623:16
mordredjlk: *headdesk*23:17
mordredjlk: although - that now makes me realize that we should ALSO block file:// urls23:18
jlkoh... yeah good thought23:18
jeblairmordred: right now, there's no overlap with what's used in job docs vs zuul docs.  that might change after i go back and make zuul job docs nicer (i think some of the things we do in zuul docs would be nice for job/role variables).23:18
jlker23:18
jlkwait.23:18
jeblairmordred: but i think we'll want to document zuul's own jobs with zuul-sphinx, so first step is to add zuul-sphinx to zuul's requirements and then add to the zuul domain in zuul, instead of colliding with it as we do now.23:19
jlkwe want to prevent users from reading content from the filesystem they have access to?23:19
jeblairmordred: if we think that merging the two would be useful, we can port things into zuul-sphinx and out of zuul itself23:19
jeblairbut that's easy to sequence like that23:19
jeblairjlk: wow that's subtle.  :)23:20
jeblair(others)23:20
mordredjlk: we want to make sure that they don't provide a file url that points to files outside of the 'safe' path23:21
mordredjlk: but there's really no good reason to use the uri module for file locations - so just blocking scheme == 'file' if it's on localhost seems somewhat decent,yeah?23:22
mordredjlk: I mean - the uri module docs say: HTTP or HTTPS URL in the form (http|https)://host.domain[:port]/path23:22
mordredjlk: so it's possible it's already covered in the module23:22
* jlk reads the module23:22
jlka quick scan does not show a limitation of sheme23:25
jlkwhat happens if the input a http url to a website they control, which has a redirect to a file:// location? Is that even a thing?23:27
mordredjlk: nice brain23:28
mordredjlk: I have no idea if that's possible or not23:29
jlkIt doesn't seem that you're blocked from switching schema in htaccess, I jsut don't know where the "file" bit would be processed.23:30
mordredRedirectHandlerFactory in lib/ansible/module_utils/urls.py23:31
pabelangerokay, since nobody objected going to preform the restart of zuulv3.o.o23:32
mordredjlk: so - the RedirectHandlerFactory has a "safe" redirects setting where it will only do redirects if the method is GET or HEAD23:33
mordredthat doesn't full answer your question though23:33
jlksure, but a GET method, redirected to a file:// path, maybe could read a local file23:34
mordredwell - fwiw, it uses urllib2 - so I think I feel a test case coming up i my future23:34
mordredcause I'm honestly fascinated to know what will happen23:34
mordredbut I'm going to stop computering for today23:35
pabelangerokay, restart23:35
jlkaccording to the RFC, a 302 (redirect) sends back a new URI, and the client is supposed to re-do the request using the new URI location. So if it got a file:/// it'd try to do it locally23:36
jlkyeah I'm really curious now too!23:36
clarkbif only little python clients respected things like CORS23:42
pabelangerHmm, I don't think gearman is responding on zuulv3.o.o23:44
pabelangerI didn't see scheduler pick up configuration23:45
openstackgerritPaul Belanger proposed openstack-infra/zuul feature/zuulv3: Use py35 tox envlist for documentation  https://review.openstack.org/48970723:56
jlkI'm not the only one to have thought of this: https://curl.haxx.se/docs/adv_20090303.html23:58
pabelangerokay, odd. got it working. I don't if I didn't shutdown properly or not.23:59

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