/srv/irclogs.ubuntu.com/2019/08/23/#juju.txt

anastasiamacwallyworld: PTAL https://github.com/juju/juju/pull/1055000:51
wallyworldok00:52
anastasiamac\o/00:52
timClicksfeedback please! https://discourse.jujucharms.com/t/feedback-please-wecloming-new-users-to-juju/197603:46
wallyworldtimClicks: starting with a few well chosen bullet points is (to me) preferrable over a block of text first up03:58
* timClicks nods03:58
timClicksyeah it certainly lowers the cognitive barrier to entry03:59
magicaltrouttimClicks: the first bullet point is an inside joke, right?04:11
magicaltrout;)04:11
timClicksmagicaltrout: shh04:12
magicaltroutI think it reads fine... but04:12
magicaltroutthere's a couple of bits in V2 I don't think make sense to people who don't know04:12
timClicksmagicaltrout: I gave a talk at a meetup this week and when asked to explain Juju described it as "add terraform and ansible together, then remove about 90% of the complexity"04:12
timClicksthat off the cuff comment has sort of stuck in my mind a bit04:13
magicaltrout"Juju focuses on the applications that your deployment defines and how they are related." that sorta makes sense, but i think could possibly be reworked into something thats a little easier to understand04:14
magicaltrout"Extending your product should be as simple as deploying its first prototype." I'd argue that thats impossible... don't @ me04:14
timClicksthe downside of being pithy is that you end up looking naive04:15
magicaltrouttbh the tweet of V1 I liked04:15
timClicksyeah I'm quite happy with v1, tbh04:15
magicaltroutyou might want to keep the v1 structure, put the bullets after the first sentence and remove a couple04:16
timClickswallyworld: one of the problems with bullet points is that they're very easy to bikeshed about and obtaining perfection is haaard04:17
wallyworldworth the effort though. most people will not look at a wall of text04:17
timClicks+!04:17
timClicks+104:17
magicaltroutdo the trendy thing and bold key words ;)04:17
magicaltrout...04:17
magicaltroutdon't04:18
timClicksha04:18
timClicksmagicaltrout: is there anything in v1 that you slightly disagree with, in the sense of that prototype sentence04:18
magicaltroutnope i like v204:19
magicaltrouter04:19
magicaltrout104:19
timClicksthat's good to hear04:25
timClicksmagicaltrout: I also added a glossary yesterday https://jaas.ai/docs/glossary04:26
timClicksand restructured the docs heavily to make them more digestable04:26
timClicksI'm looking at the "getting started" page next (it's the most important page to get right, imo) and then I'll see if we can look into relations/interfaces in more depth04:27
magicaltroutlooks good timClicks. I know you've been my non technical colleague about the getting started docs this week, or so he claimed. He tries! But he doesn't have much development experience and I'm in the US and he's in the office in the UK... that said, I did tell him to keep going because if he can't get through the getting started docs, then they probably don't explain stuff simply/ccorrectly or as04:29
magicaltroutobviously enough for new users04:29
magicaltrouthe told me it was broke, so when I get back to the office I'll find out where he's got stuck, but there's certainly stuff like old Xenial series tags and stuff being built against Bionic and things that confuse matters a bit04:30
magicaltroutalso, i'm very happy jaas.ai is getting its tutorials sections, but you all also need to make sure the old tutorials on ubuntu.com are removed because they'll be uber stale04:31
magicaltroutoh also, one other thing about newbies and relation interfaces... I've argued for years and never got very far that it would be cool to have a bunch of generic interfaces for stuff... the example I raise plenty of times, and I'm guilty of never following through on building it like I said I would is, as well as a MySQL relation and a PostgreSQL relation etc have a JDBC relation that sends all the04:34
magicaltroutcommon properties over the relation04:35
magicaltroutwhy? Cause most stuff you relate to a database is going to speak JDBC or similar, so have a generic relation that allows the developer to just implement a single endpoint instead of one for each DB04:35
magicaltroutbut similar examples exist for LDAP, Backup etc etc04:36
timClicksthat's a v good point about the old tutorials, there is quite a lot of stale content around actually.. askubuntu.com has very good SEO, for example, and quite a few answers related to juju 104:39
magicaltroutyup04:40
timClickscreating some standard foundational interfaces seems really sensible04:40
timClicksODBC and JDBC make perfect sense conceptually04:41
timClicksI would like to see generic TCP and perhaps UDP interfaces for streaming bytes around04:41
timClicksthey could be very simple ("hi I'm listening on this port")04:42
magicaltroutyeah i could see that being handy04:42
timClicksbut that could conflate the difference between the underlying transport and juju's primitives, which could muddy the waters04:43
timClicksthe pgsql:db interface also includes a dance for creating a unique username + password04:44
magicaltroutit does, mysql does the same, thats useful, but i don't see why you can't do that in a generic interface04:45
timClicksso part of the discussion about those foundational interfaces would be to decide on what extras are needed04:45
timClickssure04:45
magicaltroutalso timClicks on the relations topic... here's a question.... say I have a very simple relation... jdbc for example04:55
magicaltroutsends a app name one way04:55
magicaltroutand username, password, ip address, database type the other04:55
magicaltroutwhy, as a developer, do I need to write any code at all to generate that relation?04:56
magicaltroutit seems almost like a really digestable and developer friendly way to deal with simple relations would be to have 2 yaml files to define the interface on either end, and some python lib does the rest of the work04:56
magicaltroutit also becomes understabld for people wanting to implement the relation because the metadata is defined in a yaml definition04:57
magicaltrout-d +e04:57
timClicksI don't know enough of the history to know why interfaces and charm development emerged as it did04:58
magicaltroutfrom an implementation point of view of course I have no idea what work that entails, but most of my relations over the years have just shuttled data around and left it to the charms to figure it out, surely there's a really simple template to build that out in a way that just involves 2 files! ;)04:58
timClicksmy suspicion is that charming methodologies were developed by people who had a very thorough understanding of what they intended (because they created it)04:59
magicaltroutcory_fu rewrites the interface patterns as a hobby... ;)05:00
magicaltroutjust to mess with me05:00
timClicksautogenerated relations seems like a pretty neat idea though, just a matter of implementing it!05:05
magicaltroutha05:07
magicaltroutwell i've asked on the forums05:07
magicaltrouti barely have any bandwidth but it'd be something i'd like to investigate purely from a sanity point of view05:08
magicaltroutalso if it built out the definition into boilerplate, if you wanted it to do something more useful you could tweak it before pushing it upstream05:09
timClicksI like the idea, very hopeful that it will spur some productive discussion05:22
timClicksI need to shoot off, nice to chat05:22
wallyworldkelvinliu_: juju-run support https://github.com/juju/juju/pull/1055106:35
wallyworldstill need to work on setting things up before running an action so you don't have to first run an action for it to work06:36
kelvinliu_yeah, we can add a cmd to check if the files/dirs/symlinks are ready to run06:40
hpidcockwallyworld: looks like that should work perfectly fine with the TLS stuff06:42
wallyworldgood06:46
wallyworldkelvinliu_: it's not so much from the operator sid eof things. the worklod expects to have juju-run available06:47
kelvinliu_ah, right. we probable can have a hook on operator side to ensure/copy all stuff in place after workload pod is up.06:49
wallyworldif initi was thinking we could use an init container which has the same jujud embedded in it as the operator06:50
wallyworldmaybe a shared emptyDir volume mount or somehting, not sur06:50
kelvinliu_and it could be included into the new worker that will be responsible to ensure certs etc up to update.06:50
wallyworldlet's discuss with hpidcock on monday as i want to define the approach we need to use06:51
kelvinliu_sure06:51
hpidcocksounds good06:52
kelvinliu_wallyworld: just left a few questions on ur PR, and also a draft pr for podspec v2 https://github.com/juju/juju/pull/10552/files, we can discuss on Mon together.07:49
wallyworldno worries ty07:49
kelvinliu_thx, have a good weekend!07:50
wallyworldu207:51
drulHi.  Now trying to get 'openstack-base' bundle up and running, and almost there... but keystone is constantly alternating between 'Migrating the keystone database' and 'hook failed: "shared-db-relation-changed" '.  On the unit, /var/log/keystone/keystone.log shows 'DBMigrationError: "Database schema file with version 61 doesn't exist." '.  Any thou10:37
drulghts welcome!10:37
atdprhsHello everyone, do any know how can I do this >> https://kubernetes.io/docs/tasks/administer-cluster/dns-debugging-resolution/#known-issues11:07
atdprhsusing conjure-up which uses juju coredns doesn't connect to the internet11:07
atdprhsbut since I'm on ubuntu, i am doubting that this is the issue here >> https://kubernetes.io/docs/tasks/administer-cluster/dns-debugging-resolution/#known-issues11:07
hmlmanadart: review pls https://github.com/juju/juju/pull/1054911:57
manadarthml: Sure; need a few mins.11:58
rick_hatdprhs:  hmm, not sure. I'd check with the k8s folks like kwmonroe and knobby12:22
atdprhsok, thanks rick_h12:23
rick_hatdprhs:  you might also hit up https://discourse.jujucharms.com/ as there's a bunch of k8s folks that watch there and might have some hints12:24
knobbyatdprhs: I don't think that is your problem. CK has done this for some time: https://github.com/charmed-kubernetes/charm-kubernetes-worker/blob/master/reactive/kubernetes_worker.py#L69412:24
knobbyatdprhs: I agree with rick. I think the best option is to open a discourse post describing your environment and problem.12:25
atdprhsknobby, i think we spoke before on Kubernetes slack12:26
atdprhsit's the same problem :(12:26
atdprhsI am using ubuntu 18.04, i'm guessing since ubuntu 1804 is using netplan, maybe there is a difference?12:27
atdprhsI am trying to customize the coredns to use 8.8.8.8 as per https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/ but i don't know how to get it done, any changes eventually gets reverted back12:28
knobbyatdprhs: netplan is in bionic and we deploy bionic all the time. Something has to be going on here. I would hit discourse and be sure to describe it fully.12:33
atdprhs@knobby https://discourse.jujucharms.com/t/encountering-network-error-while-attempting-to-install-kubernetes-via-conjure-up/1894/512:34
knobbyatdprhs: why would you want to inject dns into coredns? why not just let the default dns that you hand out handle it. pods will ask coredns, which resolves cluster things and then asks your default dns servers about things. Why inject 8.8.8.8 into your coredns when you can just have it outside?12:34
atdprhsbecause my pods are not able to connect to internet12:35
atdprhsas per the ticket12:35
atdprhsas per the issue/question on discourse12:36
atdprhsusing your kubectl command, i can't dig12:36
atdprhscommand not found12:36
knobbyatdprhs: when you ssh into a worker node does dns work from that node itself?12:37
atdprhswhen i juju ssh kubernetes worker, i noted dns issue, fixed it12:37
atdprhsusing netplan, did a reboot for the entire physical machine12:37
atdprhsbut no luck12:38
knobbyatdprhs: are you able to `dig google.com @8.8.8.8`12:38
knobbyfrom the pod12:38
atdprhsno, dig command not found12:39
atdprhshttps://paste.ubuntu.com/p/bryPTkm8pq/12:39
knobbyatdprhs: apt install dnsutils12:40
atdprhshttps://paste.ubuntu.com/p/fPD8RptNhs/12:41
atdprhsthe pod can't connect to internet12:42
knobbyatdprhs: yes, there are some networking issues. Can you please describe your environment in that discourse post? How many machines are you using? Are you using aws? Is this bare metal? Are you using lxd?12:44
atdprhsi have worker and kubeapi lb exposed as per https://jaas.ai/canonical-kubernetes which means that they should be able to connect to internet12:44
atdprhsbaremetal12:44
atdprhskvm12:44
atdprhsmaas12:44
atdprhsconjure-up12:44
knobbyatdprhs: kvm how? maas pods?12:45
atdprhsyes12:45
atdprhsany machine commissioned by maas's pod (kvm) has connection to internet just fine12:45
knobbyok, and juju ssh into a machine works without trouble to reach all the things? I'm concerned that you had to fix a netplan issue on a generated pod. It makes me think something is wrong with maas or something.12:45
knobbywrong in maas I mean. Like a configuration issue there12:46
atdprhsI updated netplan cuz I destroyed k8s and redeployed it12:46
atdprhsthe reason i updated netplan, is because i modified maas's subnet network to use a different dns ip hoping it might help12:46
atdprhsbut generally for all other machines commissioned by maas are working nicely and just fine12:47
knobbyatdprhs: that doesn't jive with "I'm using pods in maas". Is conjure-up/juju creating the vm for you when you deploy?12:47
atdprhsyes12:47
atdprhsconjure-up >> cdk >> maas12:48
atdprhs>> rest of the process12:48
knobbyso it makes them with a bad netplan that you have to manually poke each time?12:48
knobbyor have you kept the same cdk deploy and you're just trying to get existing to work?12:48
atdprhsnope, I just poked manually this time because I reconfigured something on maas's end but that issue is not related to this specific poke, since I synced with you on kubernetes slack, I tried 20 deployments of k8s12:49
atdprhsall of them, never made any changes to netplan12:49
knobbyok, so a `juju run --unit kubernetes-worker/0 -- dig google.com @8.8.8.8` works for you, correct?12:50
atdprhsyes12:50
atdprhscorrect12:50
knobbydo the pods come up? kubelet is able to reach the net?12:52
knobbyatdprhs: what cni are you using?12:52
atdprhswhat do you mean by cni? and how can I know if kubelet is able to reach the net?12:56
knobbyatdprhs: cni is kubernetes networking plugins. Things like flannel or calico. if kubelet can't reach the net, things like images wouldn't download and pods couldn't start.13:00
achilleasacan I get a quick CR on https://github.com/juju/packaging/pull/5? manadart since you reviewed the previous one can you take a look at this one too?13:53
atdprhsthanks a lot knoppy, you rock!!!!18:34

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