/srv/irclogs.ubuntu.com/2018/06/25/#juju.txt

wallyworldvino_: a few small things, let me know if you have questions00:02
wallyworldveebers: not sure tbh, charm push may no know to expand the "~"00:03
babbageclunkwallyworld: ok, think I've found the problem, just checking now.00:06
wallyworldyay00:07
vino_wallyworld: sure00:07
babbageclunkwallyworld: that seemed to work. Trying it again with a 3-machine controller00:12
veeberswallyworld: /tmp/blah didn't work, ~/tmp/blah did work (both are actual files). It's ok, not blocking me (suspect it's a snap/containment thing)00:12
wallyworldveebers: ah, i had it the wrong way around in my mind. that makes sense for a snap yeah00:16
=== `Calvin is now known as Calvin`
babbageclunkwallyworld: yay, that worked too, checking one more scenario (2 machines in the controller, so one non-voter)00:28
wallyworldbabbageclunk: i'll be interested to see what fix was00:29
babbageclunkIt was in the upgrade step - I didn't defer-close the log store, so the raft worker just hung on startup. In the past that had always been caused by the transport not getting an address, so I was looking in the wrong place, but the logging I added showed it wasn't the problem.00:31
babbageclunkwallyworld: ^00:31
wallyworldah, cool00:32
wallyworldkelvin: i left a couple of small comments00:32
kelvinwallyworld, thanks for reviewing, i just had a push to resolve ur comments.00:34
wallyworldok00:34
wallyworldkelvin: looks good to land! on to next step00:35
kelvinwallyworld, thanks, merging now00:36
babbageclunkwallyworld: actually, my idea of testing a 2-machine controller relies on stuff in 2.4, so it's not necessary. Tidying up and pushing a PR now and then I'll do the unit tests.00:38
wallyworldsgtm00:39
babbageclunk(Oh, and I'll check bootstrapping 2.4 directly is still fine.)00:39
vino_wallyworld: i am using IsolationSuite from github.com/juju/testing instead of BaseSuite in juju/juju/testing.01:03
wallyworldthat sounds fine01:03
vino_it introduced few issues in reading the EchoArgs. Trying to fix it.01:03
vino_rest all comments make sense.01:03
wallyworldyou could just leave the base suite out01:03
wallyworldi don't think any of the other charm tests use it01:04
vino_yes correct. And that will fix the CI issue i was facing.01:04
wallyworldso let's drop it then01:04
vino_Yes. charmDir_test uses IsolationSuite01:04
vino_its req for the EnvPatching01:04
vino_which is a good substitute for BaseSuite01:04
vino_Just hold on - using IsolationSuite has introduced a path error. Which i need to identify.01:06
vino_swapping to BaseSuite works well. SO there is something diff between them. I will fix that and push the commit.01:07
babbageclunkwallyworld: https://github.com/juju/juju/pull/885001:40
wallyworldok01:40
babbageclunkSorry, laptop died at a super-inopportune moment, but all better now01:40
wallyworldbabbageclunk: looks ok i think. for 2.5 i think we could consider moving the common raft business logic out of the worker and into a core/raft package that the upgrader also uses01:48
babbageclunkwallyworld: yeah, sounds good01:49
wallyworldvino_: using IsolationSuite should be all you need as that provides the PatchEnvironment functionality. Or you could just use CleanupSuite01:52
babbageclunkwallyworld: do you think the ReplicaSetMembers function in upgrades.go needs a test?01:54
vino_wallyworld: yes. IsoaltionSuite gave me trouble. I found out this CleanupSuite which is good.01:54
vino_no Pathherror.01:54
wallyworldbabbageclunk: not for this PR01:55
vino_iam pushing the commit now.01:55
babbageclunkcool01:55
vino_wallyworld: i haven't addressed one review comment - testing.ReadArgs()02:25
vino_happy to discuss.02:25
wallyworldok, i'll wait for that02:25
wallyworlddid you ned help with it?02:26
vino_not really for that.02:31
vino_I am seeing a weird CI issue. for this NOVCS case.02:31
vino_i dont see this ssue locally.02:31
vino_It shd be nil returned from function.02:32
vino_i am trying to look into the CI issue here.02:32
wallyworldvino_: it's jus a typo02:33
wallyworldc.Assert(err, gc.NotNil)02:33
wallyworldshould be c.Assert(err, jc, ErroIsNil)02:34
wallyworldvino_: actually, all the other gc.IsNil for error checking added to the pr should also be c.Assert(err, jc.ErrorIsNil)02:35
vino_ok. thank u. I was confused that i cudntnt see that issue Locally in my machine.02:37
vino_thanks wallyworld.02:37
wallyworldi'm sureprised by that - it should have failed locally02:37
vino_i can show u.02:37
wallyworldthe logic error was checking for a not nil error when it would have been nil02:37
vino_i do see here all 185 OK02:38
wallyworldright but the issue is that the error should not have beenj returned as not nil02:38
wallyworldthe new function should just return nil if no vcs dir exists02:39
vino_Yes. I am checking that if not nil  then assert02:39
vino_i am explicitly returning NIL if NOVCS02:39
vino_The new function does exactly the same as u r telling.02:39
wallyworldright but the PR was checkinf that the error was not nil02:39
wallyworldline 300 was c.Assert(err, gc.NotNil)02:40
wallyworldthis says that we expect a non-nil error02:40
wallyworldbut we want the error to be nil02:40
wallyworldif that code passes when you run it locally i'm confused as to how02:41
vino_the new function does the correct thing. But i am check here is wrong.02:41
vino_is that what u mean - correct ?02:41
wallyworldyes, if the PR says c.Assert(err, gc.NotNil) then that's wrong02:41
wallyworldand hence the CI failure02:42
vino_I get what u r saying.02:44
vino_but i you telling all has to be changed. How come it is passing for me locally here.!02:44
wallyworldthat's a different issue02:46
wallyworldwhat needs to be changed is the syntax for error checking. gc.IsNil is not how we do it as it sometimes can give wrong results if there's a pointer02:46
wallyworldc.Assert(err, jc.ErrorIsNil) is what we use02:47
wallyworldi didn't notice the use of c.Assert(err, gc.IsNil) before02:47
wallyworldso there's 2 issues: 1. fix the incorrect assetion to make test pass, 2. replace gc.IsNil to make code more correct02:48
vino_ok sure wallyworld.03:00
vino_thumper: 1:1 ?03:01
veeberswallyworld: It seems (in the code) that one can provide a 'revision' as a resource arg, but I don't see mention of that in the help etc. Does that ring a bell at all?03:14
wallyworldvino_: tim is away sick today03:21
wallyworldveebers: resources have revisions - each time one is updated the revsion increments03:21
wallyworldthere's a published tuple of charn rev,resource rev03:22
wallyworldthat's what is used by default03:22
veeberswallyworld: ack, understand that; it's the "juju deploy --resource <rev>" that I was confirming, i.e. use x revision of the resource.03:22
wallyworldright03:22
veebersthere doesn't seem to be any docs around that (at least not in deploy help)03:22
wallyworldif you wanted to use a rev that's not published03:22
wallyworldcould be the case, haven't read the docs03:23
veebersack, no worries. Work needed on the helps docs there :-)03:23
vino_ok. Thanks wallyworld03:26
wallyworldbabbageclunk: how goes the unit test writing?03:56
babbageclunkalmost done - just need to fix logging03:56
veeberswallyworld: with the upcoming docker resource type, if the user supplies the resource as an arg to deploy, will we (somehow) allow them to supply secrets details too?05:25
wallyworldno, these will come from the charm store05:26
wallyworldthe charm storage manages all that stuff, as it does with macaroons for private charms etc05:27
veeberssweet, ah right you are05:27
vinowallyworld: can u take a look at the Pr05:38
vinowhen u get time05:38
wallyworldok05:38
adhamHi everyone05:39
wallyworldvino: have you pushed chmages?05:40
vinoyes.05:40
adhamBecause of this issue https://stackoverflow.com/questions/50970133/installed-kubernetes-on-ubuntu-and-i-see-a-lot-of-nodes-are-getting-created-in-m05:40
adhamI deleted the VMs manually05:40
adhamI didn't know that this would affect kubernetes deployment05:41
vinoarent u seeing the changes yet wallyworld05:41
vino?05:41
adhamIs there a way that I can remove kubernetes deployments completely manually since conjure-down or up won't work?05:41
wallyworldi can see some but not all? there's still var version and I can't see ReadEchoArgs05:41
vinou wanted to discuss on the ReadArgs()  call05:41
adhamWhen I run juju list-models --debug, I see that it still connects to a vm that has been already deleted05:42
vinoyes.what it reads after that is the empty string.05:42
vinowe can discuss on that.05:42
vinoonce it is read it resets the ptr.05:43
vinothats why we cant use the ReadArgs again.05:43
wallyworldadham: deleting the vms directly in k8s will leave orphaned entries in the juju model. you could try remove-machinbe --force05:45
wallyworldvino: ok. so intead of the expectedVersion slice in the PR, it's cleaner to do what lines 167-170 of EachAsArgs() does05:47
wallyworldto build up the string to compare withthe version file contesnts05:48
adhamhow can I clean up at this point? @wallyworld: I had to do this if you saw my question in StackOverFlow, I have observed a huge flood of VMs once I deployed Kubernetes05:48
adhamand that was a clean installation05:48
wallyworldwhat do you want to clean? the ensire controller? just the model?05:48
adhamSo I have MAAS installed on the same server05:49
adhamI do not want to affect MAAS05:49
adhamI just want to cleanup the kubernetes and then reinstall it again (but after I know why those 70+ vms got generated)05:49
wallyworldi've not used conjure-up to deploy k8s so i can't answer that question - the conjire up guys will be online in a few hours05:50
adhamOk, I can wait for the conjure team, but in the meanwhile, have you ever seen a list of VMs like this in the stack over flow?05:51
wallyworldif you want to keep the existing juju controller running, i think you will need to remove-machine --force all the machines for which you have manually deleted the k8s nodes05:51
adhamI am referring to the link to my question there...05:51
vinowallyworld: yes. that code looks a bit professional.05:51
adhamhow do you mean Wallyworld?05:52
adhamcan you send me a sample command?05:52
wallyworldafter you have deleted from juju the orphaned machines, you should hopwfuly be able to then delete the model05:52
wallyworldjuju remove-machine --force <machineid>05:52
adhamhow can I get the machine id?05:52
wallyworldjuju status05:52
wallyworldwill show all the k8s nodes05:53
wallyworldfrom there you can see which ones correspond to the ones manually deleted05:53
wallyworldit's all a bit abstract without being totally familair with your setup05:53
wallyworldis the juju controller running on a maas node?05:54
adhamthx wallyworld, i'm running juju status, it's taking too long05:54
wallyworldwhat version of juju?05:54
wallyworldif you wanted to blow everything away and start again, you could kill that one maas node and allocate it back to the maas pool, and manually elete the k8s cluster05:55
wallyworldyou'd also need to reclaim any worker nodes05:56
wallyworldbut i've not done what you're doing myself so can't give specific advice05:56
wallyworldadham: maybe you can get better help by asking in #conjure-up if it is a conjure-up issue05:58
adhamSorry wallyworld, just received the messages now, the version is 2.3.8-xenial-amd6406:00
vinowallyworld push the commit. plz let me know. there was another minor in DEbug log comment.06:00
adhamthis server actually has the master maas controller06:01
adhamalso, the command for juju status seems to be still no response till now06:01
adhamI will cancel it and re-run it with debug06:02
adhamahh, ok, it's connecting to API addresses (which has been deleted I'm assuming)06:02
wallyworldadham: juju status connects to the juju controller. i had thought you had only deleted k8s worker nodes?06:09
adhamI deleted all of the extra VMs06:10
adhammaybe I deleted that as well06:10
adhampoof06:10
wallyworldvino: looks good!06:10
adhamWallyworld06:10
adhamis htere a way that I can reverse everything about this deployment06:11
adhamfor the kubernetes?06:11
vinook. i just pushed a last comment u gave :)06:11
vinoi will land it now.06:11
vinowallyworld: in JUJU side i will update the dependencies.tsv first and then push the commit06:12
wallyworldadham: so if the juju controller is realy gone, then you probably just need to blow away the k8s cluster itself. i assume the worker nodes for that were all on maas? if so, and the juju controller node has already been deleted, you could just  decommission those nodes in maas?06:12
wallyworldvino: you update the juju deps after landing the charm.v6 change06:13
wallyworldvino: and we need to make a small juju change also - we should trim the version string to say 100 before writing to the charm doc06:14
wallyworldjust to be defensive06:14
adhamhow can I blow away the k8s cluster itself then?06:15
wallyworldsounds like you have already started to do that? if the k8s nodes are all in maas, and juju controller node has been decommissioned, then you could also decommission the k8s nodes as well06:16
wallyworldand return all those nodes to the maas pool06:16
adhamIn maas, I no longer see any traces for the k8s06:17
adhambut not sure if i'm missing any area to look into06:17
wallyworldi *think* you may have managed to clean it all up then :=)06:18
adhamthen why juju status keeps being frozen, what do I do about this?06:19
wallyworldif juju controller is gone and all k8s nodes are gone then you should be ok06:19
wallyworldyou need to remove the controller reference06:19
wallyworldfrom your local client06:19
wallyworldjuju controllers06:19
wallyworldand then juju unregister <controllername>06:19
adhamhow can I be sure that this controller won't be a reference to MAAS itself?06:20
adhamBecause when I deployed k8s, i made it to use MAAS's cloud06:20
wallyworldmaas is treated in juju as a cloud. you can see it via "juju clouds". the juju unregister command removes a controller entry from a local yaml file06:21
adhamahh, I see conjure-canonical-kubern-a4d06:21
wallyworldjuju unregister  conjure-canonical-kubern-a4d06:21
wallyworldshould work06:21
wallyworldit just removes a yaml file entry06:21
wallyworldmaas will still be running06:21
wallyworldand can be used again with conjureup06:21
adham$ juju unregister conjure-canonical-kubern-a4d06:22
adhamERROR controller conjure-canonical-kubern-a4d not found06:22
adhamconjure-up-server-01-f34*06:22
adhamis * part of the name?06:22
wallyworldthe * indicates that's the current controller juju is using06:22
wallyworldbut the names above differ06:23
adhamthe last one I mentioned with * is under Controller, the one before it is under model06:23
wallyworldwhat does juju controllers say? that's what you pass to unregister06:23
adhamDoing so will prevent you from accessing this controller until you register it again.06:23
adhamI am about to deregister it now06:24
wallyworldright, but here the controller machine has been shut down06:24
wallyworldyou have removed the controller machine manually right?06:24
adhamyes06:24
adhamI guess so06:24
adhamhow can I ensure that?06:24
wallyworldcheck that there's no machine in maas with the listed ip address06:25
wallyworldbut since status hangs and times out, it's a good bet it's gone06:25
adhamno, there is no machine in maas06:25
adhamIf that's the case, I really want to redeploy K8s again06:26
adhambut that flood of VMs doesn't make sense, and I don't know why they were created06:26
adhamDo you have any idea about those machines and why possibly that they would created like that in https://stackoverflow.com/questions/50970133/installed-kubernetes-on-ubuntu-and-i-see-a-lot-of-nodes-are-getting-created-in-m ? I would really appreciate any knowledge around htis06:26
wallyworldso unregister will remove that orphaned entry06:26
wallyworldfrom juju client06:26
wallyworldadham: that's a question best asked in #conjure-up06:28
wallyworldi don't have any insight off the top of my head06:28
wallyworldlots of folks use conjure-up so if there is a bug it would be goos to get it fixed06:29
adhamno, that's alright, I really appreciate your help here, it just made me progress, I was stuck for the last 4 days06:29
adhamthx Wallyworld06:30
wallyworldadham: sorry i couldn't help more with the conjure-up side. i'm more a juju person06:30
wallyworldadham: you should be able to get the help you need in that other channel. if not come back here and we can chase them up :-)06:31
adhamthx, will do! I'm in conjure-up channel06:32
wallyworldadham: they folkd there are mainly USA based so you may not catch them for a few hours yet06:34
vinowallyworld: we can chat here regarding the version string for charm.06:35
adhamthat's why06:35
adhamthat's fine*06:35
adhamso where are you based? I'm in Australia06:35
vinoso u want to keep 100 buffer before writing to the charm manifest06:35
wallyworldadham: brisbane06:37
wallyworldvino: not manifest. as we read in the charm from the zip, before we write to charmDoc06:38
adhamlol06:38
wallyworldyou too?06:38
adhamneighbours :D06:38
wallyworldvino: since we don't always control what goes into charm zip06:39
wallyworldthe best we can do is be careful about what we accept06:39
vinowallyworld: ok before we repackage and write to charmDoc06:44
vinoSo what we wriet is charmDoc needs to be sensible.06:45
* vino make coffee and be back06:46
adhamWallyworld, I know that this is off the topic and beyond your knowledge06:47
adhamBut I just wanted to double check with you if I have any luck06:47
adhamwhen you bring up k8s environment, do you actually see funny names vms?06:47
adhamCuz I am conjuring up the k8s again and now I see casual-guinea, famous-jackal, etc.. Do you have similar VMs in your environment?06:48
wallyworldadham: those names are autogenerated. there's a "pet names" library that is sued. i can't recall the exact name06:49
wallyworldthey take a random adjective and put with a random animal name06:50
wallyworldvino: correct06:50
adhamHmm, and do you have similar names in your environment?06:50
adhamIs there away to have a proper naming convention?06:50
adhamI think this is 100% pure conjure-up since I'm using conjure-up06:51
wallyworldadham: that's actually a maas naming conversion i think. ie the hostnames. juju doesn't care about or use hostnames as such06:52
wallyworldjuju mainly uses machine numbers 1, 2, 3 etc that it generates06:52
wallyworldthere might be a maas option to control hostname generation, not sure off hand06:53
adhamok that explains06:54
adhamand would deploying k8s would deploy 70+ vms?06:54
adhamI just conjured up with minimal installation no addons, and it's still "deploying", and yet I see 10 vms in maas?06:55
adhamI mean 10 new vms06:55
adham20 machines now06:56
wallyworldadham: there's kubernetes-core and CDK. which bundle did you choose?06:57
adhamCDK06:58
adhamAlso, shall report the naming problem in Juju? I really recommend at least a friendly06:58
wallyworldi would expect to see several VMs for that as it is full HA so several redundant nodes for easyrsa etc06:58
adhamname06:58
wallyworldwhich naming problem? the machine name generation in maas?06:59
adhamI used to think that this is a virus or something06:59
wallyworldthe maas node namig is a deliberate design decison to at least give the nodes unique english names06:59
adhamYes, I understood that part, I meant to put a RFE in juju asking for when having juju to create a machine, is to provide an english machine name at the beginning07:01
adhami.e controller_107:01
adhamlb_107:01
adhametc...?07:01
wallyworldadham: juju let's ypu specify whatever controller name you want - conjure up is what's generatig the names you see07:02
adhamahh, ok, then this RFE would go to conjure-up07:02
adhamquiet tricky when you have multple projects and many teams07:03
wallyworldfor the controller name and model names07:03
wallyworldthere may be a way to tell conjure-up, not sure07:03
adhamthx Wallyworld, i've redirected this to conjure-up team, I am waiting for them to be available07:17
wallyworldnp, good luvk07:18
manadartstickupkid: Took a look at your patch. Looks good. I would make 2 changes.08:03
manadart1) Put the mock that is currently in environs/mocks into environs/testing.08:03
manadart2) Instead of making a GetServerEnvironmentCert, make the cert a property. We already call GetServer on instantiation to get data from Environment - just populate it there.08:05
stickupkidmanadart: thanks for the comment08:38
manadartstickupkid: NP.08:42
manadartNeed a review: https://github.com/juju/juju/pull/885515:05
rick_h_hml: thanks for that! Can you please file a bug around the OS_CACERT needing to be in OS config, part of add-cloud, etc. and I'd be curious your thoughts on implementation time for that.16:00
hmlrick_h_: there’s a bug already along these lines: https://bugs.launchpad.net/juju/+bug/177789716:01
mupBug #1777897: add-cloud fails when adding an Openstack with a self-signed certificate <juju:Triaged> <https://launchpad.net/bugs/1777897>16:01
rick_h_hml: ah right thanks16:01
hmlrick_h_: will ponder time question16:01
knobbywallyworld: Since conjure-up is just doing a juju deploy under the hood, I would think that the runaway VM creation would fall into juju in some way. I've never seen this with conjure-up or juju before though. I was hoping that adham had some old version of juju or something. I assume the juju debug-log would be useful if it happens again.18:05
rick_h_knobby: definitely debug-log what's going on if there's some issue there18:18
veebersMorning o/20:35
wallyworldveebers: can you jump into release call21:30
veeberswallyworld: omw21:31
wallyworldbabbageclunk: now that release is out, you can haz review we mentioned last week? :-D pretty please with sugar on top https://github.com/juju/juju/pull/883921:55
babbageclunkoh yes! looking now21:55
babbageclunkThanks for sending the email btw21:55
wallyworldbabbageclunk: no worries, i also had to fix the lp upload thing etc - can't wait for that bug to be fixed21:56
veeberswallyworld: have we pushed on that bug yet? (I haven't >_>)21:57
wallyworldveebers: i *think* tim has, was going to check again this week21:59
veeberswallyworld: ack, cheers22:02

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