[00:51] <anastasiamac> wallyworld: PTAL https://github.com/juju/juju/pull/10550
[00:52] <wallyworld> ok
[00:52] <anastasiamac> \o/
[03:46] <timClicks> feedback please! https://discourse.jujucharms.com/t/feedback-please-wecloming-new-users-to-juju/1976
[03:58] <wallyworld> timClicks: starting with a few well chosen bullet points is (to me) preferrable over a block of text first up
[03:58]  * timClicks nods
[03:59] <timClicks> yeah it certainly lowers the cognitive barrier to entry
[04:11] <magicaltrout> timClicks: the first bullet point is an inside joke, right?
[04:11] <magicaltrout> ;)
[04:12] <timClicks> magicaltrout: shh
[04:12] <magicaltrout> I think it reads fine... but
[04:12] <magicaltrout> there's a couple of bits in V2 I don't think make sense to people who don't know
[04:12] <timClicks> magicaltrout: 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:13] <timClicks> that off the cuff comment has sort of stuck in my mind a bit
[04:14] <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 understand
[04:14] <magicaltrout> "Extending your product should be as simple as deploying its first prototype." I'd argue that thats impossible... don't @ me
[04:15] <timClicks> the downside of being pithy is that you end up looking naive
[04:15] <magicaltrout> tbh the tweet of V1 I liked
[04:15] <timClicks> yeah I'm quite happy with v1, tbh
[04:16] <magicaltrout> you might want to keep the v1 structure, put the bullets after the first sentence and remove a couple
[04:17] <timClicks> wallyworld: one of the problems with bullet points is that they're very easy to bikeshed about and obtaining perfection is haaard
[04:17] <wallyworld> worth the effort though. most people will not look at a wall of text
[04:17] <timClicks> +!
[04:17] <timClicks> +1
[04:17] <magicaltrout> do the trendy thing and bold key words ;)
[04:17] <magicaltrout> ...
[04:18] <magicaltrout> don't
[04:18] <timClicks> ha
[04:18] <timClicks> magicaltrout: is there anything in v1 that you slightly disagree with, in the sense of that prototype sentence
[04:19] <magicaltrout> nope i like v2
[04:19] <magicaltrout> er
[04:19] <magicaltrout> 1
[04:25] <timClicks> that's good to hear
[04:26] <timClicks> magicaltrout: I also added a glossary yesterday https://jaas.ai/docs/glossary
[04:26] <timClicks> and restructured the docs heavily to make them more digestable
[04:27] <timClicks> I'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 depth
[04:29] <magicaltrout> looks 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 as
[04:29] <magicaltrout> obviously enough for new users
[04:30] <magicaltrout> he 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 bit
[04:31] <magicaltrout> also, 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 stale
[04:34] <magicaltrout> oh 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 the
[04:35] <magicaltrout> common properties over the relation
[04:35] <magicaltrout> why? 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 DB
[04:36] <magicaltrout> but similar examples exist for LDAP, Backup etc etc
[04:39] <timClicks> that'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 1
[04:40] <magicaltrout> yup
[04:40] <timClicks> creating some standard foundational interfaces seems really sensible
[04:41] <timClicks> ODBC and JDBC make perfect sense conceptually
[04:41] <timClicks> I would like to see generic TCP and perhaps UDP interfaces for streaming bytes around
[04:42] <timClicks> they could be very simple ("hi I'm listening on this port")
[04:42] <magicaltrout> yeah i could see that being handy
[04:43] <timClicks> but that could conflate the difference between the underlying transport and juju's primitives, which could muddy the waters
[04:44] <timClicks> the pgsql:db interface also includes a dance for creating a unique username + password
[04:45] <magicaltrout> it does, mysql does the same, thats useful, but i don't see why you can't do that in a generic interface
[04:45] <timClicks> so part of the discussion about those foundational interfaces would be to decide on what extras are needed
[04:45] <timClicks> sure
[04:55] <magicaltrout> also timClicks on the relations topic... here's a question.... say I have a very simple relation... jdbc for example
[04:55] <magicaltrout> sends a app name one way
[04:55] <magicaltrout> and username, password, ip address, database type the other
[04:56] <magicaltrout> why, as a developer, do I need to write any code at all to generate that relation?
[04:56] <magicaltrout> it 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 work
[04:57] <magicaltrout> it also becomes understabld for people wanting to implement the relation because the metadata is defined in a yaml definition
[04:57] <magicaltrout> -d +e
[04:58] <timClicks> I don't know enough of the history to know why interfaces and charm development emerged as it did
[04:58] <magicaltrout> from 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:59] <timClicks> my suspicion is that charming methodologies were developed by people who had a very thorough understanding of what they intended (because they created it)
[05:00] <magicaltrout> cory_fu rewrites the interface patterns as a hobby... ;)
[05:00] <magicaltrout> just to mess with me
[05:05] <timClicks> autogenerated relations seems like a pretty neat idea though, just a matter of implementing it!
[05:07] <magicaltrout> ha
[05:07] <magicaltrout> well i've asked on the forums
[05:08] <magicaltrout> i barely have any bandwidth but it'd be something i'd like to investigate purely from a sanity point of view
[05:09] <magicaltrout> also if it built out the definition into boilerplate, if you wanted it to do something more useful you could tweak it before pushing it upstream
[05:22] <timClicks> I like the idea, very hopeful that it will spur some productive discussion
[05:22] <timClicks> I need to shoot off, nice to chat
[06:35] <wallyworld> kelvinliu_: juju-run support https://github.com/juju/juju/pull/10551
[06:36] <wallyworld> still need to work on setting things up before running an action so you don't have to first run an action for it to work
[06:40] <kelvinliu_> yeah, we can add a cmd to check if the files/dirs/symlinks are ready to run
[06:42] <hpidcock> wallyworld: looks like that should work perfectly fine with the TLS stuff
[06:46] <wallyworld> good
[06:47] <wallyworld> kelvinliu_: it's not so much from the operator sid eof things. the worklod expects to have juju-run available
[06:49] <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:50] <wallyworld> if initi was thinking we could use an init container which has the same jujud embedded in it as the operator
[06:50] <wallyworld> maybe a shared emptyDir volume mount or somehting, not sur
[06:50] <kelvinliu_> and it could be included into the new worker that will be responsible to ensure certs etc up to update.
[06:51] <wallyworld> let's discuss with hpidcock on monday as i want to define the approach we need to use
[06:51] <kelvinliu_> sure
[06:52] <hpidcock> sounds good
[07:49] <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] <wallyworld> no worries ty
[07:50] <kelvinliu_> thx, have a good weekend!
[07:51] <wallyworld> u2
[10:37] <drul> Hi.  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 thou
[10:37] <drul> ghts welcome!
[11:07] <atdprhs> Hello everyone, do any know how can I do this >> https://kubernetes.io/docs/tasks/administer-cluster/dns-debugging-resolution/#known-issues
[11:07] <atdprhs> using conjure-up which uses juju coredns doesn't connect to the internet
[11:07] <atdprhs> but 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-issues
[11:57] <hml> manadart: review pls https://github.com/juju/juju/pull/10549
[11:58] <manadart> hml: Sure; need a few mins.
[12:22] <rick_h> atdprhs:  hmm, not sure. I'd check with the k8s folks like kwmonroe and knobby
[12:23] <atdprhs> ok, thanks rick_h
[12:24] <rick_h> atdprhs:  you might also hit up https://discourse.jujucharms.com/ as there's a bunch of k8s folks that watch there and might have some hints
[12:24] <knobby> atdprhs: 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#L694
[12:25] <knobby> atdprhs: I agree with rick. I think the best option is to open a discourse post describing your environment and problem.
[12:26] <atdprhs> knobby, i think we spoke before on Kubernetes slack
[12:26] <atdprhs> it's the same problem :(
[12:27] <atdprhs> I am using ubuntu 18.04, i'm guessing since ubuntu 1804 is using netplan, maybe there is a difference?
[12:28] <atdprhs> I 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 back
[12:33] <knobby> atdprhs: 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:34] <atdprhs> @knobby https://discourse.jujucharms.com/t/encountering-network-error-while-attempting-to-install-kubernetes-via-conjure-up/1894/5
[12:34] <knobby> atdprhs: 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:35] <atdprhs> because my pods are not able to connect to internet
[12:35] <atdprhs> as per the ticket
[12:36] <atdprhs> as per the issue/question on discourse
[12:36] <atdprhs> using your kubectl command, i can't dig
[12:36] <atdprhs> command not found
[12:37] <knobby> atdprhs: when you ssh into a worker node does dns work from that node itself?
[12:37] <atdprhs> when i juju ssh kubernetes worker, i noted dns issue, fixed it
[12:37] <atdprhs> using netplan, did a reboot for the entire physical machine
[12:38] <atdprhs> but no luck
[12:38] <knobby> atdprhs: are you able to `dig google.com @8.8.8.8`
[12:38] <knobby> from the pod
[12:39] <atdprhs> no, dig command not found
[12:39] <atdprhs> https://paste.ubuntu.com/p/bryPTkm8pq/
[12:40] <knobby> atdprhs: apt install dnsutils
[12:41] <atdprhs> https://paste.ubuntu.com/p/fPD8RptNhs/
[12:42] <atdprhs> the pod can't connect to internet
[12:44] <knobby> atdprhs: 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] <atdprhs> i have worker and kubeapi lb exposed as per https://jaas.ai/canonical-kubernetes which means that they should be able to connect to internet
[12:44] <atdprhs> baremetal
[12:44] <atdprhs> kvm
[12:44] <atdprhs> maas
[12:44] <atdprhs> conjure-up
[12:45] <knobby> atdprhs: kvm how? maas pods?
[12:45] <atdprhs> yes
[12:45] <atdprhs> any machine commissioned by maas's pod (kvm) has connection to internet just fine
[12:45] <knobby> ok, 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:46] <knobby> wrong in maas I mean. Like a configuration issue there
[12:46] <atdprhs> I updated netplan cuz I destroyed k8s and redeployed it
[12:46] <atdprhs> the reason i updated netplan, is because i modified maas's subnet network to use a different dns ip hoping it might help
[12:47] <atdprhs> but generally for all other machines commissioned by maas are working nicely and just fine
[12:47] <knobby> atdprhs: 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] <atdprhs> yes
[12:48] <atdprhs> conjure-up >> cdk >> maas
[12:48] <atdprhs> >> rest of the process
[12:48] <knobby> so it makes them with a bad netplan that you have to manually poke each time?
[12:48] <knobby> or have you kept the same cdk deploy and you're just trying to get existing to work?
[12:49] <atdprhs> nope, 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 k8s
[12:49] <atdprhs> all of them, never made any changes to netplan
[12:50] <knobby> ok, so a `juju run --unit kubernetes-worker/0 -- dig google.com @8.8.8.8` works for you, correct?
[12:50] <atdprhs> yes
[12:50] <atdprhs> correct
[12:52] <knobby> do the pods come up? kubelet is able to reach the net?
[12:52] <knobby> atdprhs: what cni are you using?
[12:56] <atdprhs> what do you mean by cni? and how can I know if kubelet is able to reach the net?
[13:00] <knobby> atdprhs: 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:53] <achilleasa> can 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?
[18:34] <atdprhs> thanks a lot knoppy, you rock!!!!