/srv/irclogs.ubuntu.com/2016/09/07/#juju-dev.txt

wallyworldthumper: this one fixes the race curtis was talking about, but it needs anothe +1 :-( http://reviews.vapour.ws/r/5594/00:09
* thumper looks00:10
thumperwallyworld: why does the testing show a badly indented table?00:11
wallyworldthumper: markdown char inpaste00:11
menn0thumper: internet is back up00:12
thumpermenn0: cool00:12
menn0thumper: I must admit it was very productive having no distractions for a bit :)00:13
thumperawesome00:13
menn0axw: do you have time for a hangout to discuss macaroons00:13
lazyPoweri too, see the badly indented table00:15
lazyPowerwallyworld :D glad its not just me00:15
lazyPowero/ heya core devs00:16
wallyworldlazyPower: hey00:16
lazyPoweri dont suppose any of you are coming to the summit D:00:16
wallyworldthe charmer summit?00:16
wallyworldperrito666 is00:17
lazyPowerwooo perrito66600:17
wallyworldlazyPower: save up all the beatings until then please :-)00:17
lazyPowerhaha no beatings! i want you people here so you can see and connect with your users!00:17
wallyworldindeed, they canbeat us00:18
lazyPoweryou know, the reason - other than - endless milestone sheets being handed down from planning sessions.00:18
lazyPoweri'm so hype right now. I bet that wears off quickly :D00:18
wallyworldlazyPower: i can't wait for juju 2.0 to hit rc next week - hard to go back to 1.25 now00:19
lazyPowertell me about it. i'm still poking about in -stable for our testing on k8s00:19
lazyPowerwe get charm testing fixed just in time for it to change again .surprise!00:20
axwmenn0: sorry was otp, free to hangout now00:20
menn0axw: give me 30s00:21
wallyworldlazyPower: as soon as we hit rc, no more breaking changes is the aim00:21
axwthe 1.25 CLI feels very clunky every time I go back to it00:22
axwparticularly bootstrap00:23
thumperwallyworld: review done, few issues00:23
wallyworldok, ta00:23
thumperlazyPower: wish I was, but alas, can't00:23
lazyPowerwallyworld - i'm not even mad my friend, not even a little bit....00:24
perrito666lazyPower: as wallyworld said, you can beat me00:24
perrito666and users can connect some punches too00:24
lazyPowerperrito666 - not sure when your team turned into massochists/sadists, but you wear the role really well :P00:24
lazyPowerthumper - shameeeeeeee my man! I was looking forward to seeing you again00:24
lazyPowernext time00:25
wallyworldlazyPower: the beatings will continue until morla improves00:25
perrito666lazyPower: somewhere around the first time we broke the gui without letting urulama know first00:25
thumperlazyPower: I'm going to the CDO sprint in nov rather than the Juju one00:25
lazyPowerhahaha00:25
thumperso we get coverage00:25
lazyPowerand hatch tries so hard to tell me they aren't core ;)00:25
thumperyou at that one?00:25
lazyPowerhatch - you're totally owned by core now, be tee dubs00:25
perrito666lazyPower: dimitern is coming too so you can beat him about network stuff00:25
lazyPowerthumper - no idea. but i doubt it. Marco has done a good job of putting us grunts to work00:25
lazyPowerperrito666 - oh and i have plans on that one ;)00:25
* thumper nods00:25
* thumper heads out, time to pick up kiddo00:26
thumperbbs00:26
lazyPowercheers thumper00:26
lazyPowerperrito666 - well i look forward to hanging out during the summit as well :) seek me out and we can make good on those OCP chassis beers promised from forever ago00:27
wallyworldthumper: issues addressed. i couldn't find any uses of those tw helper functions. am i the first to use them?00:45
thumperno00:45
* thumper finds example00:45
thumperblocks/list.go00:45
thumperuses them00:45
thumperw := output.Wrapper{tw}00:46
thumperw.Println(value, value, value)00:46
thumperor00:46
thumperw.Print(value, value)00:46
wallyworldthumper: oh, i found other ones00:46
wallyworldoutput.TabWriterPrint(tw)00:47
wallyworldi didn't see anywhere else using those00:47
thumperyeah...00:47
thumperthose were written initially to replace the stand alone p functions00:48
wallyworldthey just wrap what you did by habd above :-)00:48
thumperbut in the end I felt it was better to do it other ways00:48
wallyworldsigh :-)00:48
thumpershould probably just remove them :)00:48
wallyworlddouble sigh00:48
wallyworldi'll update the PR00:49
wallyworldthumper: that wrapper really also needs a Printf so that if you are just printing one thing, you don't need to resort to fmt.Fprintf(tw, ...) and can consistently use w.Print everywhere00:52
thumperPrint can take just one thing00:52
thumperwhat do you mean?00:53
wallyworldthumper: you need to do fmt.Sprint() inside the w.Print()00:54
thumperoutput.CurrentHighlight.Fprintf(tw, "%s\t", name) -> w.PrintColor(output.CurrentHighlight, name)00:54
thumperwallyworld: for now, yes00:54
wallyworldright, so if there were a w.Printf(onething) that would help00:54
thumperyou don't need it for %d00:54
thumperw.Print(cores)00:55
wallyworldbut i have other cases where it's needed00:55
thumperwhere?00:55
wallyworldfmt.Fprintf(tw, "CONTROLLER: %v\n", c.ControllerName())00:55
thumperother places, sure, but not in this branch00:55
wallyworldthat's in the bits i'm changing in this branch to use the new helper00:55
wallyworldwould be nice not to have to use fmt.Printf00:56
thumperw.Println("CONTROLLER: " + c.ControllerName())00:56
thumpersure00:56
wallyworldsure, but FPrintf is nicer00:56
thumperno it isn't00:56
thumper:)00:56
wallyworldjust a suggestion for when you remove those other ones00:56
wallyworldthe above is a simplistic example00:57
thumperI know00:57
wallyworldso if you are in the area anyway..... to remove those obsolete helpers.....00:57
* thumper nods00:57
wallyworldthumper: so is there a recommended way to replace this output.CurrentHighlight.Fprintf(tw, "%s\t", name)01:00
thumpersee comment 6 minutes ago01:00
wallyworldah :-)01:00
wallyworldoh alright then01:00
thumperI'm at that stage where I know what I need to do01:14
thumperbut it is more than I wanted to do...01:14
* thumper sighs01:14
thumperoh well01:14
* thumper dives in01:14
thumperminion, fetch me a coffee01:15
thumperoh... no minions around, will fetch own coffee01:15
thumpersuch are the problems of working from home01:15
redirguests here. back later.02:12
menn0axw: what type will used to represent a macaroon cookie jar in CLI code? []macaroon.Slice?02:21
menn0i'm just trying to make things as easy as I can for myself02:21
menn0by having types line up02:22
axwmenn0: yeah, that's what api.Info accepts02:22
axwthat gives us most flexibility02:22
menn0axw: I ask b/c the macaroon give by the API to accounts.yaml was giving the macaroon as a string02:22
menn0rather than a macaroon.Macaroon02:22
axwmenn0: that was just to avoid having a dependency02:23
axwusing []macaroon.Slice would be simplest I think02:23
menn0ok great. that makes my life easier02:24
wallyworldmwhudson: go 1.7 installed from the ppa doesn't seem to support running race tests, i have to resort to using 1.602:28
wallyworldruntime.raceinit: __tsan_init: not defined02:28
wallyworldetc02:28
wallyworldis there something i'm missing?02:28
mwhudsonwallyworld: install golang-1.7-race-detector-runtime from the ppa too?02:28
wallyworldah let me check02:28
mwhudsonshould be recommended though02:28
mwhudsondo you have recommends turned off?02:29
wallyworldi just installed golang-1.7 or whatever using apt-get02:29
wallyworldnot sure, i haven't changed it explicitly i don't think02:29
wallyworldmwhudson: so gophers-archive/now doesn't have it listed but gophers-archive/xenial does02:30
mwhudsonwallyworld: i don't know what either of those things mean :-)02:31
mwhudsonwallyworld: this is the PPA you should be using https://launchpad.net/~gophers/+archive/ubuntu/archive/+packages02:31
wallyworldme either, i just fired up synaptic and that's what it shows as package sources02:31
mwhudsonoh heh02:32
=== natefinch-afk is now known as natefinch
wallyworldbut yeah, i didn't have the race package installed02:32
wallyworldworks now, ty02:32
wallyworldand is much faster02:33
wallyworldthumper: can you see if you're ok with http://reviews.vapour.ws/r/5589/ now?02:53
* thumper looks02:53
wallyworldanastasiamac_: not sure how busy you are, but would love a review on http://reviews.vapour.ws/r/5611/ if you get a moment today02:54
* thumper sighs02:56
thumpersome of the points were completely misunderstood02:56
thumperwallyworld: let me finish what I'm doing and I'll go through it properly02:56
wallyworldrighto02:56
thumperSee Also:03:02
thumperor03:02
thumperSee also:03:02
thumpermenn0: ^^03:03
thumperThere are 9 "See Also:"03:03
thumperand 59 "See also:"03:03
natefinchLatter... it's not a title, IMO.03:03
thumperwas there a definitive answer somewhere?03:03
thumperwallyworld: ?^^03:03
wallyworldthumper: i think menn0 said "See Also"03:04
thumperhe has to me before, but I'm collecting input03:04
thumperI'll skip for now03:04
wallyworldi sort of prefer "See also" but that's just IMO03:04
thumperI was going to drive by fix them03:04
menn0thumper: If "See also" is the majority let's just use that03:04
thumperok03:04
* thumper fixes03:04
natefinch+1 for making the smaller fix that makes it consistent03:05
natefinchwallyworld: this auto upload-tools thing is garbage, btw03:07
wallyworldwhat do you really think?03:08
natefinchwallyworld: sorry... it's just been frustrating for me almost every other day03:08
wallyworldworks great for all the use cases i know of03:08
wallyworldespecially snaps03:08
wallyworldand devel03:08
natefinchit seems like, if the version on my branch is ever older than what's in streams, I get what's in streams03:09
wallyworldyes03:09
wallyworldthat's intended03:10
natefinchwhat if I need to work on old code?03:10
wallyworlduse --build-agent03:10
wallyworldit's been done so solve the 99% cases03:10
wallyworldso if you work on old code, you just use --build-agent instead of --upload-tools03:11
wallyworlddoes that not work for you?03:11
natefinchI didn't realize build-agent was the new upload tools.03:11
natefinchI thought there were some different semantics to it03:12
wallyworldthere is - it will always compile03:12
natefinchoh, I don't (really) care about that03:12
wallyworldwhereas upload-tools used to not compile if it found a binary03:12
wallyworldi'm sure i documented this either in email or the release notes03:12
natefinchI guess I don't understand why we have auto upload-tools if we have build-agent03:13
wallyworldfor snaps03:13
wallyworldand 99% of development cases03:14
natefinchthe problem during development is that depending on invisible data in the cloud (i.e. what is in streams), juju bootstrap will behave differently03:14
natefinchso, every time curtis pushes a new build, the code I built that used to auto-upload now doesn't, until I pull.03:14
wallyworldso use --build-agent as you used to use --upload-tools03:15
natefinch(assuming master has been updated with a new version number which is also not always instant)03:15
natefinchwell, yes... but then why have auto-upload?03:15
wallyworldfor the other 99%, it's so liberating not to have to type --upload-tools all the time03:15
wallyworldfor snaps03:15
natefinch... I don't understand what "for snaps" means03:15
wallyworldwhat don't you get? :-)03:15
wallyworldsnaps need to not require upload-tools03:16
natefinchI know (vaguely) what a snap is.  I don't understand what that has to do with whether or not juju auto uploads03:16
natefinchagain, what does a snap have to do with juju?  (other than installing juju)03:16
wallyworlda snap is a contained juju/jujud03:16
wallyworldjuju run from the snap will use the jujud in the snap03:17
wallyworldfor that to work, it needs aut discovery of the binary03:17
wallyworldthis is all needed to allow people to publish daily snaps etc to edge03:17
wallyworldplus for development, people get so sickof having to type upload-tools all the time03:18
natefinchheh03:18
wallyworldand we also want people to be able to install debs and foro stuff to just work03:18
wallyworldthis is all about 1. snaps, and 2. removing friction for bootstrap03:18
wallyworldand it holds 99% of the time03:19
natefinchso, wait... I still don't get what snaps have to do with this.  Why would the snap not just use what's in streams?  couldn't we just publish a nightly stream or something?03:19
wallyworldbut when running older code, you just use --build-agent03:19
wallyworldsnaps are self contained03:19
natefinchsure... on the client03:19
wallyworldand also when publishing to the edge channel03:20
wallyworldwe want to remove friction for people to say "try my stuff"03:20
wallyworldcreaing a snap is easy03:20
wallyworldpublishing jujud to some stream you don't control is cracl03:21
natefinchsure03:21
natefinchok, so this is for when a dev wants to give a test binary for someone to try out a fix or new feature.  Ok03:21
wallyworldyep, also daily snaps so people can get the latest stuff03:22
wallyworldfor example, menno did one recently03:22
wallyworldto test out a status feature03:22
menn0axw: this macaroons change is tedious. i'm almost done but need to do a preschool pickup soon.03:23
menn0will continue afterwards03:23
axwmenn0: no worries, thank you03:23
natefinchI still wish it always worked the same way unless you gave it a flag.... For example, we could build the PPA with a flag that makes the default not-upload-tools and for everything else, have it default to upload-tools. Then at least it would be consistent.  My main problem is that I don't *trust* it, because it has failed for me a few times, and it's really hard to pick out the right line of logging as it scrolls past.03:25
wallyworldwe are moving away from ppas03:26
wallyworldfailed is subjective - it's behaved exactly as designed03:26
wallyworldyou just didn;t know about --build-agent03:27
thumpermenn0: http://reviews.vapour.ws/r/5612/03:28
wallyworldalso bootstrap messages have been improved to show what version is being used03:28
natefinchthe design is bad, because it behaves differently than my intent.... some of the time.  And it behaves differently according to factors that are basically impossible for me to know ahead of time... and even while bootstrapping, it's difficult to see if it's uploading or not03:28
wallyworldnatefinch: there are flags to force intent, like agent-version03:28
wallyworldif you want to be explicit, you can03:28
wallyworldotherwise, it will find a streams version which matches the client03:29
wallyworldthat's very easy to understand the behaviour03:29
wallyworldand if you are developing and want to compile a binary which basically is not really what it says it is, then use --build-agent03:30
natefincha brake pedal that doesn't work when the moon is in conjuction with pisces is very easy to understand too... that doesn't make it a good design.  One gets used to it working, and then one day, without any visible changes, it acts differemtly03:30
wallyworldthe changes are documented, the change is semantic is deliberate. sometimes shit changes03:30
wallyworldthe change solves the 99% cases very well, and for the other 1%, use --build-agent03:31
natefinchI'm not saying that the code changes are the problem.... I'm saying that with the current code "juju bootstrap" has different results based on effectively the stage of the moon03:31
thumperwallyworld: just for you http://reviews.vapour.ws/r/5613/03:31
wallyworldlooking03:31
thumperwallyworld: actually http://reviews.vapour.ws/r/5612/ was for you too03:32
wallyworldthumper: did you reopne those 3 issues on that pr? i don't agree that pr should solve the check empty args case03:32
thumpernot sure why menno got it03:32
thumperwallyworld: if we are changing how the command works, then giving the user good feedback when they do something wrong is part of the work03:32
thumperconsider quality :P03:32
natefinchwallyworld: I'll just use build-agent all the time from now on.  That will fix my problems.03:32
wallyworldnatefinch: it behaves deterministically. it will search for a packaged version which matches the client version03:33
wallyworldthere's no moon involved03:33
thumperwallyworld: yes, I reopened those 3 issues03:33
wallyworldif the client reports it is a version other than what it is, then yes build-agent is needed03:33
natefinchthere is a moon. it's the contents of streams.  When I'm typing at my terminal, there's no way for me to know what's in streams.03:33
wallyworldhow so?03:34
wallyworldthere's the validate-tools plugin03:34
wallyworldthat will tell you03:34
menn0axw: change of plan... not doing pickup03:34
wallyworldthumper: awesome, that's for printf03:37
wallyworld*thanks03:37
menn0thumper: in your PR's QA steps, I presume you deleted the model before running destroy-controller ?03:43
menn0otherwise you would have needed --destroy-all-models right?03:43
menn0thumper: review done03:47
thumpermenn0: I did think that was weird03:49
thumperno, I didn't03:49
menn0hmmm03:49
thumperI think that may be a different bug03:49
menn0maybe the -y is (incorrectly) allowing the check to be bypassed?03:50
thumperno03:51
thumperdon't think so03:51
wallyworldthumper: reviewed, i have opinions on some of the text, see what you think03:53
thumperok03:53
* thumper away from internet for a bit04:02
thumperkiddo dropoff and wait04:02
menn0axw: here's the support for multiple macaroons with migrations: http://reviews.vapour.ws/r/5614/04:16
menn0adding QA steps04:17
axwmenn0: TYVM, reviewing now04:17
axwmenn0: LGTM. is there some doc somewhere which describes the commands to use for migrating? I will need to QA also when I make the changes to read from ~.go-cookies04:25
menn0axw: it's just one command: juju migrate04:26
menn0axw: but I'll email you some details04:26
axwmenn0: cheers04:26
wallyworldaxw: if you get a moment after the macaroon stuff, here's a small win http://reviews.vapour.ws/dashboard/04:37
axwwallyworld: I'll take a look now04:38
wallyworldand if you are feeling like poking your eye out and have time later also http://reviews.vapour.ws/r/5611/04:38
axwassume you mean the local: prefix one04:38
wallyworldty04:38
wallyworldyeah, or both, or whatever you have time for04:38
wallyworldmacaroons comes first04:38
wallyworldthe local: one is small04:38
wallyworldaxw: i am 100% (well 99.99%) sure our builders are all 1.6. i can confirm and land separately. also that localhosthomestack thing is deliberate to ensure the openstack cloud abuts the lxd one and is last in the file (the \n are stripped off)04:50
axwwallyworld: lemme just re-read that last bit then, I must have glanced over something04:51
axwwallyworld: ok I understand. can you please add a comment explaining that?04:52
wallyworldsure04:53
wallyworldthanks for review04:53
axwnp04:53
menn0axw: i've just sent the multiple macaroons PR for merging05:09
=== menn0 is now known as menn0-afk
axwmenn0: awesome, thanks!05:09
redirwallyworld: yt?06:27
wallyworlddepends who's asking :-)06:27
redirEd McMahon06:28
redirwallyworld: ^06:28
wallyworldoh, well in that case06:28
redirwallyworld: thumper raised an issue re: model-config returning a string of the value when --format=json is present06:29
redirwhich makes sense to me06:29
wallyworldyeah, i think it's a valid point06:30
redirbut should it return '{value}'06:30
wallyworldshouldn't it be {name=value}06:31
rediror '{key: {value: value, source: model}}'06:31
wallyworldyeah, something like that06:31
rediras if it is one element of the lot06:31
wallyworldwhat do we do for the yaml06:31
wallyworldi think with yaml it prints out gobs of extra metadata06:31
redirbut tabular should still just output the value06:31
redirwallyworld: so does json06:31
wallyworldyeah, users want to have the option to get *just* the value printed06:32
redirwallyworld: works for me06:32
wallyworldfor without a format arg that's what they should get06:32
wallyworldbut json and yaml should be formatted06:32
wallyworldi'd argue yaml and json should have equivalent info06:32
wallyworldall the extra metadata06:33
wallyworldso just match what the yaml does now06:33
redirwallyworld: but I think that affects the juju model-config --format=yaml | juju model-config --yaml -06:33
rediridea06:33
wallyworldredir: oh, wait, i was thinking of *application* config sorry06:33
redirheh06:33
wallyworldthat is the one with gobs of extra metadata06:34
wallyworldso we can still support the pipe, the get just needs to ignore the source attribute. bur for now, let's just not include it in the json or yaml06:34
redirwallyworld: model-config prints the key: \n value: value\nsource: thesource\n for yaml now in model-config06:34
wallyworldso tabular = value, from etc06:34
wallyworldok06:35
redirOK06:35
wallyworldso the get should just ignore that field right?06:35
redirso tabular single gets just he string value06:35
redireverything else structured06:35
wallyworldyeah, tabular doesn;t change06:35
redirwallyworld: makes sense to me06:35
wallyworldand my comment before about *just* the value - that's for application config06:36
redirjust wanted to verify before doing and footshooting06:36
wallyworldso i think the only change here is to the json output?06:36
wallyworldto fix that bit06:36
wallyworldyaml is ok as is right?06:36
wallyworldand tabular06:36
wallyworldis ok06:36
redirwallyworld: yes I think so.06:37
wallyworldsgtm06:37
redirI didn't realize we didn't do that already:/06:37
wallyworldthe json issue?06:37
redirwallyworld: yes06:37
wallyworldyeah, i had no idea either06:37
wallyworldwtf06:37
rediradded tests to06:37
* redir shrugs06:38
redirshould have an update and a PR for the model-defaults stuff soon06:38
wallyworldwith the other comment(s), use "configuration values" i think?06:38
redirthen tomorrow hopefully they'll land and I can get the --region bits in for defaults06:38
wallyworldok, awesome06:38
=== frankban|afk is now known as frankban
redirhttp://reviews.vapour.ws/r/5589/ is ready for another look.07:46
redirand also http://reviews.vapour.ws/r/5616/ is ready. This second one is stacked on the first, so it may be easier to review after it lands. It is nearly identical but to flatten model-defaults rather than model-config.08:11
redirg'nite08:11
jamfrobware: dimitern: ping08:23
jamwe're talking about the IPAM spec, and we wanted to get some info about the rationale for a couple of the decisions.08:24
frobwarejam: how/where do you want to do this?08:26
jamfrobware: https://hangouts.google.com/hangouts/_/canonical.com/tech-board08:26
fwereadesorry, hangouts flailing09:11
dimiternanastasiamac_: I've updated http://reviews.vapour.ws/r/5598/ with your suggestions and added a minute change to populate parent name for bridge ports, I'd appreciate a second look, if you can09:23
dimiternfrobware: ^^09:23
anastasiamac_dimitern: tyvm! I'll need to go afk - apparently kids need to go to bed :D - i'll look when i return later on \o/09:28
dimiternanastasiamac_: sure, thanks!09:28
anastasiamac_dimitern: actually, looks kind of awesome \o/ reviewed.. m going afk now09:32
dimiternanastasiamac_: \o/ :)09:32
voidspacedimitern: ping09:50
voidspacefrobware: ping10:00
frobwarevoidspace: pong, otp10:00
voidspacefrobware: have you deployed openstack (specifically I need nova compute) to KVM?10:02
frobwarevoidspace: not. well, not since I last deployed openstack on arm. but that was with devstack.sh10:02
voidspacefrobware: does devstack.sh setup the KVM config for you?10:03
frobwarevoidspace: nope10:03
frobwarevoidspace: but then again, what do you mean by kvm config?10:03
voidspacefrobware: setup the required KVM instances with the correct network config for openstack to work - similar to your scripts10:04
voidspacefrobware: I imagine that in order to deploy openstack there are fairly specific requirements on what machines are available10:04
voidspacefrobware: dimitern has probably done this more10:05
frobwarevoidspace: never tried it with/via juju10:05
voidspacefrobware: I have a bug that can be repro'd with a shutdown command to nova compute issued via a run-action10:05
dimiternvoidspace: sorry, was in a call until now, but I need to leave - bbiab10:08
macgreagoirvoidspace: I've done a bit of openstack on kvm, if i can help.10:32
voidspacemacgreagoir: great10:32
voidspacemacgreagoir: so how do I do it ;-)10:32
macgreagoir:-)10:33
voidspacemacgreagoir: can you tell me what KVM setup I need and then how to do the deploy10:33
macgreagoirThe challenge may be having enough VMs to host the services. Is it HA?10:33
voidspacemacgreagoir: I'd like the simplest possible setup that gets me nova compute10:34
voidspacemacgreagoir: I can create the VMs if I know what configuration I need10:34
macgreagoirI have some scripts to create a set of KVMs with two nics each, which would be OpenStack priv and pub nets.10:34
frobwarevoidspace: are you looking at https://bugs.launchpad.net/juju/+bug/155580810:34
mupBug #1555808: Cannot deploy a dense openstack bundle with native deploy <2.0> <2.0-count> <bundles> <cdo-qa> <ci> <deployer> <eda> <juju-release-support> <jujuqa> <maas-provider> <juju:Triaged by rharding> <https://launchpad.net/bugs/1555808>10:34
voidspacefrobware: no10:35
voidspacefrobware: https://bugs.launchpad.net/juju/+bug/153410310:35
mupBug #1534103: "unknown operation kind run-action" (1.26alpha3) <2.0-count> <actions> <sts> <juju:In Progress by mfoord> <juju-core:Won't Fix> <juju-core 1.25:Won't Fix> <https://launchpad.net/bugs/1534103>10:35
voidspacemacgreagoir: there's a guide here that suggests that four machines with containers should be enough10:35
voidspacemacgreagoir: https://www.hastexo.com/resources/hints-and-kinks/ubuntu-openstack-juju-4-nodes/10:35
voidspacemacgreagoir: but that assumes physical machines and doesn't detail the network config they need so I can't easily repro it with KVM10:36
macgreagoirvoidspace: Two should be enough. What storage is the bundle using, do you know?10:37
macgreagoirAs in ceph?10:37
voidspacemacgreagoir: I don't know what bundle *they're* using, I'd like to use whatever is the simplest approach10:38
macgreagoirIf you just want to test nova-compute, a simple storage should be fine, making the VMs easier.10:38
voidspacemacgreagoir: that sounds good10:38
macgreagoirvoidspace: This is a cleane-up copy of my scripting: https://github.com/macgreagoir/maas-juju-sandbox10:39
macgreagoirIt assumes on maas server and three nodes, but a forth should be OK.10:39
voidspacemacgreagoir: ok, great - that looks like it deploys MAAS to KVM (which I have but I don't mind starting from scratch)10:40
voidspacemacgreagoir: are you suggesting I repurpose that for openstack?10:40
macgreagoirIt sets up the two new virsh nets too.10:41
macgreagoirI would think the nodes will be OK for an openstack test.10:41
voidspacemacgreagoir: ah, cool10:41
voidspacemacgreagoir: and how to do the openstack deploy to it, using simple storage as you suggest10:42
voidspacemacgreagoir: will I need to choose a bundle and configure it? (I've not done that before so any help you can give will be appreciated)10:42
macgreagoirIn a Canonical reference deployments the openstack controller services would be in lxd containers. I haven't seen if that example does the same...10:42
voidspacemacgreagoir: ah, you mean follow the example for that part10:42
voidspacemacgreagoir: ok10:43
macgreagoirvoidspace: Let me see if there in a non-HA bundle. HA is what will kill your resources.10:43
macgreagoirI have an old OpenStack example deployment somewhere too, but it's not Juju.10:43
voidspacemacgreagoir: I'll try the example and hassle you when I have problems10:46
voidspacemacgreagoir: thanks :-)10:46
macgreagoirvoidspace: nw, I'm just finishing a thing here, but I'll try to send you something more concrete in a few.10:47
voidspacewho knows anything about run-action?10:53
voidspacefwereade: ping10:53
fwereadevoidspace, pong10:54
voidspacefwereade: hey, you've left comments in the run action code - so you've probably at least looked at it...10:55
voidspacefwereade: ok to ask a question (I'm back on the run action bug "unknown operation kind run-action" bug)10:55
fwereadevoidspace, in uniter? right, I probably still remember some of it ;p10:55
fwereadevoidspace, ofc10:55
voidspacefwereade: yeah, uniter resolver10:55
voidspacefwereade: so the specific error (unkown operation kind) is coming out of the resolver switch statement looking at "locaState.Kind"10:56
voidspacefwereade: if localState.Kind is RunAction then before it gets there it will have gone into the Actions resolver10:57
fwereadevoidspace, hmm -- so the actions resolver isn't handling it?10:57
voidspacefwereade: ah, and if we have an operation.RunAction with a hook of nil then we will return resolver.ErrNoOperation10:58
voidspacefwereade: so if the hook is nil but Kind is RunAction then we will drop into that switch statement which will barf10:58
voidspacefwereade: so what does a Kind of RunAction with a Hook of nil mean? is it an error that we should flag in some other way10:58
voidspace*however*, if that's happening I ought to see "run-action hook is nil" in the logs - which I don't10:59
fwereadevoidspace, surprised Hook is relevant -- isn't action-id the bit that we should be looking at?10:59
voidspaceif I can repro I can check10:59
voidspacefwereade: worker/uniter/actions/resolver.go11:00
voidspacefwereade: line 5711:00
fwereadevoidspace, ha11:01
voidspacefwereade: should there be a return there?11:01
fwereadevoidspace, I think we need to return some sort of operation that marks the current action failed in the db and updates the local state to make sense again11:03
voidspacefwereade: ok, any pointers on that?11:04
voidspacefwereade: like what "makes sense again" means :-)11:04
voidspacethe operation factory doesn't have a failure operation it seems11:05
fwereadevoidspace, if you look at operation/runaction.go11:06
voidspacethere is a FailAction on the Callbacks interface11:06
fwereadevoidspace, the Commit step seems to have the right way to change local state once an action has completed...11:07
fwereadevoidspace, and, indeed, you (probably) want an operation that just calls FailAction and then restores local state in the same way we do on successful commit11:07
* dimitern is back11:07
fwereadevoidspace, we've done the action, success or failure is immaterial to what we do next11:07
dimiternvoidspace: you shouldn't need any kvm config - nova takes care of creating these based on the configured flavors11:08
dimiternvoidspace: I've installed openstack-base bundle with a few mods to the 4 NUCs I have here, and managed to start a guest via nova, after configuring OS as described in the bundle11:09
dimiternmy 5/6 blog posts are all about that11:09
voidspacedimitern: cool, thanks11:10
fwereadevoidspace, making sense?11:10
dimiternfrobware: ping11:10
frobwaredimitern: pong11:10
voidspacefwereade: so an operation that marks the action as failed and modifies localState11:11
dimiternfrobware: any thoughts on my last PR? I'm eager to land it, so we can then land yours (re bridge everything one)11:11
fwereadevoidspace, yeah, I think that's the right thing11:11
dimiternfrobware: http://reviews.vapour.ws/r/5598/11:11
frobwaredimitern: ah, let me take a look. a thoudand different things.11:11
dimiternfrobware: I've come up with a really simple merge step for the follow-up11:12
dimiternfrobware: no more sorting, guessing, etc.11:12
voidspacefwereade: ok on the high level, I might come and pester you for details11:12
dimiternand once that's done, we're .. well perhaps 2 PRs away from fixing bug 156679111:12
mupBug #1566791: VLANs on an unconfigured parent device error with "cannot set link-layer device addresses of machine "0": invalid address <2.0> <4010> <cpec> <network> <juju:In Progress by dimitern> <https://launchpad.net/bugs/1566791>11:12
fwereadevoidspace, any time :)11:12
voidspacefwereade: I'm going to try and repro first to confirm this is the problem11:12
fwereadesgtm11:12
voidspacefwereade: or at least the code path, although I think it must be11:12
voidspacefwereade: thanks11:13
fwereadepleasure :)11:13
rick_h_morning party people11:21
frankbanredir: hi, could you pleae take a look at https://github.com/juju/juju/pull/6181 ? thanks11:21
rick_h_frankban: redir is a ways from being up. fwereade are you ablento peek at ^ please?11:23
fwereaderick_h_, ack11:23
frankbanfwereade: ty11:23
frankbanrick_h_: morning11:23
dimiternwelcome back rick_h_ ;)11:32
=== akhavr1 is now known as akhavr
rick_h_dimitern: ty :)11:33
frobwaredimitern: I reviewed http://reviews.vapour.ws/r/5598/12:18
dimiternfrobware: thanks! wow you've been thorough! :)12:19
frobwaredimitern: we need to get this right - it's complicated and partitioning the steps we require would be really helpful. (I know that some of this may come in a follow-up PR.)12:21
dimiternfrobware: yeah, the follow-up will clean a lot of the mess in networkingcommon12:23
=== freyes__ is now known as freyes
rock_Hi. I have a question. We have developed a JUJU Charm for configuring cinder to use one of our Storage array as the backend.   So How to redeploy the Charm to add more storage arrays to configure cinder without destroying/removing the current deployed charm. [For example, We don't want to remove the current configured storage arrays from the Cinder configuration.]13:23
rock_Please anyone provide me some solution for this.13:24
voidspacedimitern: ah, you deployed to NUCs - I want to deploy *to* KVM13:35
voidspacedimitern: so yes I need some KVM config...13:35
mgzrock_: you probably want to ask in the #juju channel, but generally you just use `juju set-config` and `juju upgrade-charm` to change an deployed charm's behaviour13:37
dimiternvoidspace: I've managed to do the same on 4 KVMs and use force nova to use nested kvms - dead slow though13:37
voidspacedimitern: I only want it running so I can shut it down again, don't need it to create any nodes for me13:38
voidspacedimitern: I don't have a hardware setup that can do this13:38
voidspacedimitern: shutting it down via an action should be enough to repro the bug13:38
rock_mgz: OK. Thank you.13:45
frobwarevoidspace: I'm confused by your KVM "config" - do you not just need machines available in your MAAS setup or is this about making those KVM nodes accessible/available to openstack?13:47
alexisbbabbageclunk, I am on the HO when you are ready13:49
babbageclunkalexisb: Oh, sorry! I thought your email also applied to me - omw13:50
alexisb:)13:50
voidspacefrobware: well, doesn't openstack have some requirements about what networks are available?13:50
voidspacefrobware: or if I just create six nodes with one network will that work13:50
voidspacefrobware: I suspect I need at least two networks for each node, however I don't know which is why I'm asking13:51
frobwarevoidspace: perhaps this is why my OpenStack deploy failed a little earlier today13:51
voidspacefrobware: macgreagoir seems to think that two networks should be enough - so I can use your scripts to create the nodes13:52
frobwaredimitern: do you have a working (dense) openstack bundle?13:52
voidspacefrobware: and there's a guide here (from 2015) suggesting four nodes13:52
voidspacefrobware: https://www.hastexo.com/resources/hints-and-kinks/ubuntu-openstack-juju-4-nodes/13:53
macgreagoirvoidspace: Sorry I haven't got back to you yet. Also note which libvirt type nova-compute is configured to use. You'll want to not use kvm (on kvm). nova-lxd maybe?13:56
dimiternfrobware: how dense do you need? :)14:01
frobwaredimitern: I have one 24GB node.14:01
frobwareVM14:01
wallyworldfrankban: hey, looks like the latest rev still uses a separate APICallCloser? did you forget to push an update?14:08
frankbanwallyworld: no, it seems to me that reviewboard went crazy, see https://github.com/juju/juju/pull/6181/files14:09
frankbanwallyworld: I also applied some changes to the test file suugested by fwereade14:09
wallyworldfrankban: awesome, ty. sorry for noise. not sure wgat crack rb is on14:09
dimiternfrobware: 24G disk or ram?14:13
frobwaredimitern: RAM. disk is a solved problem. :)14:13
dimiternfrobware: :) well - i haven't tried all-in-one deployment14:14
dimiternapart from I guess deploying maas on that node adding kvms and then deploying to them :D14:14
natefinchrick_h_: btw, I'm not convinced that marking https://bugs.launchpad.net/juju-core/1.25/+bug/1610880 as invalid is correct. the explanation about CPC doesn't make sense with the symptoms stated.  We're failing to validate the certificate that Juju created.... this is a couple steps away from anything to do with CPC14:24
mupBug #1610880: Downloading container templates fails in manual environment <juju-core 1.25:Invalid> <https://launchpad.net/bugs/1610880>14:24
rick_h_natefinch: ok, looks like might be a few things goin on there.14:26
rick_h_natefinch: let's let dave/dan run with it for now and if it comes back up we'll know where to start14:26
natefinchrick_h_: ok.  FWIW, I had a hellish time trying to figure out what was going on.  Lots of moving parts and unclear what the correct behavior was of several parts of the code... almost entirely due to the fact that manual is a special flower.14:27
natefinchrick_h_: for a week it was 100% reproducible, and then all of a sudden, 100% not reproducible.  I stopped working on it because I wasn't getting anywhere, and didn't want to sink any more time into it without talking to you.14:28
babbageclunkwallyworld: it turns out thumper was referring to owner data (although it would have been handy if he'd replied to my question to clarify!). :(14:30
rick_h_natefinch: understand, we've got other stuff to run onto so we'll just keep an eye out for a repro14:31
mupBug #1474607 opened: worker/uniter/relation: HookQueueSuite.TestAliveHookQueue failure <ci> <go1.5> <go1.6> <regression> <windows> <juju:Fix Released by axwalk> <juju-core:Triaged> <juju-core 1.25:Triaged> <https://launchpad.net/bugs/1474607>14:57
=== petevg_afk is now known as petevg
=== frankban is now known as frankban|afk
redirmorning16:36
rediralexisb: yt?17:18
alexisbredir, yep17:18
alexisbwuz up?17:18
=== alexisb is now known as alexisb-afk
* rick_h_ goes for late lunchables17:47
=== alexisb-afk is now known as alexisb
babbageclunkAnyone seen thumper?20:36
alexisbbabbageclunk, he has not arrived yet today20:36
alexisbshould be on shortly though20:36
babbageclunkok, thanks alexisb20:36
* perrito666 does some surgery in jujupy20:38
alexisbbabbageclunk, as promised :)20:38
alexisbthere is thumper20:38
alexisbthumper who forgot to send mail to babbageclunk ;)20:39
alexisbmorning thumper20:39
thumperoops20:39
thumpermy bad20:39
alexisbyep20:39
natefinchgahh.. I cannot for the life of me reproduce https://bugs.launchpad.net/bugs/1614635 even in the same environment where ahasenack says it happens 50% of the time.20:51
mupBug #1614635: Deploy sometimes fails behind a proxy <deploy> <landscape> <proxy> <juju:In Progress by natefinch> <https://launchpad.net/bugs/1614635>20:51
natefinchwallyworld: how do I make bootstrap just use what's in streams?  I removed jujud locally and now I just get  ERROR cmd supercommand.go:458 failed to bootstrap model: cannot package bootstrap agent binary: no prepackaged agent available and no jujud binary can be found20:55
* thumper claps21:21
wallyworldnatefinch: that means there is no matching binary in strams for your client21:26
wallyworldyou will need to force it with agent-version21:26
wallyworldbut you then wear any compatibility issues21:26
wallyworldbetween mismatched agent and client21:27
wallyworldor you use --build-agent to build a local compatibile binary21:27
* thumper needs an alias of 'got est' to be 'go test'21:28
thumperwallyworld: are you doing this one? https://bugs.launchpad.net/juju-core/+bug/145857621:47
thumperwallyworld: as I'm going to be doing some more status stuff soon21:47
wallyworldthumper: my plate is full this week, i wasn't going to21:48
wallyworldcan look next week21:48
thumperI'll take it21:48
thumperI'll be in there21:48
thumpermessing around21:48
wallyworldok21:48
voidspacethumper: ping21:54
thumpervoidspace: hey, in release call21:54
thumperneed a review?21:54
voidspacethumper: yeah, just checking you were aware21:54
thumperyep, aware, just busy21:54
voidspacethumper: np21:54
redirwallyworld: got a minute to chat about the cloud/region stuff?21:57
wallyworldredir: in meetings sadly, i will ping when free21:57
redirnp21:57
rediranyone know where I can find the cloud type the current modelcmd is operating on?22:09
wallyworldredir: i have a couple of minutes between meetings if you want to chat22:12
redirsure thing22:12
wallyworld1:122:12
redirbrt wallyworld22:12
alexisbwallyworld, I have a few minutes if you are avaailable22:23
alexisbif not I will catch you tomorrow22:23
wallyworldalexisb: ok, brt22:23
thumperreview up: http://reviews.vapour.ws/r/5622/22:35
=== menn0-afk is now known as menn0
axwwallyworld: you'll appreciate this: https://twitter.com/MarkKriegsman/status/73966427908381491223:26
wallyworldaxw: indeed :-)23:26
perrito666oh, we need to spray stencil juju changelog on a cow23:27
anastasiamac_thumper: just to confirm: u r taking over this one, so i can re-assign to u? https://bugs.launchpad.net/juju/+bug/145562723:42
mupBug #1455627: TestAgentConnectionDelaysShutdownWithPing fails <ci> <intermittent-failure> <lxc> <test-failure> <unit-tests> <windows> <juju:Triaged by dimitern> <juju-core:Won't Fix> <juju-core 1.25:Won't Fix> <https://launchpad.net/bugs/1455627>23:42
redirwallyworld: landing PR, let me know if htere's anything I can do to start on changing modeldefaults to be a controller command23:42
thumperlooking at it23:42
wallyworldredir: great. to make the change, the api methods need to move to the ModelManager facade, and the CLI command itself needs to embed BaseController not BaseModel23:43
wallyworldredir: so essentially cut and paste and bit bit of jiggery23:43
perrito666the only nice thing about working in b&r is that I never ever get a conflict23:44
redirwhelp I'll see what I can do to start and leave it with you at EoD23:44
wallyworldsure23:45
thumperreally would like this reviewed: http://reviews.vapour.ws/r/5622/23:46
redirthumper: looking23:51
redirthumper: LGTM, but you'll want another +1.23:54
thumperwallyworld: care for another +1?23:58
wallyworldoh if i must23:59
thumperwallyworld: or alternatively, we graduate redir so we don't need to bother23:59
* thumper has lunch appt23:59
thumperso off for a bit23:59
* thumper just proposes a bit of work23:59

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