/srv/irclogs.ubuntu.com/2017/03/01/#juju-dev.txt

menn0axw, thumper-dogwalk, wallyworld_, babbageclunk, anastasiamac: review please: https://github.com/juju/juju/pull/705000:03
menn0axw, thumper-dogwalk, wallyworld_, babbageclunk, anastasiamac: this one is hairy enough that it probably needs 2 reviewers00:03
wallyworld_ok, will look soon, just finishing something00:04
anastasiamacmenn0: m not able to review today. i trust u'd get reviews from others \o/00:13
menn0anastasiamac: thanks anyway :)00:13
anastasiamacmenn0: no worries :000:16
=== thumper-dogwalk is now known as thumper
thumperkeep forgetting to reset that00:29
thumpermenn0: I'm looking now00:29
menn0thumper: thank you00:29
thumpermenn0: lgtm - you can await another if you choose00:33
menn0thumper: thanks. I think wallyworld_ offered to have a look too00:34
wallyworld_looking now00:34
wallyworld_menn0: at first glance, it seems not all occurrences of st.getCollection() have been ported across?00:37
menn0wallyworld_: that's right... I wasn't aiming to change everything to go via the Database00:40
menn0wallyworld_: just to get watchers and settings working with modelBackend instead of State00:41
wallyworld_ok00:41
menn0wallyworld_: I'm happy to do another PR which goes further00:41
wallyworld_no worries, just checking the scope00:41
menn0wallyworld_: I started doing that but it got huge and I didn't want to make this PR too hard to follow00:41
* menn0 has to go00:42
menn0biab00:42
wallyworld_menn0: lgtm too. been wanting progess is ths area for a while, so is great00:47
anastasiamacbabbageclunk: in menn0's absence, any advise on https://bugs.launchpad.net/juju/+bug/1668646?01:17
mupBug #1668646: Model migration fails <juju:New> <https://launchpad.net/bugs/1668646>01:17
babbageclunkanastasiamac: looking01:18
babbageclunkanastasiamac: ok, I know what that's about. apparently we're not using the index on status history when exporting.01:21
anastasiamacbabbageclunk: ah!01:21
babbageclunkanastasiamac: The index is {"model-uuid", "globalkey", "updated"}01:24
babbageclunkanastasiamac: just looking in the code to see how we're getting the history in the model01:24
babbageclunkanastasiamac: do you know whether there's a way to purge old status history?01:25
anastasiamacbabbageclunk: i thought that we r. wallyworld_ might even know how often :)01:26
wallyworld_the history is capped01:27
wallyworld_there's a worker to purge01:27
babbageclunkanastasiamac: we're sorting by -updated, -_id in the model code01:31
thumperugh01:42
* thumper is having a WTF moment01:42
thumperugh01:52
thumpergot it now01:52
thumperFFS01:52
anastasiamacthumper: glad we could help \o/01:53
* redir eojs02:06
babbageclunkhyperlol02:07
anastasiamacredir: o/02:13
redir\o02:21
babbageclunkredir: o/02:23
redirbabbageclunk: o/02:23
redirmy nick will likely still be hanging out here....02:23
redirso reach out if you have questions02:23
thumpero/ redir02:25
thumperredir: so long and thanks for all the fish02:25
menn0wallyworld_: do you think I should take this modelBackend change further and get rid of getCollection etc now?02:26
wallyworld_would be nice if you had time02:26
wallyworld_but other stuff more important02:26
wallyworld_imo02:26
menn0wallyworld_: yeah fair enough02:26
wallyworld_i really want to get rid of ForModel()02:26
menn0wallyworld_: I think ForModel could be made a lot cheaper with a bit of restructuring02:30
wallyworld_yes it could02:30
wallyworld_we don't want the workers02:30
wallyworld_just access to state02:30
menn0wallyworld_: for example there's no need to do all the DB setup work again and the workers need to move out02:30
wallyworld_yep02:30
menn0for another time though02:30
wallyworld_sadly yes02:30
sinzuiwallyworld_: axw : QA needs to test the controller running with a valid cert. I have DNS pointing to a machine, but I need a --to or --constraint to incantation to bootstrap on the machine jimm-a.vapour.ws. The aws provider does not like --to ssh:ubuntu@jimm-a.vapour.ws02:35
wallyworld_no, only the manual provider supports that02:36
axwsinzui: you can do "juju bootstrap manual/ubuntu@jimm-a.vapour.ws"02:36
wallyworld_that's the syntax i was looking for02:37
sinzuiaxw: Doesn't that undermine subsequent deployments in aws?02:41
axwsinzui: I don't understand your question02:41
sinzuiaxw once the controller is up, we expect to deploy applications into many models. The machine is in aws so I expcect to use the aws provider02:42
axwsinzui: ok. you cannot bootstrap aws to an existing instance02:43
sinzuiaxw wallyworld_ I want to bootstrap with --config autocert-dns-name=jimm-a.vapour.ws which should trigger juju to install a cert *if* the hosts ip matches DNS. So I think I need the machine up *before* I bootstrap02:44
* wallyworld_ hasn't used the autocert functionality before, so not sure tbh02:45
axwsinzui: I don't think you do though? you should be able to bootstrap with autocert-dns-name, then set up your DNS, then use the DNS name from your client02:45
axwsinzui: the autocert stuff only kicks in for clients that attempt to connect via the DNS name02:45
* thumper sighs02:46
thumperwow this is tedious work02:46
* thumper is adding state.Export to 1.25 branch02:46
sinzuiaxw :( That is awkward. Bootstrap, the  fallback to another tool to associate an elatic IP. That is better I suppose than trying to register DNS for a random IP several times an hour02:46
sinzuis/the fallback/then fallback02:47
axwsinzui: ideally we'd have bootstrap just register with route53 I think, but we don't have that atm02:47
axwor use an elastic IP I guess02:48
sinzuiaxw, oh, maybe I missed something you wrote? how do I tell the client to use the dns name if I didn't boostrap with the name?02:48
axwbut yeah, that's the current state of affairs02:48
axwsinzui: you have to modify your controllers.yaml, replace the IPs with the DNS name02:49
sinzuiaxw, associating an elastic IP is jsut a nusancec and just a single line in a script before starting the hard work of the test02:49
axwsinzui: or use "juju register domain.name"02:49
sinzuiaxw, okay, thank you!02:49
axwsinzui: np02:49
rick_hsinzui: axw I was just talking to urulama about that today02:53
rick_hWe've got it on the list of topics for next week02:53
rick_hBecause it almost does the right thing but needs the s/IP/DNS name tweaks02:53
axwrick_h: I'd like to hear the outcome. I won't be at the sprint02:54
rick_haxw: will do.02:54
blahdeblahthumper: ping; just trying to get you up-to-date info for my 2.1 controllers - is there anything that needs to change in terms of agent streams & stuff in upgrading from 2.1-rc2 to 2.1 stable?02:54
thumperblahdeblah: um... not sure to be honest02:55
thumpersinzui: ^^02:55
thumperblahdeblah: 2.1-rc2 info is fine02:55
thumperblahdeblah: what I'm looking at hasn't changed in there02:55
menn0thumper, wallyworld_: i'm not going to be able to make tech board today due to a thing at my son's preschool02:56
menn0it's one of those days02:56
blahdeblahthumper: It's not fine with me :-)02:56
thumperblahdeblah: ah02:56
thumper:)02:56
wallyworld_pk02:56
thumpermenn0: that's fine, I had completely forgotten about it02:56
blahdeblahthumper: I'll just try a 2.1 upgrade and see how it goes02:57
thumperblahdeblah: can't hurt, right?02:57
blahdeblahHow do I show what the current version of tools is in my running controller/models?02:58
blahdeblahsorry - source, not version02:59
blahdeblahVersion is easily seen in the status output; I want to know where they came from02:59
axwwallyworld_: it's a big-un, but PTAL when you can: https://github.com/juju/juju/pull/705203:03
wallyworld_sure, will do. just finishing something, will look soon03:03
axwmenn0: ^^ if you are doing OCR03:03
menn0axw: thanks for the reminder :) looking03:04
axwblahdeblah: source? as in, whether it came from streams.c.c or uploaded or whatever?03:04
sinzuiblahdeblah: upgrades from 2.1-rc2 is fine, tested, is is just a version string change03:06
blahdeblahaxw: yes - as in, did I mangle some config to pull devel tools at some point in the past, and do I need to change them back to stable now?03:06
thumperblahdeblah: juju status will show what is currently in use03:08
thumperblahdeblah: if you add --format yaml, there are more details03:08
thumperby default status now only shows the version for the model, rather than every agent03:08
blahdeblahthumper: no indication in there about which stream the agents came from03:09
thumperblahdeblah: ah... model-config?03:09
sinzuiblahdeblah: ther rc1 was only in devel streams. but regardless, if you didn't force agent-stream=devel, juju will select released03:10
axwblahdeblah: I think the only place we store that info is on disk. there's a file caled downloaded-tools.txt03:10
axwI think we also have it in the DB actually, but don't think we expose it to the CLI anywhere03:11
sinzuiblahdeblah: "juju upgrade-juju --agent-version 2.1.0 --dry-run" will tell you if the upgrade can happen03:11
axwblahdeblah: it'll only tell you the URL we grabbed the agent from tho, not the stream. the stream name is just in model config as per ^^03:12
blahdeblahOK, looks like I never changed from released stream, so I think we're all good.03:16
blahdeblahThanks everyone03:16
* thumper headdesks03:25
menn0axw: done. looks good03:28
jammenn0: axw: thumper: tech board?03:28
axwmenn0: thanks!03:28
axwjam: still 1 minute! ;)  omw03:29
blahdeblahGah; "juju sync-tools" == "juju destroy-my-uplink"03:31
blahdeblahIs there a way to get this thing to sync from the streams rather than from my client?03:31
sinzuiblahdeblah: sync-tools does that by default it only uses disk if you pass extra args03:39
sinzuiblahdeblah: you want to sync 2.1 from released into your controller?03:40
blahdeblahsinzui: yes - direct from streams rather than via my client, which is halfway around the world from the controller03:41
sinzuiblahdeblah: yeah, that sucks, though there are only 6 agents instread of 27 now03:41
sinzuiblahdeblah: juju sync-tools --version 2.1 --dry-run03:41
blahdeblahsinzui: Are you saying that the above will cause it to sync directly from streams?03:42
sinzuiblahdeblah: yes03:42
blahdeblahIs it supposed to tell me anything?03:43
sinzuiblahdeblah: It doesn't? what have a dry run if if it sin't verbose03:43
blahdeblahUnless I give --debug, it says nothing03:43
blahdeblahalso, should it be 2.1.0 rather than 2.1?03:44
sinzuiblahdeblah: it only accepts major.minor, the looks for the newest version in streams.03:44
blahdeblahaccording to --debug, there are still 27 agents to sync:03:44
blahdeblah13:43:22 INFO  juju.environs.sync sync.go:136 found 176 tools in target; 27 tools to be copied03:44
blahdeblahThis is not downloading directly from streams to the controller; it's definitely coming via my connection.03:45
sinzuiblahdeblah:oh, juju if a fuckwit. there are 27 names, but exactly 6 agents. 4 for ubuntu series by arch, 1 for centos, and 1 for all 10 windows series03:46
sinzui:/03:46
sinzuiblahdeblah: do you need to sync? Juju usually gets agents from streams.canonical.com as needed. 99% of the time that is just the ubuntu amd64 agent03:47
sinzuiblahdeblah: what I am asking is, can the controller see streams.canonical.com? if so, just run upgrade-juju --version 2.1.003:48
blahdeblahsinzui: I have no idea whether I need to sync.  What would determine that?  I'm following our existing upgrade procedure, possibly naively: https://wiki.canonical.com/InformationInfrastructure/IS/JujuUpgrades03:48
blahdeblahThe controller should be able to see streams.c.c03:49
sinzuiblahdeblah: I see. there is a history of prodstack and friends from stay away from live streams03:49
blahdeblahI wouldn't think that's a hard requirement any more03:49
sinzuiblahdeblah: probably not. the sync-tools command is actually *less* precise than  juju-upgrade --agent-version 2.1.003:50
blahdeblahThanks sinzui - juju upgrade-juju --agent-version="2.1.0" --debug worked a lot faster for me03:51
sinzuiblahdeblah: yes, it is much faster in 2.x and it will abort if 2.1.0 is not available. Juju will not select an alter alternat agent behind you back.03:52
blahdeblahcool - thanks very much03:54
jamaxw: did you want to chat? I don't think I have much more than a quick recap of "working on 2.1.1 bugs"04:53
axwjam: happy to skip. my update is same as yesterday04:53
axwwallyworld_: AFAICR, filesystem and volume IDs are not exposed to charms, only to users via "juju storage". so I'm thinking we could probably change the ID format to be unambiguous06:29
wallyworld_yeah, that would be sweet I think, certainly easier for users06:29
axwwallyworld_: ah, except old agents wouldn't be able to understand a new format06:30
axwhm06:30
wallyworld_doh, yeah06:30
axwwallyworld_: so I've had another thought, still a bit loose: I don't think it's helpful to users to distinguish between "storage instance" and "volume/filesystem". to them, they're one and the same (I think). so we could perhaps have the storage instance remain in the model, and have that be the thing you attach/detach07:00
wallyworld_axw: yeah, the distinction between volume/filesystem and storage instance has (to end users) been murky and I think an exposing of the internal model which we could/should abstract over07:01
axwwallyworld_: I'll play with that a bit, and leave the remove-storage command alone for now07:02
wallyworld_sgtm07:02
axwwallyworld_: I can't see us having anything interesting to demo next week07:02
axwfor storage I mean07:02
wallyworld_such is life. i told folks we would be pushing it07:03
=== frankban|afk is now known as frankban
jamanyone for reviewing my update to perrito666's patch: https://github.com/juju/juju/pull/7054 ?10:02
=== frankban is now known as frankban|afk
anastasiamacjam: lgtm'ed10:24
jamanastasiamac: we have TestFindAvailableSubnetWithExisting10xNetworks10:24
jamis that not the collision test you were looking for?10:24
jam(that's the test I updated and confirmed it failed from before, suceeeds with my cahnge)10:25
anastasiamacjam: u answered my one and wallyworld_ the other questions :D so +1 as per review10:27
jamwallyworld_: did you have review feedback as well? or LGTM10:28
wallyworld_jam: still looking, was thinking we could use a map[net.IP]bool instead of separate set and slice10:28
wallyworld_in getKnowmIps()10:29
wallyworld_but meh, whatever works10:29
jamwallyworld_: so we can, but we still iterate over the slice in the end. I'm fine tweaking it, but in reality we'll have at most like 1010:29
wallyworld_yeah, hence the meh. but the logic is a bit simpler and exlicit10:30
wallyworld_let me just finish reading the rest10:30
jamI like elicit logic10:32
wallyworld_lol10:33
wallyworld_jam: seems ok to  me, testing steps seem to verify it works. anastasiamac asked for an additional test so whatver make you guys happy, i'm happy10:33
wallyworld_i like that we defer to lxd in > 2.310:34
jamwell, aside from bug #1668547 where we defer to LXD but it doesn't actually work :)10:37
mupBug #1668547: juju doesn't configure lxdbr0 properly with new LXD (>2.3) <bridge> <lxd> <network> <juju:Triaged by jameinel> <https://launchpad.net/bugs/1668547>10:37
jamI think I made the bot unhappy, has anyone else been able to land branches?10:39
jamBoth this one and https://github.com/juju/juju/pull/7044 have a "$$merge$$" but the bot hasn't responded for 30 minutes10:40
anastasiamacjam: axw landed some today but that was almost 5hr ago10:41
jamand there it just woke up10:41
jam'a minute ago' on both of them10:41
anastasiamacjam: \o/10:41
jamah, sorry, it still hasn't noticed 2.1-into-develop. I think it is because I stopped the request last time10:41
jambecause it had a bug10:41
jamso probably I need sinzui's help to unblock that branch again.10:41
jam(I had 2 tabs open on the same pr)10:42
anastasiamacjam:  as far as I know for bot to pick it up again, pr has to have a 'merge failed' msg10:42
anastasiamacjam: something like "Build failed: Generating tarball failed"10:43
anastasiamacthen re-enter merge command and it should get picked up again10:43
perrito666morning all10:44
anastasiamacperrito666: \o/10:44
jamhey perrito666. I wasn't sure if you were back in today or tomorrow10:44
jamgood to see you10:45
perrito666jam: given that we live in different days I believe both are true :p10:45
perrito666jam: mm no, wit its tue for you10:45
jamits late Wed for me10:45
perrito666yes, wed sorry, its early wed for me10:45
jamsame day as you, just a bit later10:45
perrito666jam: since yesterday we are the only two living in the past10:46
jamperrito666: you live further in the past than I. but there is Eric as well10:46
perrito666jam: does this mean you obsoleted/merged my pr? https://github.com/juju/juju/pull/705410:46
perrito666jam: ah true, I forgot about eric, he lives in the past too10:47
jamperrito666: merged10:47
perrito666jam: tx, its amazig to have someone take care of the boring parts of my PRs10:47
perrito666:p10:47
jamheh. exteralreality is his IRC nick. I don't think I've seen him on IRC yet. I guess he's starting late for Tim?10:48
perrito666I have seen him on irc and also "in person" a.k.a in a hangout10:48
jamin theory, we get to see 'in the flesh' next week10:49
* perrito666 tries to figure out what time does his plane leaves10:50
perrito666Sun 1:50 which translates to Sat night10:50
menn0jam: did you want to talk at all?11:20
jammenn0: sure11:20
menn0jam: now is literally the first moment I've had since we last talked11:20
jamhttps://hangouts.google.com/hangouts/_/canonical.com/john-menno?authuser=111:20
=== frankban|afk is now known as frankban
kjackalhi juju-devs, there is a problem with the juju bootstrap dialog and localhost:  http://pastebin.ubuntu.com/24090147/14:08
kjackalIs this a known issue?14:08
zeestratkjackal: I ran into the same issue. Not sure if there's a bug in launchpad. If you do not use the dialog, you can just say juju bootstrap lxd <name-of-controller>15:18
rick_hkjackal: not seen a bug on that but :/ at it oops15:25
kjackalzeestrat: rick_h: opened this ticket: https://bugs.launchpad.net/juju/+bug/166900315:32
mupBug #1669003: "juju bootstrap" dialog failing for localhost <juju:New> <https://launchpad.net/bugs/1669003>15:32
rick_hkjackal: ty much15:32
perrito666jam: any clue on where the interfaces checking/renaming happens in code? this should be cloudinit right?16:05
perrito666ayway, re-locating again16:05
perrito666nevermind16:06
=== frankban is now known as frankban|afk
=== beisner- is now known as beisner
* thumper running dog down for her haircut21:09
perrito666thumper: just hack a roomba with some scisors21:10
veebersthumper: short back and sides, or a perm this time?21:11
thumperher ears often look like she has had a perm21:36
thumperbut something like a number 4 over most of the body :)21:36
babbageclunkI really want an introspection worker that dumps out a dot representation of the dependency dag. <waggles eyebrows at thumper>22:04
thumperbabbageclunk: sounds interesting22:29
babbageclunkthumper: currently trying to do the same with the "dependency not available" lines from the log22:30
thumperhmm... I now wish we were using Go 1.822:32
thumperit would make some of what I'm doing easier...22:32
babbageclunkthumper: what are you doing?22:37
thumperassigning structs for different packages22:38
thumperwhere refactoring has happened22:38
thumperand things moved22:38
thumperadding state.Export to the 1.25 codebase22:38
babbageclunkthumper: I mean, what 1.8 feature do you need? (Just curious.)22:42
babbageclunkthumper: Oh, the tag differences?22:43
* wallyworld uses 1.8, it's glorious23:05
wallyworldso fast23:05

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