/srv/irclogs.ubuntu.com/2011/11/30/#juju.txt

SpamapShazmat: Intel emerald ridge00:00
SpamapShazmat: re the test failures.. what about the argparse bits?00:01
hazmatSpamapS, haven't run into those yet00:01
hazmatSpamapS, i manually installed the dep packages, checked out and ran tests00:02
hazmatSpamapS, do you have another mechanism you'd recommend to reproduce00:02
hazmatjimbaker, bcsaller can i get a +1 on this trivial.. http://paste.ubuntu.com/754300/00:06
hazmatthat cleans up some of the tests to be more reliable00:07
moozzthanks folks just back and reading your points here00:07
moozzSpamaps, I open the cobbler web interface and check00:10
SpamapShazmat: a checkout doesn't seem to show the behavior, only the installed version does00:13
SpamapShazmat: its possible dh_python2 is broken or juju is doing something to confuse it00:14
moozzSpamapS, my .juju/environment.yaml is the same as the one in section 2. https://wiki.edubuntu.org/ServerTeam/OrchestraJuju00:16
moozzSpamaps, I also added: "default-series: oneiric"00:17
moozzSpamapS, I also made sure management classes has orchestra-juju-available selected.00:19
moozzSpamapS, I must have missed something else hey?00:20
SpamapSmoozz: can you do a 'cobbler system show-variables -n name-of-system' and pastebin it?00:27
SpamapSmoozz: you have to run that as root on the orchestra-provisioning-server00:28
moozzSpamaps, will do00:31
moozzSpamapS, to be honest I cannot remember00:32
bcsallerhazmat: you have to yield on watch_d twice in a row?00:34
bcsalleroh, bad read00:34
moozzSpamaps, I ran: 'sudo cobbler system show-variables -n oscs1' but get usage error message. I thing "show-variable" is not an option on my version00:34
hazmatbcsaller, yeah... the exists_d wait, is just to be nice.. its not really needed00:35
bcsallerhazmat: yeah, +1 on the trivial00:35
moozzSpamapS, Should I run this instead perhaps: "sudo cobbler system dumpvars"00:37
hazmatSpamapS, fixes committed, not sure about the argparse problem, i'll email barry about them00:39
hazmats/it00:40
SpamapSmoozz: yes thats the one00:41
SpamapSmoozz: sorry mixing 3 different things in my head ;)00:41
moozzSpamapS, No probs. Here is the output -> http://pastebin.com/XSfGYW1M00:43
hazmatjimbaker, does 2to3 suggest xrange?00:44
hazmatthat seems odd00:44
hazmati thought that was gone in py300:44
moozzSpamapS, Getting this error for a few cobbler commands: TypeError: cannot marshal None unless allow_none is enabled00:53
_mup_juju/trunk r421 committed by kapil.thangavelu@canonical.com00:57
_mup_[trivial] some minor test fixes from precise pkg builds [r=bcsaller]00:57
moozzSpamapS: It is midday here in AU not sure what time it is where u r, am I bothering u?01:10
marcoceppiconfig-get is available outside of the config-changed hook, correct?01:12
hazmatmarcoceppi, yup01:17
SpamapSmoozz: its 17:17 for me.. not bothering me at all but have a lot of stuff going on ;)01:18
marcoceppiRight, that's what I figured. What about relation-get seems it can't be used outside of it's hook, correct?01:18
SpamapSmoozz: the dumpvars, I think you need to give it a -n system_name01:18
* SpamapS re-installs cobbler to follow along01:18
moozzSpamapS: Says no suck option01:19
moozzSpamapS: will try with just host name01:20
moozzSpamapS: sudo cobbler system dumpvars oscs1 gives the same output as the previous pastebin01:21
moozzSpamapS: same with ip address01:22
SpamapSmoozz: sudo cobbler system list01:23
moozzSpamapS: http://pastebin.com/x2R5YNFE01:26
moozzSpamapS: I have a host list. These are the hosts I eventually wish to build openstack on.01:26
moozzSpamapS: "sudo cobbler system dumpvars nova-compute" gives me the same error as in http://pastebin.com/XSfGYW1M01:28
SpamapSmoozz: alright, I'm trying to get a test system up to follow along01:29
SpamapSmoozz: --name nova-compute01:29
moozzSpamapS: Got output pastiing now01:30
SpamapSmoozz: btw, you may want to apt-get install pastebinit01:31
SpamapSreally helpful for this01:31
SpamapScmd | pastebinit will put it into a pastebin for you :)01:31
moozzSpamapS: thanks. http://pastebin.com/Z0Ni59Hv01:32
SpamapSmgmt_classes : ['orchestra-juju-acquired']01:33
SpamapSmoozz: this means juju believe it has taken control of that system01:33
SpamapSmoozz: are you certain juju bootstrap failed?01:33
moozzSpamapS yes01:33
moozzSpamapS: I wonder how we can check f sure?01:35
SpamapSmoozz: juju status01:36
moozzSpamapS: cool trick with pastebinit01:36
moozzSpamapS01:37
moozzSpamapS: ERROR juju environment not found: is the environment bootstrapped?01:37
SpamapSmoozz: ok, so change that mgmt class to orchestra-juju-available and try bootstrap again01:40
SpamapSmoozz: maybe do  juju -v bootstrap so you get verbose output01:40
moozzSpamapS: http://pastebin.com/TWwZLB0g01:41
moozzSpamapS: ok, I will list the env to check and out put to pastebin01:43
SpamapSmoozz: did you try bootstrap again yet?01:44
moozzSpamapS is there a command line way to do this?01:45
moozzSpamapS: Tried this "sudo cobbler mgmtclass edit --name orchestra-juju-available"01:47
SpamapSmoozz: no you'd want "sudo cobbler system edit --name nova-compute --mgmt-class 'orchestra-juju-available'01:48
moozzSpamapS: Yay! It worked. Should I make all other hosts available to?01:49
moozzSpamapS: Bummer, error actually: All available Cobbler systems were also marked as acquired (instances: MTMyMjUzMzEwOC42MjYwNDAxNjEuMjAwODk)01:50
SpamapSmoozz: Its best to make them available one at a time, so that you can make sure the service you're deploying goes to the system you want it on.01:50
SpamapSmoozz: hah, weird01:51
moozzSpamapS: very01:51
SpamapSmoozz: dumpvars again, check the mgmtclass01:51
moozzok01:51
moozzSpamapS: http://paste.ubuntu.com/754358/01:52
moozzSpamapS: Seems set01:53
SpamapSmoozz: I just tried    sudo cobbler system edit --name=foo --mgmt-classes="orchestra-juju-available"   and it overwrite the acquired with only avialable01:54
moozzSpamapS: Any idea what this error means then?01:55
SpamapSmoozz: on your system, you have both.. mgmt_classes : ['orchestra-juju-acquired', 'orchestra-juju-available']01:56
SpamapSmoozz: you need it to just have 'orchestra-juju-available'01:56
SpamapSmoozz: you're going to run into one problem here.. with only 3 machines.. you won't have anywhere to put rabbitmq and mysql01:58
moozzSpamapS: Sorry about the dumb question but what does the "...acquired" do?01:58
SpamapSmoozz: available means "available for juju" , acquired means "taken by juju"01:59
moozzSpamapS: ok doing now? :-)02:00
moozzSpamapS: Done, now "'dict' object has no attribute 'read'" after typing juju bootstrap. :-)02:01
SpamapSmoozz: *wha* ?02:02
moozzSpamapS: Seems now when I run "juju bootstrap" I get the error "'dict' object has no attribute 'read'"02:05
SpamapSmoozz: I understand that. But maybe you could run it with '-v' and pastebin that?02:05
moozzSpamapS: ok02:07
SpamapSmoozz: thats not a normal condition. :-/02:08
moozzSpamapS: http://pastebin.com/nybeHuxY02:11
SpamapSmoozz: interesting.. can you try 'sudo cobbler system edit --name=nova-compute --ks-meta=""' then bootstrap again?02:12
SpamapSmoozz: I think there's an existing bug for this problem02:13
moozzSpamapS: cobbler: error: no such option: --ks-meta; You are trying to send an empty document, exiting02:14
SpamapSmoozz: darn inconsistent cli.. change it to --ksmeta02:15
moozzSpamapS: SpamapS: Same02:17
SpamapSmoozz: can you do a cobbler system dumpvars on it again and grep for 'ks_meta' ?02:18
moozzSpamapS: Note class is set to accuired02:18
moozzok02:19
SpamapSmoozz: acquired, but you're getting the dict/read bug?02:19
moozzSpamaps: http://paste.ubuntu.com/754379/02:20
SpamapSks_meta : tree=http://@@http_server@@/cblr/repo_mirror/oneiric-x86_6402:21
SpamapSdoesn't seem like it got fixed02:21
moozzSpamapS: I will try running the command again02:21
SpamapSmoozz: the ks_meta should be *empty*, mgmt class should be ONLY orchestra-juju-available ..02:21
moozzSpamapS: tried to clear the ks_meta again but no luck02:23
moozzSpamapS: hmm :-P02:24
SpamapSmoozz: --ksmeta="" works for me02:24
moozz:-)02:24
moozzSpamapS: can this be checked in the Web UI?02:25
SpamapSmoozz: yourserver/cobbler_web should have a web UI on it02:26
moozzSpamapS: Just checked the UI and empty. ??02:26
moozzSpamapS: No kickstart metadata there02:27
moozzSpamaps: Checking inhetit in the UI02:28
SpamapSmoozz: and the mgmt classs?02:29
moozzSpamapS: mgmt classes empty02:30
SpamapSmoozz: so.. put the available one in ;)02:31
moozzSpamapS: system: no ks_meta, should i remove <<inhert>> from the oneiric-x8x_64-juju profile?02:32
SpamapSmoozz: definitely not!02:34
moozzSpamapS: ok. Should the management classes have nothing set in them? as they do have nothing set02:35
SpamapSmoozz: ... no.. they should have orchestra-juju-available02:36
moozzSpamapS: The class exists but has no packages or files specified02:37
moozzSpamapS: Sorry about all this02:38
SpamapSum, packages? what?02:38
SpamapSmoozz: I think you may be confusing terms02:38
SpamapSmoozz:under the system record in the web interface, sub menu "Management" the only thing that matters is "Management Classes"02:39
moozzSpamapS: under: configuration->Management Classes-> orchestra-juju-available->resources-> nothing is set02:39
SpamapSThat doesn't mean anything02:40
SpamapSConfiguration->Systems02:40
SpamapSthats where the magic happens02:40
moozzSpamapS: ok02:40
moozzSpamapS: Yes it is set02:41
moozzSpamapS: Wonder where the dict issue is comming from02:42
SpamapSdunno02:43
SpamapSbut I have to go now02:43
SpamapSfamily is home02:43
SpamapSmoozz: good luck.. maybe send to the mailing list if you get stuck02:43
moozzSpamapS: Many thanks and very sorry02:43
hazmatSpamapS, cheers02:50
marcoceppiIs there any limitation on the length of time a hook can run?04:14
SpamapSmarcoceppi: no, but there's some thought that it would be a good idea04:43
marcoceppiOkay, I've got an install hook that's going to take about...45 minutes04:46
marcoceppiSo, just FYI04:48
SpamapSmarcoceppi: might it be better to put that in the background?04:49
marcoceppimaybe, but how could I capture an install fail if it fails?04:49
SpamapSmarcoceppi: what will it be doing for 45 min?04:49
marcoceppione word: cpan04:49
marcoceppiHopefully there's an easier way to get all these Perl modules04:51
SpamapScpan?04:55
SpamapSits not packaged?04:56
SpamapSor rather..04:56
SpamapSthe stuff you need isn't packaged?04:56
SpamapSmarcoceppi: debian has *really* good tools for turning cpan stuff into debs04:57
marcoceppiOh, maybe it is packaged I'm following instructions from the INTERNETS04:58
SpamapSmarcoceppi: dh-make-perl in particular understands CPAN perfectly04:58
SpamapSmarcoceppi: koha?05:25
marcoceppiSpamapS Yeah actually05:28
SpamapSmarcoceppi: saw your G+ post05:29
SpamapSmarcoceppi: surprised that they use debian and suggest CPAN05:29
marcoceppiSpamapS: yeah, the install uses a mix of cpan and packages, I'm trying to track down all the packages now to avoid cpan05:34
SpamapSmarcoceppi: perl can be like wonderland... ;)05:36
koolhead17hi all06:33
koolhead17the instance id i provide in my yaml file is required to have a user name "ubuntu"06:35
koolhead17i mean the instance ?06:36
SpamapSkoolhead17: what instance?07:25
SpamapSkoolhead17: do you mean the image id?07:26
koolhead17SpamapS: yes07:26
koolhead17am running Juju on openstack07:26
koolhead17*trying07:26
SpamapSkoolhead17: the standard ubuntu 11.10 cloud images should work fine on openstack07:27
koolhead17SpamapS: am not using cloud image am using amd64 11.10 server image with my own customization as per my network requirement07:27
SpamapSah so you're using the orchestra provider?07:28
koolhead17SpamapS: no07:28
koolhead17:)07:28
SpamapSwell then I'm confused07:28
SpamapSwhy won't the cloud images work?07:29
koolhead17SpamapS: this is what i have done07:29
koolhead171. my own openstack infra is up and running07:29
koolhead172. over that i am trying to install juju and try/experiment with the charms07:29
SpamapSkoolhead17: great, so, load the Ubuntu cloud images into glance, and you should be all set.07:30
koolhead173. since my nova and internal network both are behind proxy i need to mention that info in my /etc/apt/config07:30
SpamapSkoolhead17: I don't think charms assume the ubuntu user.. but I do think juju might assume it for ssh purposes.07:30
koolhead17SpamapS: yes juju assumes, so  i was wondering if i should remaster the image creating a user ubuntu07:31
koolhead17:)07:31
SpamapSkoolhead17: well you can rebundle the Ubuntu cloud image with your changes.07:31
koolhead17SpamapS: cloud image has no username/passwd to i can log in with :(07:32
koolhead17smoser: suggested me another way, i will try to do that when am in office07:32
koolhead17SpamapS: cloud image log in is keybased07:32
koolhead17that is why i was using the amd64 image instead cloud image :(07:34
SpamapSkoolhead17: juju expects keys too07:36
koolhead17SpamapS: i think metadata server/nova does that 4 juju07:37
koolhead17SpamapS: let me ping you in say 1 hr once am there :)07:38
SpamapSkoolhead17: will be asleep by then07:40
SpamapSabout to sign off07:40
SpamapSkoolhead17: sorry... good luck tho.. :)07:40
koolhead17SpamapS: np. will keep you posted. :D07:43
_mup_Bug #898082 was filed: immediate agent restart fails <juju:New> < https://launchpad.net/bugs/898082 >09:43
niemeyerHello jujuers!11:58
koolhead11hello niemeyer :)11:59
rogniemeyer: mornin'!12:13
niemeyerkoolhead11, rog: What's up for the day?12:34
rogniemeyer: my aim for the day is (at least) to get go juju to start an instance with zookeeper running on it, with appropriate tests.12:35
niemeyerrog: Woohay!12:35
niemeyerrog: Mine is to unblock your ec2 branch :-)12:35
rogniemeyer: oh please, please!12:35
rogniemeyer: mind you, your reviews will probably skupper my forward progress at tip :-)12:38
niemeyerrog: Yeah, kind of expected.. sorry about that12:38
rogniemeyer: that's fine, it will be great to remove the sword dangling over my head...12:39
rogniemeyer: BTW when i come to implement a piece of functionality, i'm assuming if in doubt it's best to just port the existing python code (modulo Go structural changes) and all its heuristics, to try and avoid second system effect. is that the right thing to do?12:41
koolhead11hola rog :)12:41
rogkoolhead11: hi12:42
niemeyerrog: Absolutely12:42
rogniemeyer: good12:42
niemeyerrog: We can refactor down the road much more easily, and introducing more significant differences won't be a problem when there isn't a second version12:43
rogniemeyer: that's what i thought.12:43
koolhead11niemeyer: am not using the custom cloud image so i have 3 changes in my server image. 1. get cloud-init installed 2.user ubuntu needs to be created and my juju system publick key has to b there and at same time i need to have public key info of the image12:43
rogniemeyer: but it does mean that code is more complex initially than it would be for the functionality that currently exists12:43
rogs/would be/needs to be/12:43
niemeyerrog: Hmm, do you have some example?12:44
niemeyerkoolhead11: I'm out of context.. all of those things work well in a standard Ubuntu image. What's going on there?12:45
koolhead11niemeyer: am using 11.10 server 64 bit image12:45
koolhead11and just added info of my proxy server in it /etc/apt/config12:46
rogniemeyer: for instance, the cloudinit stuff talks about provisioners, but we don't have a provisioner yet12:46
koolhead11niemeyer: Cannot connect to machine i-0000002e (perhaps still initializing): Invalid SSH key 2011-11-30 18:15:15,815 ERROR Cannot connect to machine i-0000002e (perhaps still initializing): Invalid SSH key12:47
niemeyerrog: Can you paste a snippet just to make the idea more concrete?12:47
koolhead112011-11-30 18:16:05,767 DEBUG Spawning SSH process with remote_user="ubuntu" remote_host="192.168.4.4" remote_port="2181" local_port="49900".12:47
rogniemeyer: http://paste.ubuntu.com/754811/12:48
niemeyerkoolhead11: Yeah, for some reason it can't login into the ubuntu account12:48
niemeyerkoolhead11: It's really hard for me to tell you why because you have an image that does not match the standard cloud image, apparently12:49
rogniemeyer: the structure is somewhat different, but the code is pretty much exactly taken from the python12:49
niemeyerkoolhead11: I recommend trying to login, by hand, onto the machine12:49
niemeyerkoolhead11: ssh ubuntu@<ip>12:49
niemeyerkoolhead11: This should work12:49
niemeyerkoolhead11: If it doesn't, it means cloud-init failed to put your key in the proper location in the proper way, for reasons that will have to be found12:49
koolhead11niemeyer: its asking 4 passsword12:50
koolhead11niemeyer: but am not sure if ubuntu server iso has a user with name ubuntu :(12:51
niemeyerrog: I see your point. Haven't evaluated the code, but the structure looks fine.12:52
rogniemeyer: good.12:53
niemeyerkoolhead11: Yeah, it shouldn't ask for a password, because bootstrap sent your ssh key there12:53
rogniemeyer: that file is the moral equivalent of providers/common/cloudinit.py, BTW12:53
niemeyerkoolhead11: Which cloud-init should install in the system12:53
niemeyerkoolhead11: In the Ubuntu user12:53
koolhead11niemeyer:  0.6.1-0ubuntu2212:54
niemeyerkoolhead11: ?12:54
koolhead11my custom image has no user ubuntu12:54
koolhead11niemeyer: my cloud init version12:54
koolhead11:p12:54
niemeyerkoolhead11: You'll have to change your image so it behaves like the other cloud images.12:55
koolhead11niemeyer: and what all it will have apart from cloud-init, a user ubuntu ?12:55
niemeyerkoolhead11: I apologize, but I have no way to tell how your custom image differs from a standard image12:56
niemeyerkoolhead11: I'd use the standard images instead12:56
koolhead11niemeyer: okey. let me dig into it. Will keep you posted :D12:56
niemeyerkoolhead11: Cool, sorry about that12:57
koolhead11np12:57
rogniemeyer: BTW, i'm looking at get_user_authorized_keys in common/utils.py. how much of that is necessary? for instance, we haven't got an implementation of os.path.expandvars AFAIK, but perhaps that functionality isn't much used.12:58
* niemeyer looks12:59
niemeyerrog: I'm a bit surprised to see it there as well13:00
rogniemeyer: there's also the singular/plural thing, which i think is probably a bug in the original, if authorized-keys has more than one key13:01
niemeyerrog: How do you mean13:02
niemeyerrog: Ah, the comment13:02
niemeyerrog: The comment is bogus13:02
niemeyerrog: The name of the file is "authorized_keys", and it can contain more than one key concatenated to each other13:03
rogniemeyer: not just that. depends whether append can take an item and/or a list. i can check.13:03
niemeyerrog: That's where the name comes from13:03
rogniemeyer: it looks like authorized-keys is a key in the environment config file13:03
rogniemeyer: which contains literal keys13:04
niemeyerrog: ~/.ssh/authorized_keys is the name of the ssh file13:04
niemeyerrog: Where that setting will end up in13:04
rogniemeyer: but:13:04
niemeyerrog: The file accepts a concatenated list of keys13:04
rogif config.get("authorized-keys"):13:04
rog        return config["authorized-keys"]13:04
niemeyerrog: Yes, that's fine?13:04
rogisn't that getting a set of literal keys from the config file?13:05
niemeyerrog: This is getting a value from the config file13:05
niemeyerrog: That should contain the text to be inserted into ~/.ssh/authorized_keys13:05
rogniemeyer: so authorized-keys contains only one string?13:05
niemeyerrog: Yes, the text to be inserted into ~/.ssh/authorized_keys13:05
rogniemeyer: ok, that's cool then. i'm not familiar with all the ssh config stuff13:06
niemeyerrog: No worries13:07
rogniemeyer: presumably all the heuristics in get_user_authorized_keys are standard, but it's all somewhat opaque to me13:07
niemeyerrog: I'll change the Python version to remove the bogus comment13:07
rogniemeyer: hmm, in that case shouldn't it return the concatenation of all the keys in key_names?13:09
niemeyerhazmat: ping13:10
roglunch13:10
niemeyerrog: I don't know what you mean by that13:11
hazmatniemeyer, pong13:11
niemeyerrog: Well, potentially, but the current is fine as well13:11
niemeyerhazmat: Quick cowboying:13:11
* hazmat grabs a hat13:12
niemeyerhazmat: http://paste.ubuntu.com/754828/13:12
hazmatniemeyer, +113:15
niemeyerhazmat: Cheers13:15
hazmatniemeyer, was the variable stuff causing a problem?13:15
hazmatjust unexpected?13:15
niemeyerhazmat: Not exactly, but there's no _trivial_ function like that yet, and it's currently unused/untested/unnecessary in the Python side, so I decided to try the easy way of keeping the compatibility :)13:16
hazmatniemeyer, fair enough13:16
hazmati have to help out building a garage out back for a little bit, i'll be back in 40m13:17
niemeyerhazmat: Cool, see you soon13:18
hazmatlooks like thats already well in hand by others13:24
_mup_juju/trunk r422 committed by gustavo@niemeyer.net13:28
_mup_Removing bogus comment from get_user_authorized_keys (with13:28
_mup_justification comment), and removing untested/unused/unnecessary13:28
_mup_use of expandvars so that it's simpler to keep compatibility.13:28
_mup_[r=hazmat]13:28
niemeyerrog: ^13:28
rogniemeyer: thanks13:28
rogniemeyer: BTW is there a reason why authorized-keys-path isn't mentioned in environment/config.py ?13:28
rogniemeyer: doesn't that mean it won't be allowed if someone does actually try to specify it?13:29
niemeyerrog: No, should be mentioned13:29
rogniemeyer: and authorized-keys too, presumably13:30
niemeyerrog: as optional13:30
niemeyerrog: yeah13:30
rogniemeyer: hmm, shows it's not much used :-)13:30
niemeyerrog: It does not mean that, though13:30
niemeyerrog: Not really.. this is used by _every single deployment_13:30
rogah13:30
rogso any key not mentioned in environment/config.py is actually allowed?13:31
niemeyerrog: KeyDict doesn't kill unknowns13:31
rogniemeyer: ah, so unknowns just don't get any checking, but they still go in13:31
niemeyerrog: Right13:32
rogdamn, i was assuming that environment/config.py mentioned everything13:32
rogi wonder what other keys are lurking around13:32
rogniemeyer: just to check, both authorized-keys and authorized-keys-path should go in as String() ?13:33
hazmatfwereade, SpamapS was helping someone with orchestra last night (8hrs ago), and they pointed to some traceback they where able to get in juju.. http://pastebin.com/nybeHuxY just wondering if this rang any bells13:34
mplniemeyer: hi. do you want the logger to be used in the charm and schema packages as well? i.e should I replace fmt calls there to logF calls for example?13:36
fwereadehazmat, well, I can see what's *happening*, but colour me surprised13:36
hazmatf13:37
hazmatodd, my irc client spontaneously froze and reconnected13:37
* hazmat kicks xchat13:38
fwereadehazmat, I can take a proper look at it soon if you like?13:38
hazmatfwereade, the irc logs have some additional context, i dunno that it was setup correctly, but i doubt a user would know it from the traceback13:38
fwereadehazmat, well, it's weird, it looks like the data is coming back in a format it would be *lovely* if it did come back in, but hasn't IME13:39
fwereadehazmat, I'll kick it around and see what I can come up with13:39
hazmatfwereade, for context.. most of the  conversation with 'moozz' is here http://irclogs.ubuntu.com/2011/11/30/%23juju.html13:43
fwereadehazmat, I'm reading it, thanks :)13:43
rogniemeyer: looking in the final cloudinit code, it does seem to assume that each entry in ssh_authorized_keys is a separate key.13:52
rogniemeyer: it can put a prefix on every key, which won't work if there's more than one line in a key13:53
niemeyerrog: Where's that?13:53
rogin cloudinit/CloudConfig/cc_ssh.py13:53
rogin the cloudinit source13:53
rogniemeyer: line 98, in particular13:54
rogniemeyer: it will probably work de-facto because we won't be using disable_root but i think it's probably worth getting right13:57
rogniemeyer: add_ssh_key in common/cloudinit.py should probably be add_ssh_keys otherwise too13:59
niemeyerrog: Looking14:01
niemeyerrog: Yeah, there's a minor mismatch in the Python code indeed14:03
niemeyerrog: It's not broken because it never reaches the point of actually dealing with the keys14:04
rogniemeyer: i think get_user_authorized_keys should return a list14:04
niemeyerrog: Yeah, that sounds fine14:04
niemeyerrog: But it should not require a list from the user14:04
niemeyerrog: In the configuration/file, that is14:05
rogniemeyer: it's slightly broken, i think, because add_ssh_key can be called with multiple keys in the same string14:05
rogniemeyer: which will lead to the above mentioned mismatch in the final cloudinit code14:05
niemeyerrog: I mean it's not broken in the sense that it works14:05
rogniemeyer: unless you're relying on disable_root, i guess14:05
niemeyerrog: Which we're not, so it works14:05
rogniemeyer: yup14:06
niemeyerrog: You're right that it's logically incorrect14:06
rogi wonder if authorized-keys-path should allow a set of names14:06
niemeyerrog: No14:06
niemeyerrog: It should accept a single path, with a list of keys, in the well known format of an authorized_keys path.. no invention there.14:07
rogniemeyer: ok. so should get_authorized_keys make sure to return at most one key?14:07
roger, no14:08
niemeyerrog: Yeah, it sounds like a good interface as far as Go is concerned14:08
niemeyerrog: (keys []string, err error)14:08
rogyup. hmm, authorized-keys could accept a set of keys14:08
niemeyerrog: Well.. that said, it's trivial to test for list(keys) == 014:09
niemeyerrog: Hmmm.. but we need the error anyway, so +1 on (keys, err)14:09
niemeyerrog: and erroring if not keys are ofund14:09
niemeyerfound14:09
niemeyerno14:09
niemeyerErm14:09
roglol14:09
niemeyerrog: and erroring if no keys are ofund14:09
niemeyerOk, I can't type.. I hope you get it :)14:09
rogi do14:09
rogniemeyer: i do wonder about authorized-keys though14:10
niemeyerrog: It's too late to wonder.. it already has a format, and we should follow it for the moment14:10
rogniemeyer: presumably it will only allow one key currently (it'll probably produce a malormed cloudinit if you put in something else)14:10
rogok14:10
rogit should really be authorized-key :-)14:10
niemeyerrog: Nope14:11
niemeyerrog: For the same reason that authorized_keys is keys.. it accepts multiple keys.14:11
niemeyerrog: We can handle a list internally consistently, while accepting the authorized_keys format in those options14:11
rogniemeyer: sounds good14:11
_mup_juju/trunk r423 committed by gustavo@niemeyer.net14:29
_mup_Add a comment to get_user_authorized_keys pointing out the14:29
_mup_inconsistency spotted by Roger.14:29
rogniemeyer: actually, on balance, i think it's easier to treat the authorized_keys contents as universal currency, and do the split when marshalling the cloudinit file.14:30
rogthus http://paste.ubuntu.com/754923/14:30
niemeyerrog: Sounds fine, except this function looks weird14:31
rogand http://paste.ubuntu.com/754925/14:31
niemeyerrog: This feels like over-engineering things a bit14:32
rogniemeyer: it ends up simpler, i think14:32
niemeyerrog: get_user_authorized_keys is a single function, small, that does what we need14:32
rogniemeyer: currently, get_user_authorized_keys relies on poking inside config14:32
rogniemeyer: i was trying to avoid that14:32
rogniemeyer: and in the process make a more generally useful function14:33
rogniemeyer: but i'm open to different ideas14:33
niemeyerrog: The motivation is good, but there's missing functionality, and I'm afraid you'll end up implementing pretty much the full logic for the current function elsewhere, in addition to the generic version you came up with14:35
niemeyerrog: Well, or maybe not..14:36
niemeyerrog: I guess the problem is mainly on the documentation14:37
rogniemeyer: i think the only logic missing is this: http://paste.ubuntu.com/754934/14:37
rogwhich seems reasonable14:37
niemeyerrog: Agreed, you just have to fix the documentation14:37
niemeyerrog: This function doesn't _find_ an authorized_keys file, it _assembles_ one.14:38
rogniemeyer: it returns the contents of an authorized_keys file, no?14:38
niemeyerrog: Then, the fact it takes an argument is weird.. if you pass the argument in, this function becomes ioutil.ReadFile14:38
rogniemeyer: yeah, i know.14:39
niemeyerrog: No, read the Python function again14:39
rogah, no you're right it's not.14:39
rogit expands home dirs14:39
niemeyerrog: Ah, ok14:39
niemeyerrog: Sounds fine then14:39
rogniemeyer: that needs documenting tho14:39
niemeyerrog: Btw, your original point of assembling the file with all keys sounds fine14:40
jcastromainerror: ok I owe you some testing14:40
jcastroI mean marcoceppi14:40
rogniemeyer: good. i started to do it the other way, but this seemed better.14:40
niemeyerrog: That said, I wonder if we should be returning a list indeed.. it feels like a good point for doing that, even more given that we'll have to concatenate the keys14:40
rogniemeyer: i don't think we ever concatenate keys14:40
niemeyerrog: If you assemble the file with all keys, how do you plan to return all of them?14:41
rogniemeyer: there's only ever one file used14:41
niemeyer<niemeyer> rog: Btw, your original point of assembling the file with all keys sounds fine14:41
rogoh... do you mean my *original* point?14:41
rogback ages and ages ago14:41
niemeyer:-)14:41
rogi think i'd just concatenate them.14:42
niemeyerrog: I'd prefer to have a list..14:42
niemeyerrog: We'll need the list no matter what14:42
rogniemeyer: yeah, at one level or other.14:43
niemeyerrog: But, I'm fine either way14:43
rogniemeyer: i'll see how it goes with a list. i'll probably have a separate parse function14:43
niemeyerrog: Cool14:43
rogniemeyer: that's called by AuthorizedKeys14:43
rogniemeyer: the parsing is trivial, luckily14:43
niemeyerrog: Indeed14:44
rogniemeyer: is it possible for an authorized_keys file to be malformed?14:45
niemeyerrog: :-)14:45
rogniemeyer: just wondering whether ParseAuthorizedKeys needs to return an error...14:45
niemeyerrog: I'd say not at this time, at least..14:46
niemeyerrog: Btw, s/Parse/parse/, please14:46
niemeyerrog: Oh, crap.. we may need it to parse the config option14:47
rogniemeyer: hmm. i was thinking of having it in the public interface, so external agents can easily add their own authorized_keys files to cloudconfig if they want.14:47
niemeyerrog: Yeah, sorry, sounds sane14:48
rogoh yeah.14:48
rog*that*'s why i wanted to have it return a string14:48
rogbecause otherwise the external logic becomes more complex14:48
niemeyerrog: Ok, I'm convinced.. :)14:49
roglol14:49
rogi'll go with that until i decide otherwise :-)14:49
niemeyerOuch.. I missed a call14:50
hazmatniemeyer, when you've got a minute, i replied to the clean stop merge proposal, with some comments a  link to a stop protocol i'd like to discuss14:51
hazmats/and a14:51
jcastrom_3: ok I'm starting with phpmyadmin and then on to status net14:52
niemeyerhazmat: Cool.  I need to get some lunch, and will need to interview someone afterwards if I manage to reschedule the slot I just missed, but then we can talk.14:53
hazmatniemeyer, sounds good, i'm around, just ping14:53
niemeyerhazmat: Will do14:53
jcastromarcoceppi: ping me when you're around15:00
jcastrom_3: SpamapS: you guys too, we have an opportunity to bikeshed!15:00
mplrog: I'm having trouble setting a go env where I can satisfy all the deps at the same time without having to resort to gofix. (gotest, goetveld, juju itself etc). Have you decided on which go version you're following for most of the tools?15:07
rogmpl: i'm moving to weekly for everything15:07
mplhmm, and so is gustavo?15:08
rogmpl: some things i've run gofix on but not submitted a merge request. i've forgotten which ones :-)15:08
rogmpl: yeah, i think so. os.Error is just old hat these days :-)15:09
mplouch. gocheck for ex seems to still use os.Error15:09
mplexactly.15:09
rogmpl: i might have pushed a merge req for gocheck. i'll just see.15:09
mplthx15:10
rogmpl: yeah. https://code.launchpad.net/~rogpeppe/gocheck/fix-error-printing15:10
rogit's still pending15:10
rogniemeyer: ^15:10
mplok, good to know, thx.15:11
mplI wish there was a goinstall mode where it would run gofix on the fly.15:12
rogmpl: i think there's such a thing just been implemented15:14
mplcool15:15
m_3jcastro: yo15:39
jcastrom_3: hey so marco has a use_upstream config option15:39
m_3nice15:39
jcastrowhich is basically "get upstream instead of the package"15:39
jcastrowhich is fine, but I think that we should sort out what we should call it15:40
jcastroas I'm sure a bunch of charms will want to do this15:40
m_3right, discussed yesterday15:40
jcastroah ok15:40
* jcastro goes reading IRC logs15:40
* m_3 looks to see if marco added it to charm-tools15:40
m_3jcastro: may've been the day before... dunno15:41
jcastrooh ok15:45
jcastroso we have the same way for everybody, that's all I was asking15:45
jcastrom_3: thank you for not making it "promulgate_upstream=true"15:45
m_3ha!15:46
jcastrook the phpmyadmin stuff works for me15:46
m_3jcastro: cool... finishing ts3 review, then I'll do phpmyadmin15:47
jcastrook I think we have status.net incoming today too15:48
m_3rockin15:48
jcastrom_3: oh hey, remember to manually poke me when you accept one just in case I miss it, so I can start the blog entry15:48
m_3jcastro: cool... will do.  I'll ping you when it's actually promulgated to lp:charm... there's sometimes time delay between fix-released and prom15:49
* jcastro nods15:50
jcastroSpamapS: I'm going to start a wiki page on this: https://bugs.launchpad.net/charm/+bug/894825/comments/815:52
_mup_Bug #894825: Teamspeak charm needed <new-charm> <juju Charms Collection:Triaged> < https://launchpad.net/bugs/894825 >15:52
jcastroand add it to the steps, because we need to start forcing ourselves to document this15:52
SpamapSjcastro: right, charm guide. :)15:53
jcastroI was going to go with "charm snippets"15:54
jcastrobut ok, charm guide it is15:54
SpamapSI don't like the term snippets... it implies that this is trivial stuff.15:54
jcastroSpamapS: can you add the "get the tarball" one here to this page? That outta be enough for now.15:57
jcastrohttps://juju.ubuntu.com/CharmGuide15:57
SpamapSjcastro: Talk accepted for SCALE!!!15:59
jcastro\o/15:59
SpamapSjcastro: I wonder if we can use something like doxygen and have inline comment blocks document the charm helper API15:59
koolhead11SpamapS: hey16:00
SpamapSjcastro: ooo.. ignite talks http://www.socallinuxexpo.org/scale10x/events/upscale16:00
jcastroSpamapS: oh man16:01
jcastroSpamapS: I started saying "we should do one" but then that would be like 4 events for us16:01
robbiewplus we're sponsoring the Cloud & Virt track16:06
robbiewI think we're good ;)16:07
robbiewespecially if I can get the shirts sorted16:07
SpamapSI might do one16:14
SpamapSbut it won't be ubuntu or juju related.. just something funny I've been working on16:15
jcastroso far we'd do devops day lightning talk (if we can get it), charm school, and then our normal talk16:15
marcoceppijcastro: hey16:21
jcastromarcoceppi: lunching, catch you on the flip side, my ride is here16:21
m_3damn, "PTY allocation request failed on channel 0" suddenly crept up again for LXC16:21
marcoceppim_3: I get that all the time on another server, but only when I connect from Ubuntu, when I do it from a Mac OSX terminal, it doesn't occur.16:36
m_3marcoceppi: I have to flush the lxc cache when it happens... got about two weeks of lxc runs out of this last one16:39
* hazmat lunches16:48
fwereade_back shortly, early supper16:53
SpamapSm_3: have we reported that bug yet? seems like its an LXC bug16:55
jcastromarcoceppi: ok back, phpmyadmin worked for me16:56
jcastroI have a dumb question though16:56
marcoceppijcastro: Sweet! I'm still working on the package thing but that's coming along nicely16:56
jcastrowhat happens if you set the use_upstream config after you've deployed?16:56
marcoceppiOh?16:56
jcastroI tried setting it before I deployed, but got an error16:57
marcoceppiWell, use_upstream doesn't do anything16:57
jcastroah, so that's why I can't find anything in there16:57
jcastrook. :)16:57
marcoceppiin the latest pushed, what will happen - if the package is installed then it'll purge the package and do an install from upstream then re-generate the config, vice versa for upstream -> pkg16:58
marcoceppierr, when this is done - not latest pushed16:58
* jcastro nods17:00
jcastrothat will be handy17:00
jcastrothis could be an awesome use case right17:00
jcastroyou use the packaged version17:00
jcastroand then you run into a bug.17:01
jcastroyou report it and doing your due diligence you find it was fixed in the latest upstream release17:01
jcastroyou can "switch" the instances you care about17:01
jcastrotest, report back, then eventually -> SRU.17:01
SpamapSmarcoceppi: *saweeet*17:02
marcoceppiYeah, I hope to have it pushed up for review by the end of the day so I can call this one a wrap17:02
jcastro<317:03
SpamapSThough what would be really great would be an auto-backports PPA that just has all the latest versions of software in the Ubuntu dev release in it for all the supported versions so you don't have to go "off the reservation" :)17:03
jcastromarcoceppi: george's statusnet charm will need a review soon17:03
marcoceppiSpamapS: What's edge if you don't bleed a little :)17:04
marcoceppijcastro: Yeah, I was talking to him about it last night. He's just wrapping up a few logistics IIRC17:04
jcastromarcoceppi: awesome17:04
jcastromarcoceppi: that's 2 for him, we should get him reviewing soon17:05
jcastroI fear we will kill m_3 otherwise17:05
* marcoceppi should help review charms more too17:06
jcastroI saw a guy file a bug on cherokee webserver today17:06
jcastrolet's hope he's working on it. :)17:06
* SpamapS will review some stuff soon too. :)17:16
SpamapSjcastro: cherokee + ?17:16
jcastroit's a webserver17:16
SpamapSwebservers are not really charmable ;)17:16
SpamapSThey're as charmable as "python"17:17
SpamapSlike Johnny 5, they neeeeeeed iiinnnpuuuuuutt17:17
jcastrowell then, we'll see what he comes up with17:17
jcastroSpamapS: you need to explain the difference between that and things like ntp to me17:18
jcastrobut we can do that over voice later.17:18
jcastroie. how come ntp is charmable but not a web server17:18
SpamapSNTP takes input from the system clock, other NTP sources, etc.17:20
SpamapSsame w/ MySQL.. it takes input from mysql clients17:20
SpamapSso maybe cherokee + ftp for static hosting.. that would be a cool charm.17:20
SpamapSbut whats more compelling is like, cherokee + php-fcgid for a cherokee PHP framework charm17:21
jcastroSpamapS: nod17:23
jcastroSpamapS: is your talk scheduled? I'd like to announce our presence at scale on cloud.u.c17:23
m_3SpamapS: man... that's a blast from the past17:23
SpamapSjcastro: schedule seems to not be public yet.17:24
jcastrook17:24
SpamapSm_3: cherokee?17:24
m_3Johnny 517:24
SpamapSOH haha17:25
SpamapSSteeeeeeeefaaaanniieeeee17:25
m_3haven't reported lxc bug yet... haven't taken the time to root it out enough for a decent bug report17:26
m_3wasn't it like "no 5 is alive!"17:26
m_3title?17:26
mplniemeyer: ok, I have to ask now. what's wrong with using the standard log package for what you want me to do?17:41
niemeyermpl: What we discussed actually depends on the standard logging package17:42
niemeyermpl: It's just accommodating its usage17:42
hazmatjcastro, i'd add kafka to the list17:43
hazmatthe hot and hairy17:43
jcastrohazmat: apache kafka?17:44
hazmatjcastro, yup17:44
jcastroon it17:44
mplniemeyer: at the moment there's no output/printing afaics in the juju package. so I have the log.go file ready, but none of its funcs are used. should I add some test func (in config_test.go for example) which uses those log functions?17:49
m_3negronjl: jeez, I'm still testing mongo... the test-stack I was using yesterday had bugs and I chased down that rabbit-hole all afternoon17:49
niemeyermpl: Sounds good17:50
niemeyermpl: You can actually create log_test.go, though17:50
niemeyermpl: Since that's unrelated to config17:50
mplindeed17:50
mplniemeyer: I'm thinking instead of only one prefix ("JUJU "), there could be another one specifically for debug funcs (like "JUJU:DEBUG "). what do you think?17:52
niemeyermpl: Sounds like a good idea17:53
rogniemeyer: how're you feeling about go-juju-initial-ec2?18:00
niemeyerrog: I'm feeling bad, because I haven't sent you a review yet18:10
niemeyerrog: But bear with me, you'll have something today18:10
rogniemeyer: i'm feeling a bit like i'm on the end of a bendy branch, as i keep making modifications on a stack of 3 merge requests :-)18:11
rogniemeyer: am happy about that18:11
niemeyerrog: Yeah, it's time to go back to the bottom of the stack18:11
roghopefully some of what i've done in the meantime will still be valid18:12
niemeyerrog: I have the interview done, am organizing a project plan for something entirely unrelated that I was asked about, and will then dig onto it18:12
rogcool. i'll be finishing for the day in about 40 mins.18:12
niemeyerrog: I'm optimistic too18:12
niemeyerrog: Cool18:12
niemeyerrog: I'll should be in before that18:13
niemeyerrog: I should be in before that18:13
rogniemeyer: haven't quite got zookeeper running on an instance, but i have got AuthorizedKeys working properly, with tests.18:14
niemeyerrog: Sweet!18:14
jcastrom_3: I made a page for "gotchas" https://juju.ubuntu.com/CharmGuide18:28
jcastroif you want to expand the architecture bullet there18:29
m_3jcastro: cool18:39
rogniemeyer: i'm off for the day. looking forward to review in the morning, thanks in advance!18:48
rogsee y'all tomorrow18:48
niemeyerrog: Enjoy your evening!18:49
rogniemeyer: will do, i can taste the beer already....18:50
* SpamapS just uploaded charm-tools to precise18:56
hazmatbcsaller, jimbaker if one you have a moment, this branch could use a review.. lp:~fwereade/juju/unacquire-unlaunched-machine18:59
jimbakerhazmat, i will take a look at it19:00
SpamapSFailure: twisted.internet.defer.TimeoutError: <juju.control.tests.test_status.StatusTest testMethod=test_collect_filtering> (test_collect_filtering) still running at 5.0 secs19:12
SpamapShazmat: didn't you say you had some fixes for that?19:12
SpamapSwould like to get a more recent version of juju into precise for testing purposes19:13
hazmatSpamapS, i did, their on trunk19:14
hazmatSpamapS, as of last night19:14
SpamapShazmat: ahh, this was 420 .. we need 423 :)19:20
hazmatSpamapS, latest is 423, fixes are in 42119:20
* marcoceppi obligatory 420 joke19:20
hazmatword19:20
* SpamapS giggles19:21
SpamapSdarn, builders are busy.. 2 hours till they are tried19:22
jcastroSpamapS: awesome, while you wait you can review this:19:29
jcastrohttps://bugs.launchpad.net/charm/+bug/89774619:29
_mup_Bug #897746: Charm needed: Status.net <new-charm> <juju Charms Collection:New for george-edison55> < https://launchpad.net/bugs/897746 >19:29
* SpamapS reviews19:33
jcastroSpamapS: ok so in this case19:35
jcastroI was messing with it, and I got it wrong19:35
jcastroand the author was like "it _needs_ these three config options set or it doesn't work".19:35
jcastrohave we thought about a way of returning what config options are required for a service to work?19:36
SpamapSI suggested that optiosn w/o a default in config.yaml should prevent deploy without being set, but there was resistance to that.19:36
SpamapSoptions even19:36
SpamapSIts ok though19:37
SpamapSdeploy it.. thats fine. Don't open-port until you have all the config options.19:37
jcastroi wasn't thinking so black and white19:37
jcastrosomething like "W: this charm needs foo,bar, and baz set, see README" or somesuch19:37
jcastroand that totally gives me an out, I read the things I need, pass "juju set foo" and then keep going19:38
marcoceppiWhat's a case for blank config option that isn't a required?19:39
SpamapSYeah maybe a message about there being no defaults for those things.19:39
jcastroI think it's fine if juju just keeps going and let's me deploy19:39
SpamapS    description: The email address of the administrator (cannot be changed)19:39
SpamapSthat kind of sucks. ;)19:40
jcastroheh19:41
jcastroanyone know where "juju get" is documented?19:41
jcastroI only just discovered it now. :(19:41
marcoceppiSpamapS: not much of a configuration option, is it :)19:42
* SpamapS was supposed to write an argparse -> manpage generator at one point19:42
jcastroSpamapS: what we need is debconf for charms19:42
* jcastro runs away quickly19:42
SpamapSBTW, we need to change file_get to sha25619:43
SpamapSmd5sum *sucks*19:43
SpamapSjcastro: or an upstart for the cloud? ;)19:44
jcastromight as well fix that now19:44
hazmatjcastro, juju get --help19:46
marcoceppiSpamapS: which file get?19:46
jcastrohazmat: any idea why that isn't exported out to juju.u.c/docs?19:46
jcastroor is it supposed to be?19:47
hazmatits not19:47
hazmattheir inline docs to the impl19:47
hazmatwe don't assume the location of the docs from the code19:47
* jcastro nods19:47
hazmathmm those get/set both need some formatting help19:48
jcastroand a man page to point to all the subcommand thingies19:50
jcastroI did honestly try to look for it in a man page and the online docs. :)19:50
SpamapSmarcoceppi: btw, using a URL for the md5sum is not adequate in ch_get_file19:51
marcoceppiSpamapS: Why not?19:51
SpamapSmarcoceppi: unless it is retrieved over HTTPS and wget is set to verify certs19:51
marcoceppiohhh, duh19:52
SpamapSmarcoceppi: same problem as the tarball.. MITM. :)19:52
marcoceppiJust when I thought I had it all figured out19:52
SpamapSits ok19:52
SpamapSI heard one guy figured it all out, and then he turned into a real dick.19:52
marcoceppiI'll force a check for https with remote hashes then :)19:52
* SpamapS has luckily drunk enough alcohol to forget some, so not as much of a dick anymore19:52
SpamapSno you don't have to force that19:53
SpamapSjust make sure wget verifies certs, and that we have the ca certs installed19:53
marcoceppiBut if it's not over https, the whole functions point is nullified19:53
SpamapSpick that up on review19:54
SpamapSif people want to use it in a stupid way, let 'em. ;)19:54
SpamapS"enough rope to hang yourself, and then a little more"19:54
marcoceppiso, just plug along merrily if someone uses http:// ?19:54
marcoceppibut push a warning out with juju-log :)19:54
SpamapSa warning is a good idea yeah19:55
* marcoceppi doh=100; while [ doh > 0 ]; do juju-log "You should have had a V8, and used https"; doh=$((doh-1)); done19:58
hazmatbcsaller, jimbaker.. trivial re fix cli help formatting19:58
hazmathttp://paste.ubuntu.com/755300/19:58
jimbakerhazmat, taking a look19:59
bcsallerhazmat: just hooking the formatter used in other clis to commands where its missing19:59
bcsallerhazmat: looks fine to me19:59
hazmatcool, its a very trivial19:59
hazmatmakes the output significantly better though19:59
bcsallernice19:59
SpamapSmarcoceppi: another cool feature of ch_get_file would be to cache it so you don't have to re-download the next time install is run.19:59
SpamapSmarcoceppi: actually you can probably just do a conditional get based on file mod time20:00
SpamapSwtf? wget doesn't support automatic If-Modified-Since? that seems silly20:00
jcastrosurely curl does?20:00
jimbakerok, well i'm getting a mod_python error on the plain diff because i wanted to try it out (http://paste.ubuntu.com/openid/login/?next=/755300/plain/), but looks fine to me20:00
SpamapSjcastro: only an explicit date.. can't just give it a file20:01
marcoceppilame20:02
jimbakerspeaking of curl, i thought for bug 814974, it might be nice if the url being specified could also specify options for curl20:02
_mup_Bug #814974: config options need a "file" type <juju:Triaged by jimbaker> < https://launchpad.net/bugs/814974 >20:02
jimbakerso use curl to retrieve the desired doc, but also capture how it was retrieved20:03
_mup_juju/trunk r424 committed by kapil.thangavelu@canonical.com20:04
_mup_[trivial] fix cli long help formatting [r=bcsaller,jimbaker]20:04
hazmatniemeyer, did you have time to talk today?20:05
SpamapSjcastro: status.net reviewed.. minor problems that have to be fixed.. should be very easy. :)20:06
niemeyerhazmat: We can do that now if you want20:06
SpamapSjimbaker: hm. Interesting idea.20:07
hazmatniemeyer, invites out20:08
jimbakerraw tweak on help is definitely nice20:08
jimbakerSpamapS, using juju get, you would be able to retrieve this spec. config-get would of course retrieve the file uploaded as a consequence of juju set20:09
SpamapSjimbaker: metadata.. the bane of POSIX filesystems since the dawn of time. ;)20:10
jimbakerSpamapS, :)20:10
jcastroSpamapS: awesome, I'll poke him to check it out. When the time comes don't forget to ping me when you promulgate or whatever we call that now so I can blog about him20:11
SpamapSjcastro: ROCK THE BELLS20:12
jimbakerjust to be clear, what config-get would retrieve would be a url pointing to a copy of that uploaded file now being stored in the env20:12
jimbakereg in the s3 control bucket20:13
SpamapSjimbaker: right20:13
negronjlm_3: no worries about mongo .... no rush20:17
SpamapSare there any open source apps out there that make use of mongo?20:18
jcastroSpamapS: George Edison is a pseudoname20:23
jcastroSpamapS: nice to know you're checking copyright though!20:23
SpamapShah20:24
SpamapSyou people who turn your nose up at copyrights just don't appreciate how much being dicks about copyrights has helped Debian's longevity. :)20:25
jcastroI wasn't making fun of you, just noting your attention to detail20:26
SpamapSOh I don't take it personally.. I just think its funny that you guys are like "meh copyright, meh, license"20:27
SpamapSSomething wired weird in me thinks its cool. :-P20:28
SpamapSmarcoceppi: I love you man, but your email client sucks. kthxbai ;)20:29
SpamapSX-Mailer: Palm webOS20:29
jcastromarcoceppi: hey, not bad, only like 4 weeks from your first charm to someone making fun of your MUA. That's an impressive achievement.20:30
SpamapSseriously.. take a bow20:30
marcoceppiಠ_ಠ20:35
* marcoceppi bows20:36
jcastroSpamapS: charm updated.20:47
jcastroSpamapS: sorry to be so painful about it, I just am aching to blog this one20:47
obuissonhi all20:58
jcastroSpamapS: line 14: /usr/share/charm-helpers/sh/net.sh: No such file or directory21:02
jcastroSpamapS: ok so basically this means we'll need to install the charm helpers right?21:03
m_3obuisson: welcome21:07
marcoceppijcastro: you'll have to install charm-tools21:12
marcoceppias that provides charm-helpers21:12
jcastro@marcoceppi you mean the charm has to right?21:13
marcoceppijcastro: Correct21:13
jcastroso the first best practice is to install the charm tools so you can use the other best practices, heh21:14
* marcoceppi verifies21:14
jcastrobut then I have to enable the juju PPA on every instance21:14
marcoceppijcastro: not sure, checking if it's enabled by default21:15
* marcoceppi assumes the repo is added, waits for EC221:17
marcoceppijcastro: Yeah, it's in there. Just need to do an apt-get install charm-tools21:21
marcoceppioh, actually, just need do install charm-helper-sh21:21
marcoceppiSpamapS: Could you make wget a required dependency for charm-helpers-sh ? since it uses wget and it appears to not be installed by default21:31
m_3marcoceppi: looks like it's in there: http://bazaar.launchpad.net/~charmers/charm-tools/packaging/view/head:/debian/control21:36
m_3but I don't know for sure... still learning about packaging stuff21:36
marcoceppim_3: Awesome, I was wondering how the magic of packaging worked. I thought SpamapS  was just doing it by hand21:37
marcoceppiOh, looks like it already has the right dependencies too21:37
m_3marcoceppi: it's all juju (orig sense of the word)21:38
m_3that might not be what's made it to the package archives yet though...21:38
* m_3 checking version21:39
m_3apt-cache show charm-helper-sh shows 0.2+bzr85-4~oneiric1, but lp's at 8621:40
m_3dunno how to update it tho21:41
niemeyerAnd I hear it's Squash'o'clock21:41
niemeyerLaters21:41
m_30/21:41
marcoceppim_3: looking at debian/changelog revision 86 is package version 8521:42
marcoceppiso it's up to date21:42
marcoceppihttp://bazaar.launchpad.net/~charmers/charm-tools/packaging/revision/86/debian/changelog21:42
m_3gotcha... cool21:43
m_3negronjl: we could probably remove hostname from the mongodb and mongodb-replica-set21:45
m_3negronjl: it's finally up with a client that uses the replicaset (hopefully properly)... no problems yet21:46
m_3just twiddling with variations atm21:46
m_3(remove hostname from the _interfaces_ that is)21:47
* negronjl crosses fingers 21:48
negronjlm_3: when you break it ( 'cause I know you will ), let me know how so i can see about fixing it :)21:48
negronjlm_3: the implementation is not too robust21:49
* SpamapS returns from lunch21:51
SpamapSPackage: charm-helper-sh21:51
SpamapSArchitecture: all21:51
SpamapSDepends: wget, bind9-host, ${misc:Depends}21:51
SpamapSmarcoceppi: charm-helper-sh does depend on wget21:51
marcoceppiSpamapS: Yeah, I just saw that. I didn't realize it was already awesomfied21:52
SpamapSmarcoceppi: we should make it also depend on ca-certificates tho21:52
marcoceppitruth21:52
* SpamapS updates the packaging21:52
* jcastro EODs in a few.21:53
jcastroSpamapS: m_3 thanks for the reviews today chaps, good progress made today21:54
SpamapSjcastro: more fixes needed21:58
jcastroSpamapS: true22:00
jcastroI've been mulling a "you know what, we need to slow down and have a day where we clean up our existing ones."22:00
jcastrobut I haven't thought it through enough yet.22:00
SpamapScommented22:02
SpamapSIs George not able to IRC?22:02
_mup_juju/scp-command r418 committed by jim.baker@canonical.com22:08
_mup_Merged trunk22:08
m_3jcastro: we have been gradually cleaning up existing ones... taking more than a day tho :)22:09
jcastrom_3: yeah I just don't want to get in the habit of fast fooding charms when we can take the extra minute to sort out the charm-tool or whatever will make the next charms easier.22:10
m_3jcastro: agree 10%22:11
m_3er22:11
m_3100%22:11
m_3:)22:11
m_3just budget more than a day22:12
m_3otherwise people'll make charm changes without really testing the changes22:12
SpamapSsorry what?22:15
SpamapSI don't follow.. budget more than a day for making a charm?22:15
SpamapSOr for pulling common stuff into charm-helper?22:15
jcastroSpamapS: so like, at one point we say "ok we have X new charms, freeze is Y weeks away, let's chill on the new charms for a bit and do some review and tooling"22:22
jcastroso maybe removing custom bits with things that the charm tools offer as a convenience feature22:23
SpamapSHrm..22:24
SpamapSI'd think stuff like that is really early cycle, likely to break type change22:24
SpamapSTypically you build up debt as you approach release.. then you pay it back when you can take time to deal with the fallout.22:25
SpamapShaving 5 ways to wget+md5sum is just tech debt22:25
SpamapSand converting them to use CH is paying that back.22:26
SpamapSjcastro: but I see what you're getting at.. and would agree that there needs to be *some* period of such change.22:26
jcastroSpamapS: hey man, it's not even december yet, let it wild west for another month I say22:27
jcastro:)22:27
SpamapSI'm trying to decide when to switch from oneiric to precise even.22:27
SpamapSFeels like we should just auto-backport all new charms to all old releases, and fix them as problems are found.22:27
SpamapSBut.. nah.. we'll just let people bzr push their charm into the old release if they think its appropriate.22:28
SpamapSrelease day is just when dev focus changes to the new dev release of Ubuntu22:29
m_3SpamapS: all I was saying is that it takes more than a day to refactor and/or clean up all the charms we already have22:47
m_3SpamapS: BTW, is it possible to 'crossbuild' for different releases?  i.e., build a package for natty on an oneiric instance?22:49
m_3I've been only trying to build natty on natty, oneiric on oneiric22:49
* m_3 mess of VMs lying around22:50
SpamapSm_3: yes thats what pbuilder and sbuild do :)22:50
SpamapSI don't use VMs.. I just have chroots for everything22:50
SpamapSm_3: install ubuntu-dev-tools and 'man mk-sbuild'22:50
SpamapSsbuild is "tha bomb"22:50
m_3ahh... yes, that'd be more lightweight <grin>22:50
m_3I thought 'bzr bd' was the bomb22:52
SpamapSm_3: bzr bd was the bomb, but now its just a tool.. sbuild is *BLOWIN UP*22:59
* SpamapS gets freakizzle in the hizzle22:59
SpamapSm_3: and agreed, it will take a long time to refactor all of them. What we should do instead is just identify an issue when we see it, and file a bug.. and any time we're fixing one bug in a charm, make sure to fix any of these other lingering issues.23:00

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