Sunday, 2017-11-19

openstackgerritTristan Cacqueray proposed openstack-infra/nodepool feature/zuulv3: Implement a Kubernetes driver  https://review.openstack.org/52135608:56
*** haint has quit IRC13:14
*** nguyentrihai has joined #zuul13:15
*** haint has joined #zuul13:25
*** nguyentrihai has quit IRC13:28
SpamapStristanC: interesting k8s driver there14:34
SpamapStristanC: I'm not convinced I want an ssh-able container.14:34
SpamapSI'd much prefer to have a namespace and use something like this: https://github.com/ansible/ansible/pull/26668/commits/21083b6b789e314e0cd84a83c03029c8a0b092a714:41
SpamapSin fact I've been thinking more about nodepool, "cleanup jobs", and secrets in general. I'm convinced what we want is to turn nodepool into "thing pool" and have it call back to zuul to run setup and teardown jobs.15:05
pabelangerSpamapS: doesn't kubectl require admin access on k8s? Or can any user run it?16:01
SpamapSpabelanger: kubectl is just speaking the REST API. authz is pretty rich in k8s.16:04
pabelangercool, thanks!16:04
SpamapSpabelanger: so you could have nodepool setup a namespace, and then hand creds that can access it to the job.16:04
pabelangerwasn't sure how it all worked16:04
SpamapSTo your point, just like how we have to setup an SSH key to access the node for zuul.. we have to do that for k8s too16:05
SpamapSbut the namespace would be sufficient isolation, and there are such things as namespace quotas, so you can also prevent the job from deploying too much in it namespace. What might be tricky is also giving each job a unique authn so that they can't steal resources from eachother by guessing namespaces (though they could be random at least)16:06
SpamapSanyway, time to make breakfast burritos16:06
pabelangerom nom nom16:10
pabelangerbut, looking at the URL you posted, if we had some sort of generic driver for ansible in nodepool, it would be easy to swap between oci and k8s I think16:11
tristanCSpamapS: heh, that could work too :)16:20
tristanCthough it doesn't feel much different than ssh, and right now it's more simple to make nodepool give a ssh port back to zuul16:21
tristanCpabelanger: it seems like a generic driver in nodepool would be great, let alone ansible16:23
tristanCor we could continue to refactor the generic bits out of the openstack driver so that's just easier to implement a new driver16:25
tristanCSpamapS: ssh is also probably a better bet for module like synchronize16:28
pabelangermaybe start with SSH then do something more k8s specific?16:29
pabelangerI admit, I don't know what that looks like16:29
tristanCfwiw that nodepool driver only was enough to make zuul-jobs run on kubernetes16:32
openstackgerritMerged openstack-infra/zuul-jobs master: Revert "Add ensure-reno and ensure-babel roles"  https://review.openstack.org/52125321:43
*** threestrands has joined #zuul22:27
*** threestrands has joined #zuul22:27
SpamapStristanC: yeah I think what you're doing is bolting sshd onto a container model that actively rejects it. I'd rather see jobs that build container images with the code than push too hard making zuul-jobs work as-is.23:13
SpamapSSo in a k8s world, instead of preparing workspaces by pushing code onto running nodes, you would build an image on top of a base image and upload it, booting the containers from that.23:14
SpamapSIf you just want container booting to chop up vms or something, lxd is a better choice.23:15
SpamapSAnyway, cool that you can get something on k8s. :)23:18
SpamapSI have planned on doing something similar soon if I get any free time.23:19

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