/srv/irclogs.ubuntu.com/2011/12/13/#juju.txt

rogmornin'08:55
koolhead11hi all09:09
mpl'lo rog, koolhead1109:12
koolhead11how are you mpl09:13
mplfine enough, thank you.09:17
sanderjDo anyone know if the juju openstack version have a webinterface for managing vm's? something like horizon?09:27
koolhead11sanderj: no it does not09:28
sanderj:(09:29
koolhead11sanderj: horizon is too new and because of rapid development packaging it becomes difficult. am sure once Essex comes you will have it all :D09:32
uksysadminyou promise koolhead11 ? ;-)09:33
TeTeTI thought dashboard is the openstack web management console?09:34
sanderjkoolhead11, will it be horizon which will be the userinterface?09:42
uksysadminsanderj, Horizon is the Web UI of choice for managing a private OpenStack cloud environment09:51
uksysadminthere are alternatives though09:52
uksysadminthat one is one of the projects under the OpenStack banner though09:52
koolhead11uksysadmin: +1 :D09:53
uksysadminI use Hybridfox under Firefox - nice way of managing multiple clouds (although there is no direct connection between your private and public cloud per se)09:54
uksysadminIt isn't closely knitted to OpenStack though like Horizon - but functional enough if you manage a small private OpenStack cloud and a small amount of public instances09:55
* koolhead11 smiles09:55
sanderjI've tried to set up horizon, without luck.09:56
uksysadminit is a pain in the ass - in fact I've just posed a q in #openstack on the best way of installing it09:56
sanderjUnable to log in, just get directed to some nova url09:56
uksysadmincurrently it seems the best way is manually through bzr09:56
koolhead11uksysadmin: horizon is back on bazar?09:57
uksysadminsanderj, iirc there is some issue with authentication - something to do with deprecated auth09:57
uksysadminI thought it always was, koolhead11 ?09:57
koolhead11uksysadmin: no they moved everything to github09:58
uksysadminah - its in git - not bzr09:58
koolhead11uksysadmin: you have to select correct branch09:58
koolhead11:P09:58
uksysadminthere's a fine art in selecting the correct branch09:58
uksysadminthe point is that it shouldn't be hard09:58
koolhead11hmm, i am not touching horizaon now09:59
koolhead11waiting for essex09:59
koolhead11:P09:59
uksysadminyeah I gave up too10:00
uksysadminits good for showing demos to team leads and C level execs though - they expect nice interfaces10:00
sanderjYeah.. That's why I want it up and running..10:03
sanderjuksysadmin, in which component is it an issue with authentication?10:04
uksysadminThere was something I needed to change in /etc/nova/api-paste.ini10:05
uksysadminsee the NOTE sections10:05
koolhead11you need keystone running too10:05
uksysadminBUT - I've not looked at Horizon for a while10:05
sanderjI got keystone running10:06
sanderjwhich horizon branch should I select?10:07
koolhead11diablo/stable10:08
TeTeTis horizon sort of the middleware below dashboard?10:12
koolhead11:P10:13
koolhead11dashboard to horizon10:13
koolhead11TeTeT: no they have renamed10:13
TeTeTah, thx koolhead1110:13
sanderjkoolhead11, I choose nova trunk10:17
sanderjWe're not running diablo10:17
niemeyerYo all!10:23
koolhead11hola niemeyer10:24
koolhead11sanderj: you can use the stackx code than10:24
koolhead11uksysadmin: is it called stackx or what10:24
uksysadminwhat's stackx?10:25
koolhead11uksysadmin: i think that bash script for rackers for one step install10:26
uksysadminthought this was a juju channel? bash scripts not needed! ;-)10:26
rogniemeyer: hi!10:43
niemeyerrog: Hey!10:44
niemeyerrog: Good timing.. looking at cloudinit right now10:44
rogniemeyer: cool.10:45
rogniemeyer:  if you could have a look at go-juju-ec2-operations that would be nice too...10:45
niemeyerrog: Yeah, I'll clean everything up today10:47
rogniemeyer: BTW i'm not quite sure how i managed all.bash to appear twice10:48
rogniemeyer: i muddled up something and confused lbox i think10:49
niemeyerrog: I was curious as well, but not a big deal10:49
niemeyerrog: submit works, btw10:49
niemeyerrog: Not sure if you've seen the announcement10:49
rogniemeyer: yes. i'm just updating now.10:50
rogniemeyer: BTW i think perhaps -prep=false should be -mail=false. i.e. the mail should only be done when you explicitly ask for it10:53
niemeyerrog: I think "lbox propose" should actually propose10:53
rogniemeyer: lbox propose -cr -for x -mail10:54
rogreads well to me10:54
niemeyerrog: It reads well, but "lbox propose" should actually propose10:54
rogniemeyer: ... unless you use -prep ?10:54
niemeyerrog: Yep.. then you said "I'm just preparing for now" explicitly10:54
rogniemeyer: in my workflow, i *always* prepare before mailing10:55
niemeyerrog: It's easier to code than lbox prepare-proposal10:55
niemeyerrog: That sounds fine10:55
rogniemeyer: so it's nicer to have the default being the thing that doesn't do anything non-retractable10:55
rogniemeyer: it's fine, i can always hack my local version :-)10:56
niemeyerrog: Your default and my default differ.. there's no way out..10:56
rogniemeyer: i guess i'm just used to the way that Go's "hg change" etc work10:56
niemeyerrog: Yeah, that's probably it10:57
rogniemeyer: but i do think the principle of making the default action the least drastic is a good one in general.10:58
niemeyerrog: There's nothing drastic about making a propose command propose..11:01
rogniemeyer: sending mail can be drastic!11:02
niemeyerrog: You're going to the quotes page for that one :-)11:02
rogniemeyer: in Go code reviews, the number of times i did "hg change" then "hg mail" immediately without another "hg upload" is pretty small11:03
rogniemeyer: it's nice to see exactly *what* you're proposing before actually making the proposal11:04
niemeyerrog: That sounds completely fine. I'm not trying to change your workflow in any way. Please feel free to create local "rog-propose" commands.11:04
rogfair 'nuff11:05
niemeyerrog: Many people review their changes before they commit locally, for instance.11:06
rogniemeyer: i do that too, but there's nothing quite like seeing the final thing11:06
rogniemeyer: (given the number of heuristics in lbox...)11:07
niemeyerrog: Piece by piece, creating change logs that show the evolution towards the solution.11:07
rogniemeyer: i agree entirely. my remarks are about notifying people at the right moment, not hiding change logs.11:11
niemeyerrog: That's cool.. I'm not trying to convince you. Just explaining the other side of the picture.11:12
niemeyerrog: My key point is that "lbox propose" should propose. That's all.11:12
* nijaba waves from rainy paris11:12
niemeyernijaba: Hey man11:13
nijabaSpamapS: marcoceppi: would love to get a review on my merge proposal for roundcube.  Now with ssl cert copied via scp in peer relation11:15
nijabaniemeyer: how are you doing? as you can see, I am thanking juju for giving me something to do while it's raining outside.11:16
niemeyernijaba: Hah, neat :)11:58
niemeyerniemeyer: Pretty good here..11:58
niemeyernijaba: Pretty good here..11:58
niemeyernijaba: Trying to catch up after being away for a few days11:59
niemeyerrog: One review out11:59
rogniemeyer: the comments of the form "// apt_update_upgrade" refer to the cloudinit file that the option was taken from.12:08
rogniemeyer: they're there to facilitate cross-checking with the original source.12:09
TheMuerog: Could you please send the dependency graph we spoke about to me? Thx.12:13
rogTheMue: just looking for it...12:15
rogTheMue: http://paste.ubuntu.com/768876/12:16
rogTheMue: it's a little idiosyncratic12:17
rogTheMue: the script that generated it is at the top12:17
niemeyerrog: Ok, can you please drop the comments?12:18
niemeyerrog: now that you have the code?12:18
niemeyerrog: It doesn't make sense for a reader, and they'll likely be wrong in a bit, even if they are right today12:18
TheMueTheMue: Thx, so the modules on the left depend on the modules right of them?12:20
rogniemeyer: i'd like to drop them, but i fear that when i come back to add some more options, i won't remember which ones have been done. would it make more sense if they were file names (more obvious that they referred directly to the cloudinit source, which is organised in that particular modular way)12:21
rogTheMue: yes12:21
niemeyerrog: The name of the option is in the Go code.. how would you forget?12:22
rogTheMue: BTW if you want to massage the script (i built it up incrementally), you should know that "9 sed" refers to the plan9port version of sed, which understand egrep-style regexps12:23
rogniemeyer: yeah, grep "option" should be sufficient, i guess12:24
niemeyerrog: Now that TheMue has some free cycles, it would be nice to get started on the state logic front12:27
niemeyerrog: I'm trying to recall the details of our conversation at UDS, but I don't have full clarity12:28
niemeyerrog: Maybe we can recover that conversation together12:28
rogniemeyer: i don't remember that much either!12:29
niemeyerrog: So let's figure the approach again.. this time it should be easier12:29
niemeyerrog, TheMue: Google+?12:30
rogniemeyer: hangout?12:30
niemeyerrog: Yeah12:30
rogniemeyer: i'd like to quickly finish these updates to cloudinit, if that's ok12:30
TheMueniemeyer: I would have to do some preparations before hangout.12:31
niemeyerrog: Ok, please ping when you're ready then12:31
niemeyerTheMue: Sounds good12:31
niemeyerrog: Btw, I think we should rename the juju directory/package to "environ"12:32
rogniemeyer: i'm not sure.12:32
niemeyerrog: Everything in the repository is juju.. juju/go/juju is confusing, and incorrect12:32
rogniemeyer: i think using "juju" as a package identifier works well12:32
rogniemeyer: i think eventually it will be launchpad.net/juju12:33
niemeyerrog: It doesn't to me.. everything in there is juju12:33
niemeyerrog: Precisely.. it will be launchpad.net/juju/{log,charm,...}12:33
niemeyerrog: now we'll build state12:34
rogniemeyer: yes, but this is the code environment, and in go code, seeing juju.EnvironProvider works well12:34
niemeyerrog: the things under the juju directory are about the environments12:34
rogenviron is a very generic name for a package12:34
niemeyerrog: Again.. it makes sense for _everything_ to be under juju.12:34
rogniemeyer: i'd thought of that package as the way in for all the top level juju entry pointer12:34
rogniemeyer: e.g. deploy, add unit, etc12:35
niemeyerjuju.Log, juju.Charm, ...12:35
rogjuju.Log can be used like usual log. "charm" is sufficiently distinctive in itself12:35
niemeyerrog: environ too12:35
niemeyerrog: It's completely analogous12:35
rogniemeyer: "environ" is a highly generic name, used in many places besides juju12:36
rogand juju is nice and short12:36
niemeyerrog: it is.. juju.Charm is nice too :)12:36
rogniemeyer: i think it makes sense to have at least one package with the "juju" identifier12:36
niemeyerrog: Heh12:37
rogniemeyer: and given that this is the central place, why not this one?12:37
TheMueI would like a package below "juju" for each major entity or service. Importing "launchpad.net/juju/envronment" seem ok for me.12:39
TheMueHere the env gets its context by the containment in the juju package.12:39
TheMueSo, changed place and took headset12:41
niemeyerrog: I don't buy the "we _need_ a package with this name" argument12:42
rogTheMue: in my plan, the juju package is not only about the environment, it's also about control of juju.12:42
niemeyerrog: That won't work.. we'll have a state package now, that is unrelated to the environment12:42
niemeyerrog: and that's where good part of the "control" will lie12:43
TheMuerog: I would only place a juju command inside this package.12:43
rogniemeyer: i was thinking (as we discussed before i think) that the juju package would encapsulate an API interface to the "control" commands12:44
rogniemeyer: so you could do: e, err := juju.Open("myenviron"); e.Deploy("wordpress")12:44
niemeyerrog: I'm not sure.. that's exactly the conversation we're supposed to have12:45
rogniemeyer: ah, i thought we were going to talk about the nitty-gritty of state updating12:45
niemeyerrog: That sounds interesting, but the bulk of the environments implementation do not have to be within a juju package12:45
niemeyerrog: and it is now12:45
niemeyerrog: I'm happy to have the juju package as the entry point12:46
niemeyerrog: That's not what it is today12:46
rogniemeyer: ok. that depends on whether we manage to factor it out without circular dependencies.12:46
niemeyerrog: There's no reason to have circular dependencies if juju is only the entry point12:47
TheMueRight now I don't see them too.12:48
niemeyerrog: But I guess we're in agreement.. I'm happy to have juju, and happy to have entry points there.. let's just move the bulk of the environment implementation in its own package under what we today have as go/12:48
niemeyerrog: In the future, we move go/juju/* onto go/, and rename go/ to juju/12:48
TheMuejuju as a starter, additionally there will be some foundation packages like environment or misc utilities and then the service packages12:49
niemeyerrog: Sounds good?12:49
rogniemeyer: my reluctance, i think, is that there's hardly anything to the environ package. it's essentially just a couple of type definitions and a registry hook.12:50
rogniemeyer: i don't know that it deserves its own package12:50
niemeyerrog: Check out the log package..12:51
rogniemeyer: that's different - it needs to be its own package to avoid circular dependencies12:51
rogniemeyer: i'm not dead set against the idea, BTW. i'm just not sure about it.12:52
niemeyerrog: So you're happy to have a package named log with two functions, but don't want to have an environment-specific package with hundreds of lines and multiple subpackages?  The reasoning is pretty weak.12:53
TheMueI only can get it if I would say, juju IS our environment.12:54
niemeyerTheMue: Everything there is juju.. the "go/" thing in the path makes this point less clear, but it's there just because we can't own the main namespace today12:55
TheMueFrom this point of view all environment logic for sure could be inside juju12:55
niemeyerTheMue: Again, everything is inside juju..12:56
TheMueniemeyer: I know, but the environment.yaml is the local starting point12:56
niemeyerTheMue: It's juju/charm, juju/log, juju/schema, etc12:56
niemeyerTheMue: This isn't clear because we have a go/ prefix in the way, but that's how the package is intended to be used for real12:56
rogi guess i don't believe that just because something *can* be factored out means that it *should* be factored out12:57
TheMueTheMue: I know, I only tryed to understand rogs motivation12:57
niemeyerrog: I'm not suggesting to factor anything out.. I'm saying the package is clearly misnamed.12:57
niemeyerBut I'll stop arguing now and will do something more relevant12:57
rogat the moment, because it's early stages, all there is in the juju package is the environment, so it looks like it's misnamed, i think.12:58
TheMueniemeyer: Btw, what is schema? The juju environment schema?12:58
niemeyerTheMue: bzr branch lp:juju/go ls go/schema12:58
niemeyerTheMue: bzr branch lp:juju/go; ls go/schema12:58
TheMueniemeyer: No, wrong question, I got it here.12:58
TheMueniemeyer: I asked for the semantics, because w/o context schema is as meaningless as yaml or xml) as file extension.12:59
niemeyerrog: No, there's a lot in the juju package.. there's juju/schema, juju/log, juju/charm, juju/environs, juju/state, ...12:59
TheMueniemeyer: So, which schema is schema?13:00
rogniemeyer: aren't those all separate packages?13:00
rogniemeyer: just as io/ioutil is a separate package to io13:00
TheMuerog: I would say so, as I understand niemeyer13:00
niemeyerrog: Yes, they are, and each encapsulate a well defined part of the problem that juju solves. I'm fine with your idea of using juju as an entry point, but now that I agreed with you you're changing the argument so we continue to disagree..13:01
TheMuerog: And that's looking fine to me13:01
rogniemeyer: i don't want to disagree!13:01
rogniemeyer: i just think that the entry points and the environment stuff can live in the same package13:02
niemeyerrog: So stop doing so.. you want juju as an entry point.. let's do this, and let's keep implementation details of environments clearly organized in their own package. Best of both worlds13:02
rogniemeyer: won't that mean that anyone that actually wants to use the juju API will have to import both juju/environ (to read the environment) and juju/control (to actually do anything)?13:04
niemeyerrog: Open dummyprovider_test.go and tell me with a straight face that this pertains to a top-level package.13:04
rogs/juju\/control/juju/13:04
niemeyerrog: Why? func Open(name) *environ.Environ ?13:05
rogniemeyer: yeah that would probably do the trick13:08
rogniemeyer: sorry for my reluctance - it just shifted my world view :-)13:08
TheMueDo we have an outline about the contents and the structure of the API?13:08
niemeyerrog: Well, no need to be sorry.. no feelings hurt. I'd rather having you arguing than having you silent. :-)13:09
niemeyerTheMue: We have an evolving idea about that13:10
niemeyerTheMue: We debated some high-level approaches about how to move forward in terms of the state integration at UDS13:10
TheMueniemeyer: Any kind of living wiki document to collect the ideas?13:10
niemeyerTheMue: No.. the living collection of ideas is the code base13:10
TheMue*sigh*13:10
niemeyerTheMue: ?13:10
niemeyerTheMue: Go has very good ways to define APIs, document them, and read that documentation13:11
mplniemeyer: just curious, have you ever gotten any complaint from other users in the channel that you were flooding it?13:11
niemeyerTheMue: If we have ideas about how APIs should look like, the code base is a _much_ better place to put that documentation than any wiki13:11
niemeyerTheMue: rog has added a full skeleton of the environment API, despite it being pretty much unimplemented13:12
rogTheMue: i've done a few forward-looking ideas for how i imagine some things looking13:12
TheMueI surely see the importance of code. But especially when designing an API I like a good doc of the evolution so that anyone can not only see how it has been done but also why it has been done this way.13:12
niemeyerTheMue: Again, this is a great idea!13:12
niemeyerTheMue: And the code is the place to put it13:12
TheMueIt can be created in parallel and doesn't has to be a novel.13:13
niemeyerTheMue: You seem to see the code as a poor place for documentation.. we disagree in that regard13:13
rogTheMue: at this point, i think the most important thing is how the API looks13:13
TheMueYep, we do13:13
TheMueIt is the most important, here we do agree13:13
rogTheMue: that is, how the types are named, and what the entry points look like13:14
rogTheMue: if you've been following the recent Go activity, you'll see that much of the stuff has been proposed in the form of godoc output13:15
rogTheMue: i thought it worked pretty well13:15
TheMuerog: Yep, it's most important how it looks. It's good for the user.13:15
rogTheMue: and it means that when you come to actually implement stuff, you just need to fill in the bodies of the types and functions13:16
TheMuerog: But for the maintainer some infos about the motivation for decisions are helpful too.13:16
niemeyerThe "code" is where the project really lives.. around it we have revisioning of content, static analysis of names, reviewing workflows, automatic documentation generation, etc etc.13:17
rogTheMue: i think that can go in the code too.13:17
TheMuerog: I'm not only talking about implementing s/w the first time but also maintin it the whole lifecycle13:17
rogTheMue: me too.13:17
niemeyerand me too13:17
niemeyerEven more important in maintenance, in fact13:17
rogTheMue: documentation external to the code always lags...13:17
niemeyerCode documentation far from code == quick bitrot13:18
niemeyerrog++13:18
mplyep13:18
TheMueDon't get me wrong, I want both. I can show you 20yrs code of mine with good comenting and naming.13:19
rogwhich isn't to say that there shoudn't be some explanatory comments in the code about some particular decisions, if they're not obvious13:19
rogthe nice thing about proposing stuff with a Go API is that it keeps things concrete13:19
* niemeyer perceives ethos in the rhetoric..13:20
rogwhere several paragraphs of text can be very ambiguous13:20
niemeyerFWIW, I'd laugh (or cry) about my code from 20 years ago13:22
rogTheMue: here's my original skeleton API (well out of date now) but if you look in juju/conn.go, the commented-out method give an idea for where i was aiming: lp:~rogpeppe/juju/go-too-much-too-soon13:24
rogi'm still using some small pieces of code i wrote 20 years ago...13:25
TheMueHehe, just digged around in some Pascal code from 1990. Looked neat.13:26
rogTheMue: the thing is, we're not redesigning juju - we're specifying the API and the internal structure. the design already exists and is implemented. so design documents aren't really appropriate here IMHO.13:27
TheMueHmm, I need a shortcut to checkout links from here in XChat directly into my project directory ...13:27
TheMueSo, in only few words, how will our API look? One major type providing many methods? Is this an interface and do we work with factories? Can the user expect transactional behavior (or at least a searialization of jobs)? Or do we have many small types the API user instantiaties on his own?13:31
niemeyerrog: Very good point.. high-level (non-code) design documents are here: http://juju.ubuntu.com/docs13:31
niemeyerTheMue: In only a few words? It will look great! ;-)13:31
TheMueniemeyer: h513:32
TheMueGooooood answer13:32
niemeyerTheMue: More seriously, the domain space is fairly intricate.. such statements ("we'll use factories") are a solution in search of a problem. We'll try to do the inverse.. understand the problem and then figure how to best design the solution.13:33
TheMueniemeyer: I know, has only been an example question regarding a design principle of e.g. separating service interfaces and providers handled in a kind of internal container (goroutine able to encabsulate jobs performin on those services).13:35
niemeyerTheMue: Again, all of those things are solutions in search of a problem.. one can't tell whether something is appropriate in isolation of the actual problem being solved.13:36
rogTheMue: i try to start from "this is the API i want to provide", then move to "how can i implement that API"13:37
rogTheMue: luckily in this case, the problem itself is already specified (otherwise i'd start there)13:38
niemeyerTheMue: Depending on what we're trying to accomplish, we can go in one direction or the other13:38
rogTheMue, niemeyer: i've done most of the cloudinit changes. am ready for G+.13:38
niemeyerrog: Kind of.. there are open problems in terms of API organization that we're trying to solve as well13:38
rogniemeyer: it might be useful to make a list of some of the most pertinent of those problems.13:39
TheMueThis API organization is what I want to see. In a higher level than code, but less than a novel.13:39
TheMuerog: YES!13:40
niemeyerrog: I've been doing that.. but you're already aware of them in the context we're debating13:40
TheMuerog: That's the doc I'm referring to. A list of what we want to provide which evolve into how we do it.13:40
rogTheMue: method stubs work well. no bodies necessary, but a type signature and a comment.13:40
niemeyerrog: or were, anyway13:40
roglol13:40
rogmaybe i am.13:41
niemeyerrog, TheMue: Invite sent13:42
rogniemeyer: one mo, i'm just being banished upstairs13:45
* hazmat yawns and digs into reviews14:32
jcastroSpamapS: Hey so in your review of limesurvey I like how you tested the haproxy bits.14:36
jcastroSpamapS: can I get a blog post out of that? I'd like a post highlighting that you can just add proxy things to charms and that we like that because it let's you addunit something fierce.14:36
mchenetzcurrently building py27-txzookeeper for juju port on mac… Next we will see if the juju port command will work. ;-)15:37
hazmatmcclurmc, :-)15:38
hazmatugh.. keep doing that15:38
hazmatmchenetz, cool, i'm curious to see how it goes, i've got an old mac pro i can setup if something needs debugging15:38
mchenetzno prob… I think i can handle the debugging. If i can't i will let you know. Thanks15:39
mchenetzI will right some instructions up if it works15:39
hazmatmchenetz, awesome15:39
hazmatrobbiew, thanks for posting the lisa keynote talk, interesting stuff .. http://www.youtube.com/watch?v=3KpPBnEtRj415:39
hazmatpretty high level stuff15:40
robbiewhazmat: np...I missed Wednesday and was just looking to see which videos had been posted...luckily this one was15:40
robbiewm_3: ping16:05
m_3robbiew: yo16:06
m_3g+?16:06
robbiewm_3: yup16:06
robbiewm_3: invite sent...I think16:09
m_3doh... from me too just now... lemme look for ytours16:09
* koolhead11 wondering if robbiew going 4 hangout. :P16:10
rogniemeyer: http://paste.ubuntu.com/769110/16:20
mplhazmat: the most interesting part was at 1h06m20s :)16:27
rogniemeyer: any way i can reset the CL state, or do i have to create a new CL?16:29
niemeyerrog: Yo16:34
rogniemeyer: hiya16:34
niemeyerrog: Let me check that paste16:35
niemeyerrog: Curious16:35
mchenetzI think i am going to create a macport repo on one of my servers for Juju so that other people will not have to go through what i am going through...16:37
niemeyerrog: So, do you have any idea of what was the story there?16:38
niemeyerrog: The file definitely looked weird.. I'm not sure about where to start looking16:38
rogniemeyer: i think the sequence went something like this:16:39
rogniemeyer: the wrong version of all.bash went in initially16:39
rogniemeyer: i changed it. i might even have done bzr rm all.bash16:39
rogniemeyer: then i added it again16:39
rogoh, somewhere in the middle, it went wrong, so i couldn't view anything on the web site ("CL is uploading" or something like that)16:40
rogand then somehow i got it back again16:40
rogbut... with two all.bash files visible16:40
rogniemeyer: sorry it's not a very reproducible scenario16:41
niemeyerrog: Ok, no worrie16:41
niemeyers16:41
rogniemeyer: but currently i can't upload my changes, so the CL is stalled16:41
niemeyerrog: Can you please retry with -debug?16:41
SpamapSjcastro: ack.. in the server team meeting right now..16:42
rog!16:43
rogit's worked now16:43
rogniemeyer: dunno what went right this time16:43
rogniemeyer: BTW, i'm not sure what to do about all the comments for the various options16:44
niemeyerrog: Have you touched the branch in any way in between? (commit/whatever)16:44
niemeyerrog: let's figure what the options do.. smoser can help us16:45
rogniemeyer: nope16:45
rogniemeyer: i could make a guess at the docs but, yeah, some knowledgable help would be good16:45
smoserwhat options are you talking about, negronjl16:47
smoseroops16:47
smoserniemeyer,16:47
rogsmoser: cloud-init options16:47
rogsmoser: https://codereview.appspot.com/5444043/diff/20003/cloudinit/options.go16:47
smoserwhich options? most options for cloud-config are documented at http://bazaar.launchpad.net/~cloud-init-dev/cloud-init/trunk/view/head:/doc/examples/cloud-config.txt16:48
niemeyerSweet!16:48
rogsmoser: "user" ?16:48
rogsmoser: thanks BTW16:49
smoserthats the 'user' that things are done to (like ssh-import-id, other stuff... its assumed that that user already exists in the image)16:49
smoserie, 'ubuntu'16:50
rogsmoser: hmm. i'm trying to think of a good way to phrase that.16:53
rogsmoser: "SetUser sets the user that things are done to" doesn't quite get there for me :-)16:53
smosermany cloud-config things operate on a user account.16:54
rogsmoser: "SetUser sets the remote user name that will be used"?16:54
smoser(import keys being the most obvious)16:54
rogsmoser: is it essentially just setting the home directory?16:54
smoserthey read the cloud-config user 'user' for which user to operate on16:54
rogsmoser: or do some things set uid to the user too?16:54
rogsmoser: yeah, i've seen a few get_cfg_option_str(cfg,"user","ubuntu")16:55
smoserits possible they get the uid for the user and use it, but i'm not usre.16:57
=== niemeyer changed the topic of #juju to: http://j.mp/juju-florence | http://j.mp/juju-docs | http://j.mp/irclog | #juju-dev | Office Hours (1600-1900UTC)
niemeyerNew #juju-dev channel, for low-level development-related topics16:58
rogsmoser: yeah, byobu does sudo user.16:59
rog(whatever byobu is :-])17:00
rogsmoser: "SetUser sets the user name used for byobu, set_passwords, ssh_import_id and ssh_import_id"?17:01
niemeyerrog: byoby == screen with a configuration file from Dustin17:01
rog(maybe enumerating the various things that uses it is easier that trying to say what it is)17:02
hazmatnext version of byobu is tmux based17:05
hazmatquite nice actually17:05
hazmater.. i guess it supports both, but i tried out the tmux version17:05
rogthe docs say of apt-mirror, "Add apt repositories" but it only has one string argument17:06
rogis the URL point to a list of apt repositories?17:06
rogs/is/does/17:07
rogsmoser: what does apt_old_mirror do?17:07
rogdarn it, i've got to go17:09
rogsmoser: thanks for the help.17:09
roganyone: feel free to add any docs to the above page (https://codereview.appspot.com/5444043/diff/20003/cloudinit/options.go) by double-clicking on a line17:10
rogsee y'all tomorrow17:11
niemeyerrog: Have a good evening17:12
hazmatbcsaller, jimbaker, fwereade standup?17:13
hazmatbcsaller re standalone needs review,  https://code.launchpad.net/~hazmat/juju/upgrade-config-defaults/+merge/8471017:35
SpamapSnew charm-tools/charm-helpers uploaded to precise.. now with unit tests.. w00t. :)17:47
m_3SpamapS: thanks17:56
marcoceppiSpamapS: woo \o/18:51
mchenetzFinally got juju working on OSX, using Port, Brew and PIP… It was hard and it was ugly… I am going to work on fixing the port file and maybe even create a brew repo19:03
SpamapSexcept.. the tests fail on the buildds.. hrm19:03
m_3mchenetz: +1 for a brew repo19:04
mchenetzm_3: I like brew a lot better and i think it already had a lot of the dependencies… So, i think it would be the way to go...19:05
m_3much easier to publish and maintain imo... just pull requests19:06
mchenetzI haven't looked into it. But that is always what i hear. I will be looking at it shortly. :-)19:06
* m_3 will have to break out the old osx drive for his mbp to test19:07
mchenetzokay, after all of that… during bootstrap: ERROR, no module named apt… hehe it's not linux19:10
mchenetzNow to look at the juju code19:12
mchenetzOkay, so this seems to be a local provider issue under pkg.py19:19
mchenetzI think we could do a little magic to use brew or something else in the pkg.py script19:19
mchenetzokay, so now i am thinking that a standardized repo for juju is quite important. We need to have similar packages for osx and linux. So someone, maybe me, needs to start a  repo that includes the packages required to allow the charms to function correctly19:22
nijabaSpamapS: marcoceppi: I would really appreciate if one of you would have time to review my mess :)19:24
* SpamapS points nijaba to m_319:24
marcoceppinijaba: I'm a bit strapped this week between deadlines and "in-laws" visiting19:24
SpamapSnijaba: I'm way behind on other things today.. but m_3 might have a few moments to poke at it.19:24
nijabamarcoceppi: SpamapS: ok, understood, specially for the inlaws ;)19:25
SpamapSmchenetz: by packages, do you mean ports or brew or something else?19:25
mchenetzI am thinking brew for osx… But, i am starting to thing that it might be good if juju had it's own package repo19:26
jcastromchenetz: I would be in favor of anything that improves our story on osx.19:27
jcastrothat would be a really great contribution19:27
mchenetzI am trying to think about the best way to do it. It could just be that the scripts call apt on ubuntu and brew on osx… However, i think there needs to be a standard and there may need to be repos setup for compatibility with juju (missing files)19:28
mchenetzThe only advantage to Juju having it's own package management is that other flavors of linux could theoretically be brought into the fold because it wouldn't rely on a certain package distribution method19:31
mchenetzjust thinking out loud here: Naming of packages may become an issue with different package management software (e.g. apt and brew). They may not be called the same thing in both repos so there may need to be provision for different package names dependant on architecture.19:37
marcoceppimchenetz: The systems's package manager could be made available in an environment variable, say "SYSTEM_PKG_MGR" so charms could be setup to swtich between them. But I'm also just thinking outloud. It's easy enough to create a charm as it is. So for those running charms on different systems they could fork a charm from the charm store, modify the few lines about apt-get * and then deploy19:44
mchenetzmarcoceppi: I agree… The just have to know that in order for it to be cross platform, a package needs to be available in both repos. This may require custom repos if one or the other does not contain those files.19:46
marcoceppimchenetz: I think what will likely happen is a distribution setting up it's own charm store, Juju is _technically_ cross platform, but there is no guarantee for a charm to be cross platform. That would be way too much work up front for a charm author. So, if a charm isn't written for your distribution, you can always just write one :)19:48
marcoceppiThough, just talking out loud.19:48
mchenetzBut, actually, once juju is installed, it will most likely be  a linux container. So, it is just the initial setup of juju that could require additional packages. :-)19:49
mchenetzWhich brings me back to… I still think Vagrant would be very beneficial to integrate into juju… I may work on that too. It does not seem like it would take to much19:50
mchenetzmarcoceppi: The only reason why it's not truly cross platform compatible right now (That i can see) is that it needs some programming logic in the local provider section to not only use apt, but brew or macport19:53
m_3nijaba: I'll look at what you have in the queue20:10
hazmatmchenetz, not worthwhile to support local provider20:26
hazmatmchenetz, that code shouldn't be imported if its not being used in the config20:26
mchenetzhazmat: What do you mean not worthwhile? We should use something else?20:27
hazmatlocal provider is using linux only tech, a vagrant provider is significantly heavier weight, but would definitely be of use to osx20:27
mchenetzhazmat: maybe i will start working on a Vagrant povider20:27
hazmatmchenetz, yeah, not worthwhile as it in won't work, and if its going their is going to be a virtualbox provider its a separate provider20:28
hazmatits not really vagrant, its just talking to virtualbox api, all vagrant really is a some policies around a virtualbox api wrapper20:28
m_3scripts really, right?20:28
hazmatmchenetz, the virtualbox sdk has a control console in python that i found helpful when trying to understand the api20:29
mchenetzhazmat: i will take a look at the virtualbox sdk… i just have to think of some of the features i liked in Vagrant and see what would be good to add to Juju20:29
hazmatmchenetz, cool, i'd be interested in hearing what those are or feel free to file a bug report20:30
mchenetzhazmat: no prob… I am going to start to outline it20:31
hazmatmchenetz, fwiw.. i filed a bug 826498 about vbox/osx a while working on the local provider impl20:33
_mup_Bug #826498: virtualbox machine provider for osx local dev <juju:New> < https://launchpad.net/bugs/826498 >20:33
mchenetzhazmat: i will check it out20:33
mchenetzWow you can do quite a bit with their sdk.20:36
nijabam_3: thanks a lot.  Would like to know if I am going the right way before I start on something else :)20:47
mchenetzThis is probably good to look at for virtual box integration as it is programmed in Python: http://code.google.com/p/vboxweb/20:49
_mup_juju/sshclient-refactor r432 committed by kapil.thangavelu@canonical.com20:53
_mup_merge latest robust-zk-connect from jim20:53
_mup_juju/sshclient-refactor r433 committed by kapil.thangavelu@canonical.com20:53
_mup_merge trunk20:53
=== koolhead17 is now known as koolhead17|zzZZ
=== uksysadmin_ is now known as uksysadmin
=== koolhead17|zzZZ is now known as koolhead17
=== koolhead17 is now known as koolhead17|zzZZ
negronjlSpamapS, m_3, hazmat:  Do you guys know how to get the unit name ( ie: mongodb/3, mongodb/2, etc. ) from within either the install hook or any of the relation-* hooks?  I need that information sometimes and have no idea how to get that information.22:51
tekonivelohi22:52
SpamapSnegronjl: JUJU_UNIT_NAME ? I seem to recall needing it in a few places too.22:52
negronjlSpamapS: is that an environment variable ?22:52
SpamapSnegronjl: yeah, I use it in ceph a lot22:52
negronjlSpamapS: thanks ... I'll try that out22:52
tekonivelojuju deploy is spawning me new machines on AWS EC2. But i'm on el chéapo free AWS t1.macro plan, so i would like to have everything on the one machine22:53
robbiewtekonivelo: right now that feature isn't available, however we are in the process of adding it for the 12.04 release.22:54
tekonivelorobbiew: ok22:54
robbiewif you are just playing with juju, may I suggest the local option?22:54
SpamapStekonivelo: you can spawn your own t1.micro, and use the 'local' provider...22:54
tekonivelorobbiew: so it's not a completely out-of-the-model -idea in juju?22:55
SpamapStekonivelo: but the 700MB of RAM is not going to be enough to do much at all.22:55
robbiewtekonivelo:  nope...especially because we leverage juju in ubuntu orchestra for bare metal deployments22:55
robbiewwhere you will surely want more than one thing on a machine ;)22:56
SpamapStekonivelo: https://juju.ubuntu.com/docs/provider-configuration-local.html22:56
tekonivelothanks!22:57
tekoniveloi'll continue my adventures in juju-land :)22:58
tekonivelothanks, the "the ancients of juju" :)22:58
tekonivelosorry "the justified ancients of juju" ;)22:58
m_3nijaba: ping23:01

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