Monday, 2017-01-30

*** tobiash has quit IRC04:58
*** tobiash has joined #zuul04:58
*** bhavik1 has joined #zuul05:02
*** tobiash has quit IRC05:03
*** tobiash has joined #zuul05:03
*** tobiash has quit IRC05:04
*** tobiash has joined #zuul05:04
*** saneax-_-|AFK is now known as saneax05:29
*** bhavik1 has quit IRC05:52
*** bhavik1 has joined #zuul05:53
*** abregman_ has joined #zuul06:09
*** bhavik1 has quit IRC06:32
*** toabctl has joined #zuul06:54
*** Cibo has quit IRC08:20
*** Cibo has joined #zuul08:20
*** saneax is now known as saneax-_-|AFK08:27
*** saneax-_-|AFK is now known as saneax08:36
*** Cibo_ has quit IRC08:48
*** hashar has joined #zuul08:48
*** saneax is now known as saneax-_-|AFK09:01
*** saneax-_-|AFK is now known as saneax09:11
*** saneax is now known as saneax-_-|AFK09:15
*** saneax-_-|AFK is now known as saneax09:58
rcarrillocruzclarkb: if it looks good to you https://review.openstack.org/#/c/403732/  i will rebase the last d-g change about network check off it12:06
pabelangermorning12:39
*** hashar has quit IRC12:51
*** hashar has joined #zuul12:53
*** abregman_ is now known as abregman|mtg13:25
*** saneax is now known as saneax-_-|AFK13:29
*** saneax-_-|AFK is now known as saneax13:37
*** abregman|mtg is now known as abregman13:52
*** saneax is now known as saneax-_-|AFK15:30
*** yolanda has quit IRC15:41
*** yolanda has joined #zuul15:47
*** abregman has quit IRC16:43
*** hashar has quit IRC16:47
*** saneax-_-|AFK is now known as saneax17:25
openstackgerritPaul Belanger proposed openstack-infra/zuul: [WIP] Add publisher for Federated Message Bus (fedmsg)  https://review.openstack.org/42686117:36
pabelangerjeblair: threebean: tflink: mordred: I wrote a thing!^17:36
pabelangerif I did it correctly, that does publish things, but something that needs some discussion, is the message format we actually publish. I have no idea what that looks like right now17:38
jeblairpabelanger: cool :)  (but we should call it a reporter)17:38
pabelangerjeblair: yes17:38
jeblair(i mean, it's probably a publisher from a fedmsg pov, but a reporter from zuul pov)17:39
pabelangeragreed17:39
jeblairpabelanger: maybe add docs?17:39
pabelangerjeblair: Yes, I'd like to actually ask threebean some questions about fedmsg configuration things first. You might have some input too, but fedmsg has a os-cloud-config like thing for configuration. I'm thinking we can just drop the fedmsg config files outside of zuul (/etc/fedmsg.d for example) and import fedmsg will do the right thing.  Or, do you think we could add them into the connection section for17:42
pabelangerzuul.conf?17:42
openstackgerritPaul Belanger proposed openstack-infra/zuul: [WIP] Add reporter for Federated Message Bus (fedmsg)  https://review.openstack.org/42686117:43
jeblairpabelanger: yeah -- i think if fedmsg can handle (most of) it in its own config files, that would be best.  anything that can't be handled that way can go in the connection section of zuul.conf.17:43
threebean+117:43
threebeandrop files in /etc/fedmsg.d/ :)17:43
pabelangerperfect, that is what I was thinking too17:44
pabelangerthreebean: ohai17:44
pabelangerthreebean: are you still in brno?17:44
threebeanI am!17:44
threebeanyou?17:44
pabelangerthreebean: yes17:44
pabelangerwe should meet up for food and beer things tonight17:44
pabelangerand discuss some fedmsg things17:44
mordredpabelanger: oh wow. that's an AMAZING error above in nodepool-dsvm :(17:45
pabelangermordred: sad face indeed. I haven't debugged it as of yet17:45
mordredpabelanger: I've got another weird dsvm bug I need to debug too - in both cases I _believe_ something has changed in devstack that we're not taking in to consideration17:46
mordredpabelanger: I'm SUPER excited about figuring it out17:46
Shrewsjeblair: So, over the weekend, I was thinking about your idea to eliminate the NodeRequestWorker thread and do polling in the launch manager. I think that's a good idea to eliminate some thread contention.17:50
Shrewsjeblair: downside, sets me back a bit to redo some things17:50
jeblairShrews: cool -- i think we can proceed with the extra thread for now and remove it later if you want.  i don't think it's going to back us into a corner.  but if you'd rather rework it now, that works too.17:51
Shrewsjeblair: i considered that, but i think it would be harder to do later. just going to jump in now17:51
jeblairShrews: okay, i support what works best for you :)17:52
*** harlowja has joined #zuul18:02
openstackgerritPaul Belanger proposed openstack-infra/zuul: [WIP] Add reporter for Federated Message Bus (fedmsg)  https://review.openstack.org/42686118:11
*** saneax is now known as saneax-_-|AFK18:33
SpamapSpabelanger: ^^ neat!18:45
jlkjeblair: I have another design question (this is still 2.5). I'm curious about the split of code between zuul/connection/<thing> and zuul/source/<thing>, and if I need to add code for <thing> to gather more information about a change before deciding to enqueue it, should I call that in the event handling stuff in zuul/connection/<thing> making it part of the event data,  or should I call it from zuul/source/<thing> making it part of the Change data?18:53
*** tobiash has quit IRC19:09
*** tobiash has joined #zuul19:27
*** hashar has joined #zuul19:27
jeblairjlk: a lot of that structure is different in v3, but generally speaking, if it's information about the change (that persists beyond the event), it should probably be in the source.  i hesitate to get too specific since i'm focused on v3.21:26
jlkfair enough21:26
jheskethMorning21:40
mordredmorning jhesketh21:54
jhesketho/21:56
SpamapSmeeting in 3!21:57
SpamapS2 even21:58
jeblairindeed, and our agenda has actual topics today!21:58
jeblairmeeting in 0 in #openstack-meeting-alt22:00
*** hashar has quit IRC22:30
SpamapSrcarrillocruz: jeblair I learned about "Tang and Clevis" at devconf.cz for secret management..23:01
mordredShrews, clarkb: rolling upper-constraints forward in openstack/requirements seems to fix the nodepool and shade dsvm jobs23:01
SpamapShttps://blog-ftweedal.rhcloud.com/2016/02/introduction-to-tang-and-clevis/23:01
jeblairpabelanger: to continue that thought -- i think we're close to being ready for that tool, but my feeling is we probably want a little more development in terms of zuul actually running ansible before we get started.23:01
SpamapSI'm wondering if it might be useful for secrets in Zuul.23:01
mordredSpamapS: scanning the blog post, it looks interesting23:02
Shrewsmordred: ++23:02
pabelangerjeblair: sure, I am okay with that. And happy to get some ansible playbooks going first.  It was just a common question this week in devconf.cz, talking to people about zuulv3 things.  A lot of interested in how JJB to ansible converter loks23:02
mordredSpamapS: I need to read it further23:02
pabelangerlooks*23:02
mordredpabelanger, jeblair: fwiw - back on the 2.5 branch I started some work to try to decouple the ansible translation from the zuul execution context23:03
jeblairSpamapS: do you have time to review that and the v3 secrets spec (where i think we recorded our precepts and thinking) and see how relevant it is?  maybe an email thread if so?23:03
*** saneax-_-|AFK is now known as saneax23:03
SpamapSThe short version is: Users have a secret. They get a public key from Tang(server) do some crypto, send a crypto result to Tang in the clear, and then when they want to decrypt, they ask the server for a cryptographic answer back, and they can use that answer to re-discover the secret key and do decryption.23:03
pabelangermordred: oh, nice23:03
SpamapSSo you can only decrypt when the Tang server is reachable.23:04
pabelangerYa, it was pretty neat23:04
SpamapSjeblair: yeah that's exactly what I've been doing.23:04
mordredpabelanger: I think we tossed most of it- but it may be an ok starting point (or may not)23:05
jlkTang never stores in the clear?23:05
SpamapSjlk: correct23:05
clarkbmordred: so it was another bad release?23:05
SpamapSjlk: it only has one half of a DH key operation.23:05
jlkisn't that like a huge win over barbican?23:05
pabelangerhttps://latchset.github.io/23:05
SpamapSjlk: well, it's a massive win over barbican's key exchange yes.23:05
SpamapSYou could still use Barbican for the meta-ops around Tang23:05
mordredclarkb: actually - it was that osc made a release which works with the new openstacksdk but the upper-constraint on osc didn't get bumped - so devstack was using new sdk with old osc23:05
jeblairSpamapS: okay.  it sounds interesting.  much of what we have done with zuul secrets is about making sure they are encodable into git repos.  at first glance, i'm not sure how those relate.23:05
pabelangermordred: ack23:06
SpamapSjeblair: we would encode something encrypted by a key guarded by Tang/Clevis interaction, and users could safely put their encrypted keys in their image.23:06
SpamapSAnd then we only let their instances contact Zuul to get the missing piece to decrypt.23:07
mordredpabelanger: starts here ish: https://review.openstack.org/#/c/372284/ - you can see I was trying to get things dependent on runtime split from things not23:07
pabelangerThe big thing about the tang presentation, was the lack of infra structure is needed.  It was actually impressive, assuming the algorithm was a valid approach23:07
SpamapSand any snapshots or replays would fail because zuul wouldn't respond to them.23:07
pabelangermordred: okay, I'll look at it on my flight tomorrow23:08
jeblairSpamapS: you mean having a nodepool node talk to zuul?23:08
SpamapSRight, Tang stores some integers, and obviously needs to be protected at the network layer so only authorized hosts can interact with it, but that's it.23:08
jeblairSpamapS: eliminating backward facing communication from workers to zuul is a deliberate design decision for v323:09
SpamapSvs. HSM's and X.509's and etc.23:09
jeblairSpamapS: we want nodes to be able to run in untrusted clouds outside of a corporate firewall23:09
mordredI think there may be multiple pieces here23:09
jeblairthus all the hullabaloo about putting mergers on launchers, etc23:10
SpamapSwe could also spin up tangs in their network for them.23:10
SpamapSand manage the L2 separation.23:10
SpamapSbut yeah23:10
SpamapSI see where because it is built on reachability, and the current system is a push system, it creates problems23:10
jeblairSpamapS: yeah, most of our work on secrets is not because we don't trust zuul.  we do -- there's little to be gained by employing a third-party secret provider (and heck, if you wanted too, theres even nothing in the zuulv3 space stopping you from doing so)23:13
jeblairSpamapS: it's that we want to be able to have as much of this in public git repos as possible23:14
SpamapSjeblair: I could see users not wanting Zuul to have their secrets.23:16
SpamapSEspecially in the Zuul-aaS case.23:16
SpamapSI may not want peoples' secrets.23:16
SpamapSSo it might make sense to have one version that has Zuul having private keys and pushing decrypted secrets to nodes, and another that uses someting like Tang to allow the users to keep the control.23:17
mordredSpamapS: I don't think it's going to get you there23:17
mordredSpamapS: at some point zuul is going to have to be able to execute some ansible that's going to need access to the secret or the ability to ask tang for the secret which is effectively the same thing23:18
SpamapSNote that the exchange was designed to not be MITM sensitive. The only vulnerable spot is the TOFU for client->Tang23:18
pabelangerI'm actually interested in this topic, but it is way too late for me. I'll catch up on the backscroll.23:19
pabelangerlater all23:19
SpamapSmordred: why would Zuul have to execute that and not the test node?23:19
mordredSpamapS: zuul owns the test node23:19
SpamapSyyyyeah.. sorta. ;)23:20
jeblairSpamapS: why does zuul need to be involved then?  if a zuul user wants to use a third-party credential store, what's zuul's involvement?23:20
mordredyah - that was what I was going to say23:20
SpamapSUnless it just plops an encrypted blob on the disk which is the stuff the user wants to retain control of.23:20
SpamapSjeblair: Yes I'm starting to ask myself that question too.23:20
SpamapSPerhaps the right thing is just to make it so Zuul can attach and detach nodes to / from a particular network23:21
SpamapSwhich it can probably already do23:21
SpamapSZuul or Nodepool I guess23:21
jeblairSpamapS: yes, that's nodepool.23:21
SpamapSreally23:22
mordredSpamapS: yah, I think you're descibing a thing which is a different thing from the zuul secrets system and which sounds more like some potentially interesting user content - or maybe an interesting part of the zuul stdlib - a pre-playbook which is "fetch blah from tang" or osmething23:22
SpamapSyou can just make users establish VPN connections to their private Tang server.23:22
mordredyah23:23
SpamapSthe thing I forgot is that the secrets system is _secrets for zuul_ not _secrets for nodes_23:23
jeblairSpamapS: i'd caution about assuming openstack network-per-tenant for a zuul-as-a-service -- but that's something i'm happy to leave in your hands.  :)23:23
SpamapSalso I got excited because McCallum was receptive to having Tang rewritten in Rust. ;)23:24
mordred:)23:24
mordredNOW the source of SpamapS excitement surfaces23:24
jeblairSpamapS: it's secrets for nodes too23:24
SpamapSyep23:24
SpamapSI'm so smitten.. it's terrible ;)23:24
SpamapSjeblair: s/not/and/ .. good point23:24
jeblairSpamapS: we could really use more attention to the secrets stuff, so if you have time to look that over in the spec, that would be great.  and if you see a way this impacts it, that would be great too.23:25
SpamapSI've read it twice today. :-D23:26
jeblairSpamapS: well, let me know if we left out anything, like what we're trying to accomplish or underlying reasoning.23:26
SpamapSI may edit it a little today and submit a patch to help remind readers what the use is.23:26
SpamapSBecause the only mention I remember from those two meedings regarding what is done with the cleartext is pushing to the node's environment.23:27
jeblairSpamapS: and keep in mind that suporting zuul-as-a-service *is* a use case it was designed to address  (specifically, users being able to safely put secrets in their hosted git repos)23:27
SpamapSs/meedings/readings/23:27
SpamapSjeblair: right, the use case it's not going to tackle, and which is definitely much harder, is supporting doing that without knowing said secrets. :)23:28
SpamapSI'm also just kind of excited about the prospect of having a _usable_ key-escrow-like service.23:29
jeblairSpamapS: at a quick glance, it does look like a great system for that.  :)23:29
SpamapSIt's so tiny.. much eaier to lock it way way down and control access to it.23:29
SpamapSI find myself wondering if the Cinder folks could use it.23:29
jeblairSpamapS: when i think about issues like this though, i also think that at the end of the day, zuul is deciding what content to run on this node.  i agree that in some environments, it might be useful to use a system like this.  i think in many environments, it may not actually improve security.23:30
Shrewsspeaking of Rust... SpamapS: your recent blog post was both beautiful and disturbing23:31
SpamapSjeblair: there's a lot more to it than just key management, that's for sure.23:31
SpamapSShrews: mission accomplished.23:31
SpamapSjeblair: like, because it's fun to think about it.. I think I could figure it out leveraging the secrets system from the v3 spec pretty simply..23:33
SpamapSrun a tang server behind a VPN23:33
SpamapSgive VPN access creds to zuul secrets23:33
SpamapShave encrypted blob of stuff in the image build23:33
SpamapSzuul fires up node with mostly-useless image and launches it with VPN access creds23:34
Shrewsalso...   If anyone wants to get their hands dirty in some nodepool v3 code, I have a minor-ish coding task that I don't have time to get to for a while23:34
jeblairSpamapS: (maximum utility here is when you are in an environment where you trust zuul to run code on a node which can expose credentials, but yet don't trust zuul with those credentials.  for me, that's a fine line.  :)23:34
SpamapSaccess creds grant Tang interaction, node decrypts blob, mounts as root FS, grants Zuul's SSH user limited privileges.23:35
jeblairSpamapS: yeah, i want zuul to be flexible enough to handle that kind of thing if someone wants to do it23:35
jeblairSpamapS: from what i've seen (limited!) i don't think it would work for openstack, and i'm not sure it should be our default recommendation for how people handle secrets.  but i like the idea of having a system we can fundamentally build that on.23:36
SpamapSjeblair: yeah, the idea is just to be able to audit when and where keys are passed out. So yes, Zuul operators could then decrypt that key, and abuse the VPN access creds themselves to get to Tang. So there is further work to make sure that access is somehow locked down too and pretty soon you go "oh hell, just put the key in zuul"23:36
SpamapSand since Zuul is already expecting to have a key store.. it damn well better be secured and locked down.23:37
SpamapSjeblair: yeah I wouldn't even consider it for OpenStack's use cases.23:38
SpamapSI am more thinking about deployment cases.23:39
* SpamapS has done enough distracting for one day23:39
*** Cibo_ has joined #zuul23:50
*** jamielennox is now known as jamielennox|away23:58
*** jamielennox|away is now known as jamielennox23:59

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