[00:29] <Azendale> I'm using the local lxc provider on trusty, with the "default-series: trusty" option. Whenever I try to deploy a non-trusty charm, it never finishes (stays in pending state), and the log says "machine-0: 2014-06-22 00:28:59 ERROR juju runner.go:220 worker: exited "environ-provisioner": failed to process updated machines: cannot start machine 9: no matching tools available". How can I upload tools for all versions?
[00:47] <AskUbuntu> Upload all release versions of tools with juju's local (lxc) provider? | http://askubuntu.com/q/486542
[01:16] <jose> Azendale: I think that is set on your environments.yaml file, lemme double check
[01:18] <jose> Azendale: nope, I was wrong, you need to use `--upload-tools precise`
[02:40] <ali1234> Azendale: you have to use "default-series: precise"
[02:40] <ali1234> otherwise "bad things will happen"
[04:20] <thumper> anyone around for charmhelpers help?
[04:21] <jose> thumper: I know a bit about them but may be able to help, what's up?
[04:21] <thumper> jose: I'm looking for a function to ensure that a symlink exists
[04:21] <thumper> that checks source and target
[04:21] <thumper> know of any
[04:21] <thumper> or shall I write one
[04:21] <jose> hmm, maybe that's in python itself?
[04:21] <jose> shouldn't that be something like a 'if file exists'?
[04:22]  * thumper shurgs and looks
[04:23] <thumper> os.path.islink exists
[04:23] <thumper> but how do I find the source?
[04:24] <jose> what do you mean?
[04:24] <jose> like, the source where you need to point the function to check?
[04:25] <jose> well, if you're writing a charm then you should know where that one is installed
[04:26] <thumper> hmm...
[04:26] <thumper> I guess I only need to check that the target exists, and is a link
[04:26] <thumper> yes, in a charm
[04:27] <thumper> so... should be enough perhpas...
[04:27]  * thumper pokes
[04:28] <thumper> jose: ok, so effectively I want something like this:  ensure_symlink('/srv/nginx.conf', '/etc/nginx/sites-enabled/foo.conf')
[04:28] <thumper> looks at the second param to see if the link exists
[04:28] <thumper> and if so, make sure it points to the first param
[04:28] <thumper> if not, delete it
[04:28] <thumper> then make a link if not there (or just deleted it)
[04:28] <jose> sorry, /me was looking at another channel
[04:29] <thumper> so... given a symlink at /etc/nginx/sites-enabled/foo.conf, how can I check it points at /srv/nginx.conf
[04:29]  * thumper looks at more python docs
[04:29] <jose> ok, so I wouldn't see a case where it won't point there (if you told the charm to do that)
[04:29] <jose> thumper: you already got through verifying that the symlink existed, right?
[04:30] <thumper> sure, os.path.islink works
[04:30] <jose> ok
[04:31] <jose> thumper: os.readlink('/srv/nginx.conf')
[04:31] <jose> not sure what's the format in which it's returned, though, you may need to give it a try
[04:31] <thumper> awesome
[04:31] <thumper> that's it I think
[04:32] <jose> if you find the way it prints it out and do an if, then problem solved :)
[04:36]  * thumper upgrades charm again
[04:37] <jose> thumper: just so you know, os.readlink('/srv/nginx.conf') should return this "    '/etc/nginx/sites-enabled/foo.conf'    " (remove the spaces and the quotes
[04:37] <jose> so it should be just this:
[04:37] <jose> '/etc/nginx/sites-enabled/foo.conf'
[04:37] <jose> including those quotes
[04:44] <thumper> jose: with logging: paste.ubuntu.com/7683418/
[04:44] <jose> lemme check
[04:44] <jose> (but gimme a min, I'm finishing deploying a cloud on a cloud)
[04:48] <thumper> jose: oh, it works
[04:48] <thumper> don't worry about that :-)
[04:48] <thumper> I should get around to submitting some nice utility functions for charmhelpers
[04:49] <thumper> perhaps jcastro_ or marcoceppi should poke me about it on a Friday afternoon
[04:49] <thumper> I should also extract the nginx code from my app subordinate for python-django charm
[04:49] <jose> thumper: well, glad I could help :) if you have any questions just go ahead and ask
[04:49] <thumper> and make it a generic subordinate
[04:49] <jose> that'd be cool, if it deploys good
[04:49] <thumper> or alternatively, add nginx to the python-django charm as an option
[04:55] <jose> thumper: ever played with openstack?
[04:55] <jose> (like, deploying)
[04:56] <thumper> only some basics
[04:57] <jose> ah, nvm, /me missed a letter on the URL :P
[04:58] <thumper> :)
[06:39] <AskUbuntu> What does "LDS" stand for in the openstack reference implementation? | http://askubuntu.com/q/486609
[08:39] <Simhon> questions about maas installations goes here ?
[08:40] <Simhon> I am installing maas controller from the ubuntu cloud documentation, does the maas should be installed on a desktop or server ubuntu os ? or it does not matter any of the two....