/srv/irclogs.ubuntu.com/2016/02/05/#juju.txt

boltholehi Juju mavens.... I'm trying to find some kind of comparision between juju and kubernets00:55
boltholeThey seem to be somewhat competing tech, both being "orchestration tools"..  but searches only ever seeem to bring up "how to deploy kubernetes USING juju" !!00:55
jrwrenbolthole: juju is a layer higher ;]00:56
jrwrenbolthole: kubernetes is a container management system, juju is a service modeling system. Some part of your juju modeled services might be containers, may not be, and some part of those may be kubernets containers.00:57
jrwrenbolthole: does that make sense?00:57
boltholejrwren .... kind of..  Some coworkers are claiming that kubernetes is also a service orchestration tool01:03
boltholeat this point, I am somewhat familiar with juju, but not at all with kubernetes. So need more info to make good comparison to management01:04
jrwrenbolthole: i don't know enough about kubernetes to say anymore than I already have. Sorry.01:07
firlmarcoceppi you guys still at the summit?02:23
=== scuttle` is now known as scuttle|afk
=== rbasak_ is now known as rbasak
jaceknhello. Can somebody tell me if https://bugs.launchpad.net/charms/+bug/1538573 is you charmers' radar?09:30
mupBug #1538573: New collectd subordinate charm <Juju Charms Collection:New> <https://launchpad.net/bugs/1538573>09:30
=== axino` is now known as axino
stubjacekn: It needs a merge proposal targetting lp:charms/trusty/collectd to get on the review list.10:54
jaceknstub: but that's not mergeable, it completely new charm10:55
stubjacekn: ok. I can give it a look over and try and help with Amulet, but one of the eco team will need to help with landing once they are back from their thing.10:57
jaceknstub: cool, thanks. FTR I asked here before about amulet, nobody was able to help looks like it was never used with "juju-info" relations10:58
stubWhat sort of things did you find that failed?10:58
stubI fall back to raw juju commands or plugins like juju-wait when Amulet doesn't stretch far enough.10:59
jaceknstub: can't remember exactly but it was something about cs:ubuntu and the collectd relation not being added10:59
jaceknstub: I think it may have been because "juju-info" is not declared interface or something like that10:59
stubThat sounds like it is coming from juju-deployer, which Amulet uses for the initial deploy.11:00
jacekncould be yeah, anyway have a look when you have a moment11:00
=== firl_ is now known as firl
=== FourDollars_ is now known as FourDollars
Laneyhi juju-ers11:24
LaneyI have a subordinate service (nrpe-external-master) and now I want the thing it is subordinate to to drop some config into it (nagios checks) on upgrade11:24
LaneyI wrote a hook nrpe-external-master-relation-changed and then did juju upgrade-charm my-unit but it didn't get called11:25
Laneyany way to get it to work so that I can add more in future and just be able to run some command?11:25
rick_h__Laney: i'd suggest an email yo the list. i think folks might have a solution and be able to discuss it with a wider group there.11:35
Laneyrick_h__: ok, which list?11:36
LaneyI'm sure there is a solution as like 9999 Canonical charms use nrpe-external master :P11:36
Laneyfound juju@l.u.c11:38
* Laney hopes someone is moderating the list because he doesn't want to subscribe11:39
rick_h__Laney: yes the juju@ list11:42
Laneyrick_h__: thanks, I sent something11:44
Laneyno I didn't, it got rejected11:45
Laneybah11:46
=== rvba` is now known as rvba
=== ant_ is now known as Guest60739
=== dimitern_ is now known as dimitern
=== marcoceppi_ is now known as marcoceppi
lazypower|summitbolthole o/17:31
=== frobware_ is now known as frobware
boltholehi lazypower17:55
boltholedid you see my question yesterday ?17:55
lazypower|summitbolthole no, but i did see the this morning about the differences between k8s and juju18:17
lazypower|summitbolthole which is one that i can answer :)18:17
firllazypower|summit: you around?18:18
lazypower|summitbolthole - the big and main differences is that Juju is a modeling tool / orchestrator - while Kubernetes is a container orchestrator. They have somewhat similar properties but the sidewalk ends pretty quickly during a comparison. Juju allows you to model things like networks, storage across providers. K8s allows you to describe the deployment of containers, and scale/"manage" them. But its very inflexible in terms of making services18:19
lazypower|summit talk to one another consistently, and its quite an exercise in abstract thinking, as you have to work with yaml files describing pods and services (akin to charms and units)18:19
lazypower|summitfirl o/ hey there18:19
firlhave time for the kubernetes stuff?18:20
lazypower|summitfirl I'm hacking on some end of week stuff, but i started to dig into the failures in the head of the k8s work18:20
lazypower|summiti've got a few potential fixes sitting on my disk that need testing18:21
lazypower|summitfirl is there anything specific i can help with aside from being super latent to deliver a fix?18:21
firlhaha just waiting to do the install18:21
firlI am on PTO next week18:21
firlwhat’s the github for the layer again?18:22
lazypower|summitsorry again :( summit/fosdem pretty well ate up my week and i'm out until Thurs of next week on PTO as well18:22
lazypower|summithttp://github.com/mbruzek/layer-k8s18:22
lazypower|summitthe specific layer thats having an issue is the flannel layer, its not been re-worked to be compliant with the etcd changes to support a proper cluster18:22
firlgotcha18:23
lazypower|summithttp://github.com/chuckbutler/layer-flannel  (mostly undocumented as it was intended to be temporary)18:23
firlso what’s the best way to install kubernetes then?18:23
lazypower|summitif you use cs:trusty/etcd-418:23
lazypower|summitit'll be fine as is from tip of the built charm living in mbruzek's github repo18:23
firlso use etcd-4 and the layer-k8s?18:24
firland it should work18:24
lazypower|summityep. you will need to run `charm build` in the k8s layer18:25
lazypower|summityou cant just deploy the layer and expect magic :)18:25
firlhaha ok18:25
firlis this going to be close to the final solution ( curious )18:25
lazypower|summitfirl - we should have a published bundle in the store ~ the time you get back from PTO18:25
lazypower|summitwe have a line item to deliver that by end of week in our namespace18:25
firloh awesome18:26
firlI didn’t realize it was that soon18:26
lazypower|summitpretty close, yeah18:26
firlI should be able to wait for the bundle then18:26
lazypower|summitwe're still cycling on breaking apart the components18:26
lazypower|summitso you can independently deploy/scale api-server vs nodes18:26
firlout of curiousity how do I setup the external net for floating ip’s essentially18:27
firlfor the kubectl service layers18:27
lazypower|summitThat depends on which SDN layer is in the output bundle18:27
firlkk18:27
lazypower|summitif its weave, you use weave router and reverse proxy nodes18:27
lazypower|summitif its no sdn - you have to do some iptables schenanigans and supposedly we can get some floating IP bits from the coud provider, but that gets expensive in a hurry18:28
lazypower|summitplus you're limited to i think like... 7... unless you request more18:28
firleww18:28
lazypower|summitif you use flannel, basically same principal as weave but i'm still owrking through the nuances of that18:28
firlthe bundle won’t have any by association default?18:29
lazypower|summiti'm trying to nail down some time to work with illya of weaveworks to do a full integration w/ weave,  and similar with flannel but haven't heard back from my contact(s) at CoreOS18:29
lazypower|summitwe'll publish a different flavored bundle with each configuration we're going to support18:29
lazypower|summitoh! and we may even have a go w/ the fan :)18:30
lazypower|summitbut dont ask me about that one yet, i still have a lot of catching up to do with our darling SDN solution18:30
firlhaha18:30
haasnI don't understand how juju is supposed to work. I have a MAAS setup, and I understand that juju charms let me automatically deploy services on this MAAS. But before I am able to do this, I need to bootstrap juju? And this needs another machine for some reason? What is this machine doing?18:30
firlsounds good, it will be interesting to see, thanks man18:31
firlI will check back in after PTO18:31
lazypower|summithaasn - juju deploys a controller - which is responsible for managing each charm you deploy18:31
lazypower|summitfirl np np, thanks for the interest :)18:31
haasnlazypower|summit: Can I just install this controller “locally” instead of needing a dedicated machine for just that?18:31
haasni.e. on some machine of my choosing18:31
haasn(in this case it would be the same as the MAAS controller machine)18:32
haasnI guess I could also set up a virtual machine on the MAAS controller, add that to the MAAS, then somehow coax juju bootstrap into choosing this machine for juju.. but it still seems like overkill18:32
lazypower|summitNot easily, no.18:32
lazypower|summitthat would be my suggestion18:32
lazypower|summitto register a VM, tag it, and use tags as a constraint18:32
haasnI found juju-local which lets me use lxc containers, but I don't want to use lxc containers for *everything*, just the controller18:32
lazypower|summitjuju bootstrap --constraints="tags=bootstrap"18:33
haasnah okay18:33
lazypower|summitif maas knew about LXD containers (which seems like an odd duck as lxd containers are very machineish but they dont have all the same properties of a machine) it could support that :)18:33
jrwrenhaasn: once you bootstrap you don't have to waste machine 0 to just controller. you can deploy to lxc:0 to use that same machine.18:35
lazypower|summitjrwren - aiui, we're discouraging that moving forward with the 2.0 changes18:35
haasnI guess I'll make as small a VM I can on some slow VM host18:36
jrwrenlazypower|summit: why is that?18:36
haasnIt's not like the machine is doing anything is it?18:36
lazypower|summitjrwren - i'm going to defer to rick_h__  to make sure i'm not spreading FUD18:36
jrwrenoh, well, 2.0 will be lxd instead of lxc18:36
jrwrenbut same principle should apply. i'll be sad if it doesn't18:36
lazypower|summithaasn quite a bit actually, its only coordinating every service you deploy into the model, ever :)18:37
lazypower|summitjrwren have you used JES yet?18:37
haasn“coordinating”?18:37
lazypower|summitthe 'default' bootstrap model "special" - when you add a new model no the controller there is no machine 018:37
lazypower|summits/no/on18:37
jrwrenlazypower|summit: yes, ah yes, I see what you mean.18:37
jrwrenlazypower|summit: still, it works ok with JES18:37
lazypower|summithaasn correct, it coordinates event states on many units that belong to many applications18:38
lazypower|summitjrwren - how do you deploy to 0 (eg: the controller) when you are in a different model, and there is no machine 0 until you either add-machine or juju deploy "thing"18:38
jrwrenhaasn: i agree with you, it shouldn't be doing anything unless i'm deploying or adding relations ;]18:38
jrwrenlazypower|summit: the control lives in a model itself, you can use that model for something.18:38
lazypower|summitheh18:39
lazypower|summitok18:39
lazypower|summithave fun thinking that ;)18:39
jrwren*shrug*18:39
jrwrenif I have to burn yet another machine for a control, i'm sad.  that is all I know for sure.18:39
lazypower|summiti mean you can colocate stuff on the controller, in that "special" environment18:40
haasnI guess the implicit assumption in enterprise software is that you have hundreds of machines, so one more control machine is just another figure18:40
=== narindergupta is now known as narindergupta_aw
jrwrenbut I guess that is just a good reason to run JES controller in a manual model in something like maas so a machine isn't wasted18:40
jrwrenhaasn: yes, I agree, that seems to be an implicit assumption. I think it is more cloud-scale assumption than enterprise.18:41
boltholesooo.. speaking of juju-local... no support for using juju+docker, instead of juju+lxc. how come? just that noone interested in doing the work?18:43
lazypower|summitbolthole - oh? juju can deliver docker, and deliver docker payloads18:43
lazypower|summithttp://github.com/juju-solutions/layer-docker18:43
boltholethats not what I asked18:44
boltholei think18:44
boltholeWhat if I just want to  run juju, with environment=local, but use docker containers instead of lxc. but nothing else changes?18:44
boltholenormal juju use other than that18:44
bolthole(i'm new to docker, so I dont know if this even makes sense for sure)18:45
boltholeis it that the charm infrastructure relies too heavily on assumptions about the OS layer inside lxc , but certain things are just not present inside docker containers by default?18:45
lazypower|summitbolthole that doesn't really make sense due to the fact that app containers (eg: docker) are intended to be immutable artifacts18:50
lazypower|summitwhile its reasonably safe to assume you could start one with a /sbin/init system running, we have machine/system containers to do this that are intended to run an init system18:50
lazypower|summitbolthole - i suppose the short way to say that is "lack of effort, and the end product sounds like a hacky workaround to use docker for the sake of using docker"18:52
boltholemm. sometimes, though , due to "Reasons".. it is neccessary to use docker for the sake of docker :-/18:54
boltholewe shall see18:54
jrwreni am trying to use mongodb interface. after charm build it creates a hooks/relations/mongodb dir with modules in it. From where do these modules come?19:50
=== natefinch is now known as natefinch-afk
smartbiton OSX I connect to http://127.0.0.1:6079 with vagrant image http://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-juju-vagrant-disk1.box. I get an "Connecting to the Juju environment" and no login.20:27
smartbitTried config.trigger.after 'sudo route add -net 10.0.3.0/24 172.16.250.15 >/dev/null' at no avail.20:27
smartbitAny suggestions?20:27
haasnI created a container via the web UI and this container is stuck on “pending” (as per `juju status`). How can I figure out what's wrong? I attached to the container and it doesn't seem to be doing anything22:37
haasnI can reach it from the outside, too22:37
haasn(ping)22:38
rick_h__haasn: can you ssh to the container and look for a log in /var/log/juju with some activity22:39
rick_h__haasn: normally the container is running a unit of something so I'd say to grab the unit log, but if you just asked for a container there should be a machine log there I believe22:40
haasnhttps://0x0.st/X_x.txt this maybe?22:40
rick_h__haasn: hmm, replicasets are a mongodb thing. Is this in lxc locally? what version of juju?22:43
haasnhmm no I'm getting those errors outside of the container too (/var/log/juju/machine-0.log seems to be present on both)22:44
haasnI tried destroying the container with `juju destroy-machine 0/lxc/0` and now it's stuck in “state: pending life: dying”22:44
rick_h__haasn: is the container on machine 0?22:44
haasnand still doesn't seem to be doing anything22:44
haasnyes22:44
haasnand now I get that “public no address” error about once every few seconds22:44
rick_h__haasn: and this is on lxc provider? lxd? aws?22:44
haasnno idea. `juju version` on the machine I'm controlling from is 1.25.0-wily-amd64 but I have no idea if that's relevant22:46
haasnwell, I managed to get rid of the container by using lxc-stop, lxc-destroy and juju destroy-machine --force22:47
haasnTime for another attempt. Can I set the MAC address to use for containers when creating them? Part of the reason it was stuck to begin with may have had to do with the fact that my DHCP server didn't have an entry for the random MAC it generated22:47
haasn(then again, it's not like the GUI asked me..)22:47
rick_h__haasn: right but you ran "juju bootstrap" on some provider?22:48
haasnYes, juju bootstrapped itself into a machine22:48
rick_h__haasn: where you configured an entry in your environments.yaml22:48
rick_h__using the manual provider?22:48
haasnYes, I configured that file and added a single environment of type: maas22:48
haasnThis works, too22:49
haasnI have multiple maas nodes that I can request just fine with juju and deploy charms on22:49
haasnBut now I want to have a maas node that hosts multiple LXC containers22:49
rick_h__ah ok22:49
haasn(for small charms not worth wasting a full server on)22:49
rick_h__that helps clarify22:49
haasnIt's the creation of these LXC containers that doesn't seem to be working22:49
rick_h__ok, so right, maas should be able to provide dhcp addresses to the containers on the machines22:49
haasnI'm trying to figure out how to replicate the configuration the GUI tried to apply from the command line22:50
rick_h__sure thing, sec22:50
haasnI'm not using maas DHCP, I'm using an external DHCP server. I add the MACs of new servers manually22:50
rick_h__haasn: https://jujucharms.com/docs/1.25/charms-deploying search for "placement"22:51
haasnI understand that I can use that --to syntax to install multiple charms on a single machine, but that installs them “side by side” inside the same machine, on the same FS - they don't get isolation, they don't get individual IPs, etc. I figured I would prefer having them just live in LXC containers which are reasonably lightweight but provide some free isolation22:52
rick_h__haasn: ah sorry, I thought it had a container example there as well but not seeing it.22:54
rick_h__haasn: you do what the gui is doing by specifying a container path in the --to flag22:55
haasnI guess the container example was something like “juju machine add lxc:0” to add a new LXC container on machine 022:55
haasnwhich seems to run into the exact same result as doing it from the GUI22:55
rick_h__haasn: juju help deploy22:55
rick_h__there's an example there of deploying into a container22:55
haasnrick_h__: I'm not that far yet. I need a container working before I can deploy services into it22:55
rick_h__so juju deploy mysql --to 0/lxc/0 I think22:56
haasnThe container doesn't work, and the problem seems to be that it picks a random MAC address instead of letting me configure what MAC to use22:56
haasnI'm looking for a way to solve this issue22:56
rick_h__haasn: right, but saying you can have Juju create the container and put the service on it at the same time22:56
haasnah okay22:56
rick_h__haasn: but you're right, if there's a dhcp issues with the mac then solving that first is a good thing22:56
rick_h__haasn: I don't know of any way to inject the mac address there for you22:57
haasnI guess the best “solution” here would be to allocate the LXC container manually, give it a static IP of my choice, then add knowledge of this to juju? https://askubuntu.com/questions/671326/manually-provision-an-existing-lxc-container-in-juju-local22:57
rick_h__haasn: unfortunately things are setup expecting maas to be doing the heavy lifting there in my experience.22:57
haasnfair enough22:57
haasnThis alone might be a reason to set up an extra subnet for the maas and use its DHCP, if it makes life easy when allocating lots of lxc containers dynamically22:58
haasnbut I guess I can just “colocate” my services that run on the same machine (via --to) and stick to the current, simpler design that doesn't require any new network hardware22:58
haasnand only use maas for physical machines or VMs22:58
haasnAm I correct in assuming that (currently) `juju expose` pretty much does absolutely nothing for maas environments and all services are always publicly reachable?23:02
haasnI heard that some new rewrite of juju in Go is going to have a juju firewall that manages which services to expose or not to expose, but I take it this is in the distant future?23:02
rick_h__haasn: yea, that's true because there's not a provider security/firewall api in question23:02
rick_h__haasn: I think there was something looked into to control a firewall, but it's not on all hosts by default atm23:03
haasnHow do service relations work? If I write “juju deploy wordpress && juju add relation wordpress mysql”, does that mean wordpress “automagically” uses the mysql service as its backend? What happens if I just write “juju deploy wordpress” without having a mysql service anywhere else?23:15
rick_h__haasn: so first, what will happen if you don't have a database. The wordpress service will be deployed and report that it's blocked, waiting for a database, before it's useful23:16
rick_h__haasn: the two charms both declare they can communicate around a protocol by defining both ends of a relationship23:17
rick_h__haasn: https://jujucharms.com/docs/1.25/charms-relations has a starter and there's other docs on writing them23:17
haasnmakes sense, thanks23:20
haasnis the machine ID treated like a nonce? i.e. if I add and destroy machines often, it will always only grow?23:22
rick_h__yes23:23

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