/srv/irclogs.ubuntu.com/2016/01/18/#juju.txt

jamespagegnuoy, do you have a few minutes for https://code.launchpad.net/~james-page/charm-helpers/optimize-dkms-headers/+merge/282927 ?11:31
jamespagegnuoy, will help towards https://git.launchpad.net/~james-page/charms/+source/openstack-on-lxd-bundle/tree/11:31
gnuoylooking11:32
jamespagegnuoy, btw I have an entire openstack cloud running on my laptop under LXD11:32
jamespageincluding overlay networks, multiple nics and nested KVM...11:32
gnuoyinc the gateway ?11:32
jamespageyikes!11:32
gnuoyfmd11:32
gnuoythat's fantastic11:32
jamespageyeah I said something similar11:33
jamespagegnuoy, a few oddities - I'm using the ZFS backend for LXD - but ceph no like that with direct io enabled11:33
gnuoythe two wise Chris' will have that fixed in two shakes of a lambs tail I'm sure11:34
jamespagegnuoy, yeah11:35
jamespagegnuoy, anyways...11:35
gnuoyapproved11:35
jamespagegnuoy, awesome11:35
jamespagegnuoy, how are we looking for end-of-the-month?11:47
gnuoyjamespage, early to say. We are feature frozen and tracking here: https://docs.google.com/spreadsheets/d/1K1iR2-HlVEePsG_wOo6_zlL0d4ZDiBh3VaiLsb7qbXc/edit11:48
frobwarejamespage, is is possible to poke around the dellstack setup? I wanted to understand the dns-namserver snafu we saw in /etc/network/interfaces. We ran into this again last week but on on 1.25 which has since been fixed but I cannot repro this on my local setup.14:49
jamespagefrobware, possibly but thedac did tear everything down14:49
jamespagefrobware, the only diff we could see what that I built ontop of 14.04 and he was building in 15.10 - which would mean different go versions....14:50
frobwarejamespage, difficult to understand why go would make the difference unless a later go (15.10) uses its own resolver library/implementation...14:51
jamespagefrobware, any compiler version conditional logic in the codebase?14:51
frobwarejamespage, not sure. but, if this happens with a maas node deploy that takes go/juju out of the equation. curtin/maas version combo?14:52
frobwarejamespage, but I will try a maas 1.9.0 install on 15.10 out of completeness.14:54
jamespagefrobware, well that could be quite possible14:54
jamespagefrobware, oh the MAAS install was on 14.04 always14:54
jamespagejust the juju build was different14:55
frobwarejamespage, oh. ok.14:55
frobwarejamespage, that's still worth trying anyway. a little quicker for me than maas on 15.1014:55
frobwarejamespage, do you know if the bootstrap node was trusty or wily?15:00
jamespagefrobware, trusty15:07
frobwarejamespage, thx15:07
=== med_ is now known as Guest51217
bdxmbruzek, lazyPower: I want to run something by you concerning layer-tls ..... After giving a lot of thought to layer-tls, I feel like I might of initially taken the wrong impression about how it could be used and implemented ...17:09
bdxmbruzek, lazyPower: initially when looking over k8s.py I was strucken with the idea to use layer-tls as a supporting layer to web applications to help generate crts and keys, and get them in the right places17:10
bdxmbruzek, lazyPower: I am now feeling like layer-tls would/could be better/more efficiently used if it was deployed as a standalone charm, and other services/charms that need certs could relate to it and get their cert/keys generated and passed to them via unitdata17:14
bdxmbruzek, lazyPower: I feel like the latter is how you were intending it to be used ... what are your thoughts on this?17:16
mbruzekbdx: That is an interesting idea that I had not thought of.  The current layer-tls charm does not pass around the private keys, so I like that part.  If you had a separate charm the keys would be have to be passed back to the units and in theory could be intercepted17:45
mbruzekbdx: We have 2 charms consuming the tls layer and that seems to work, but if it does not work for your case we can iterate on the design.17:46
bdxmkruzek, no, it works, I just feel like having a centralized ca that issued the certs out to requesters would be far more lightweight and more easily consumable. Is this not what you were going for?17:58
=== tinwood is now known as tinwood_
=== tinwood_ is now known as tinwood__
=== tinwood__ is now known as tinwood
bdxmbruzek: other critical data is passed via relation ...18:06
lazypowerbdx That makes sense in a lot of ways18:11
lazypowerbdx And I had considered that, pairing this down and co-locating the CA's with the model controllers18:11
lazypowerbdx using relations to the CA pki on the mc, you could then relate all over your model, and get self signed certificates supporting whatever endpoints react to the interface tls.available, i think it warrants some later investigation18:12
lazypowerbdx as it stands, we only have a single relation, which is the peering relationship to exchange the csr/keys. It would be cool to see that logic teased apart into a provides/requires role and then refactor peering to use the common code (lib?)18:13
bdxlazyPower: my thoughts exactly .... I cant help but think that it would be overkill to include/install that layer on every openstack service, or every webapp .... just seems like a centralized ca would really sweeten the deal here18:16
lazypowerbdx: we <3 contributions - you can start with just the tls layer and the tls interface - all the breadcrumbs you really need are right there18:16
lazypowerbdx: bonus points if you bundle up some examples once you have the CA working as a stand alone service18:17
lazypowerwe're about to move into the next focus area of log infrastructure and backups18:17
bdxlazyPower, mbruzek: I am currently trying to redesign our webapp deployment process to be juju deployed, we have a bunch of django/rails webapps with nginx front ends that all need certs and keys, the tls-layer will be a crucial part of this, so I think I can justify the time18:19
bdxlazyPower: ^^Nice, thats definitely needed18:19
bdxlazyPower, mbruzek: thanks for your insight on this18:20
lazypowerbdx anytime :) we'll happily lend a hand where we can and do some CR along the way18:20
asanjarkwmonroe: happy new year18:28
asanjarlazypower: you too :)18:28
lazypowerasanjar \o/18:28
lazypowerhappy new year asanjar18:28
asanjarnot to immutable mbruzek18:29
lazypowerhe's gone to immutable lunch18:29
asanjarthen immutable bathroom run18:30
lazypoweroi18:31
asanjarlazypower: I will send you a meeting invite for sometimes next week, I like to discuss the work you have done with Juju and Docker18:33
lazypowerasanjar thats crunch week for me, final prep for belgium18:33
lazypowerbut i can squeeze in 30 minutes or so on tuesday18:34
asanjarlazypower: then I'll see after Belgium18:34
lazypowerok, whats the focus area?18:35
lazypowerlaunching big data containers?18:35
asanjarlazypower: yeap.. trying to convenience bigtop community to use Juju instead of vagrant and puppet to manage their docker containers18:37
lazypowerasanjar - If their containers are already baked, and you have say a docker-compose file - send me that and i'll send you a charm to deploy their stack18:37
asanjarlazypower: will do,18:39
* aisrael waves to asanjar 19:00
mbruzekHey asanjar I just got back from lunch.  How are you doing?19:26
asanjarhi aisrael Happy New Year, how are you my friend20:05
asanjarmbruzek: miss me :)20:06
aisraelasanjar: Very good, thanks, and you?20:10
=== mwhudson is now known as Guest86296
=== Guest86296 is now known as mwhudson
=== mwhudson is now known as Guest65934
=== Guest65934 is now known as mwhudson
bdxmbruzek, lazyPower: am I on the right track here -> https://github.com/jamesbeedy/interface-tls/blob/add_provides/provides.py ?20:31
mbruzekbdx looking20:31
mbruzekbdx: It looks like a great start!  I like this approach too.20:38
mbruzekbdx: I think you might have the term "service" overloaded here.  "We expect multiple, separate services to be related.20:39
mbruzekNo two services should share the same key, cert."20:39
mbruzekUnless I don't understand what you meant, this would be units.  $ juju deploy -n 3 mysql20:41
bdxmbruzek: exactly, and we would want all 3 units to have the same client key right?20:41
mbruzekmysql/0, mysql/1, mysql/2  <- Those are units, "mysql" is the service20:41
bdxmbruzek, exactly20:42
mbruzekbdx: Yes the units _could_ have the same client credentials, but what if each unit needs their own cert, key20:42
bdxmbruzek: yea, I've been going back and fourth examining use cases ...20:43
mbruzekservice = hookenv.remote_service() ...20:43
mbruzekkey = '{0}_signed_certificate'.format(service)20:43
mbruzekThis would give you one signed certificate per _service_ I think you want one per _unit_20:44
bdxmbruzek: take for instance, 3 nginx frontends behind an haproxy, if nginx[0] dies, we don't want to have to re-add the cert to our cache to be able to access the site again20:45
mbruzekbdx: That is true, but in the Kubernetes case each unit has its own api server that needs a key and cert.  I *think* they have to (should) b different certs and keys than the other servers20:46
mbruzekhaproxy is a special case, in that case would haproxy request the cert/key ?20:47
bdxin the context of per unit key,cert pairs nginx[1] would need to prompt users to re-auth against the different cert,key pair20:47
bdxok20:47
bdxmbruzek: I'm not sure, a use case I was just looking at involves all web front ends having the same client key,certs20:48
bdxbehind haproxy20:48
bdxI'm sure there are other ways20:49
mbruzekbdx: In that scenario I would have haproxy request the key/cert. In the swarm case different cert/keys are generated for each unit.20:49
bdxmbruzek: entirely20:49
bdxmbruzek: ok, I'll revise my work per ^20:50
bdxmbruzek: this will highly impact how tls is implemented/used by the openstack service charms20:51
mbruzekI am happy to iterate on this.  We could build the meaty methods that do the generation and discuss use cases for certs and keys later?20:51
mbruzekbdx: Yes if we get a good solution everyone will want to use it.20:51
bdxmbruzek: totally, but in the instance of HA openstack service endpoints and proxying to them20:52
bdxmbruzek: oooh, nm, it looks like individual (key,cert) is generated per unit for the same service if using ssl20:53
bdxcurrently20:54
lazypowerbdx what about 2 interfaces21:16
lazypowerbdx one that distributes "shared cert/key" and one that does per-unit cert/key?21:16
bdxlazyPower: great idea21:17
bdxlazyPower, mbruzek: I feel it would mimic what the current layer-tls does with 'tls.server.certificate', to 'tls.client.certificate', and 'tls.client.key' ...?21:23
bdxerrr current interface21:23
lazypowerYep, same events signal'd the difference is what keypair its generating/syndicating21:23
bdxlazyPower: entirely21:24
bdxlazyPower, mbruzek: this would then allow layer-tls to be extended to set the client.{cert,key} in unitdata, and other relating charms to be able to get it21:27
mbruzekbdx that sounds awesome21:27
bdxtotally, props to lazyPower for the needed bump in the right direction!21:30
lazypowerI'm just operating the rudder :)21:38
bdxYes.... a lazy, yet powerful position. very fitting21:39
bdxlazyPower, mbruzek: its rough, but getting close I think23:44
bdxlazyPower, mbruzek: here is interface-tls-gen -> https://github.com/jamesbeedy/interface-tls-gen/blob/master/provides.py23:44
bdxlazyPower, mbruzek: and here is how I am looking at integrating it into layer-tls -> https://github.com/jamesbeedy/layer-tls/blob/add_tls_gen/reactive/tls.py#L224-L26623:45
lazypowerI'm not sure the duplication of this method body is required23:46
* lazypower will need to look closer later23:46
bdxoh.... so thats what I had a question about ....23:46
bdxI'm not sure I need to wrap the create_certificates in the  @when('tls-gen.key.cert.requested')23:47
bdxok, thanks23:47
lazypowerbdx it may be required i'm not super focused on the review23:48
* lazypower will look in the am23:48
lazypoweri'm currently teasing apart some interface code from the ETCD charm, and refactoring23:48
bdxnp, thanks23:50

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