#juju 2011-12-19
<shazzner_> yay my gitolite charm is finally working :)
<shazzner_> https://bugs.launchpad.net/charm/+bug/906176
<_mup_> Bug #906176: Gitolite charm <new-charm> <juju Charms Collection:New> < https://launchpad.net/bugs/906176 >
<shazzner_> pretty sure it doesn't meet all criteria for inclusion but wanted to get it in there
<poolie> hello?
<koolhead11> hi all
<niemeyer> Goooood mondays!
<koolhead11> :P
<rog> niemeyer: yo!
<niemeyer> Hey guys
<nijaba> good morning charmers and hackers!
<nijaba> shazzner_: I posted a few comments on you new charm bug for gitolite
<_mup_> juju/go-new-revisions r15 committed by gustavo@niemeyer.net
<_mup_> Integrated new tip and fixed it.
<koolhead11> quick question
<koolhead11> juju deploy --repository=example local:mysql
<koolhead11> does not work for me
<koolhead11> but
<koolhead11> juju deploy --repository=/home/atul/example local:mysql  does work
<koolhead11> so am i supposed to give complete path?
<koolhead11> or since i was not in my home directory while running juju deploy --repository=example local:mysql
<koolhead11> i got the error
<koolhead11> also i wrote a charm and trying to deploy it, i got state: install_error
<nijaba> koolhead11: juju deploy --repository=example local:mysql will work if you are in the parent dir of example
<koolhead11> how can i see that error in detailed form?
<koolhead11> nijaba: yes, got that part :P
<nijaba> koolhead11: juju debug-hook in one terminal, then juju resolved --retry in another
<nijaba> koolhead11: in the juju debug-hook window you will sent be able to manual execute hooks/install and see what went wrong
<nijaba> s/sent/then
<koolhead11> nijaba:  juju debug-hook gives nitthing, am i supposed to provide some argument too
<nijaba> koolhead11: juju debug-hooks needs to be given a unit name and should open a terminal session on the unit
<nijaba> juju debug-hooks --help
<koolhead11> nijaba: thanks am inside the box.
<koolhead11> nijaba: also am i supposed to do some config changes after installing juju to see /var/log/juju ?
<nijaba> koolhead11: /var/log/juju?  was not aware there was such a thing.  I always use the command 'juju debug-log' to see juju's logs
<koolhead11> nijaba: cool. got it. :)
<koolhead11> http://askubuntu.com/questions/81818/failure-to-troubleshoot-a-juju-charm-deployment
<koolhead17> i have one more issue http://paste.ubuntu.com/775206/
<koolhead17> i had to forcefully switch off my machine while juju was running
<koolhead17> now juju -v bootstrap giving me this error
<koolhead17> i had to do sudo juju -v bootstrap to get it working
<koolhead17> hi again
<koolhead17> hostname=`unit-get public-address`
<koolhead17> i can define it in my install hook
<mchenetz> Morning
<niemeyer> koolhead17: So, what's up there?
<koolhead17> [19:11] <koolhead17> this is the modified owncloud install script http://paste.ubuntu.com/775300/ [19:11] <koolhead17> and this is the error am getting http://paste.ubuntu.com/775293/ [19:11] <koolhead17> hostname: unbound variable
<koolhead17> am i supposed to do anything else
<koolhead17> in the charm
<niemeyer> koolhead17: It's telling you that the $hostname variable is unbound
<niemeyer> koolhead17: Which is true
<niemeyer> koolhead17: You have to fix it
<koolhead17> niemeyer: where am i supposed to mention about that
<koolhead17> https://code.launchpad.net/~koolhead17/charm/oneiric/owncloud2/trunk
<koolhead17> am modifying this
<koolhead17> after testing it on my juju env
<niemeyer> koolhead17: Sorry, I don't understand the question
<niemeyer> koolhead17: You see the error message you pasted there?
<niemeyer> 2011-12-19 13:24:57,987: hook.output@ERROR: /var/lib/juju/units/owncloud2-0/charm/hooks/install: line 5: hostname: unbound variable
<koolhead17> niemeyer: yes
<niemeyer> koolhead17: Go to line 5 of your script
<niemeyer> koolhead17: What do you find there
<niemeyer> ?
<koolhead17>   5 juju-log "Retriving  hostname: $hostname"
<niemeyer> koolhead17: Precisely
<niemeyer> koolhead17: Now, what does the error message say>?
<koolhead17> $hostname variable is unbound
<niemeyer> koolhead17: Right.. and where is it being bound/defined?
<koolhead17> niemeyer: just below that line
<koolhead17> got it
<niemeyer> koolhead17: Bingo
<koolhead17> :)
<koolhead17> lemme rerun it
<koolhead17> :P
<koolhead17> niemeyer: am looking at exiting juju charms 4 writing one
<niemeyer> koolhead17: That's a great approach
<koolhead17> i will update this trunk and need a review on same once am done.
<koolhead17> although i also need to work on integrating mysql db in same currently it works with sqlite
<niemeyer> koolhead17: That'll be fun
<niemeyer> koolhead17: Charms get a lot more exciting once they start to glue things together
<koolhead17> niemeyer: i have my charm ready now without mysql :D
<koolhead17> its working on my LXC
<koolhead17> :D
 * koolhead17 is happy
<koolhead17> need to know about getting mysql part integrated
<niemeyer> koolhead17: Woot
<koolhead17> niemeyer: i have a owncloud2 charm running which uses sqlite
<koolhead17> :D
<koolhead17> SpamapS: suggested me to keep mysql optional
<jcastro> owncloud will be a great charm
<koolhead17> jcastro: i will have it uploaded once am home, but it will use sqlite by defualt. am working on mysql integration as well. hopefully that will be added in few days too :D
<nijaba> hazmat: : Hello. thanks for the pointer to twisted.conch.  do you know if that will support scp and rsync as well?
<nijaba> hazmat: the answer is no: "    def execCommand(self, proto, cmd):
<nijaba>         raise Exception("no executing commands")"
<nijaba> or I guess I would need to implement it
<jcastro> koolhead17: that will be great!
<jcastro> nijaba: thanks for the review on gitosis!
<koolhead17> jcastro: if you will help me with bzr merge issue i will upload the latest working charm at launchpad
<koolhead17> :P
<nijaba> jcastro: my pleasure
<jcastro> niemeyer: random idea for you:
<jcastro> we should do a large "juju status juju"
<jcastro> we haven't really told anyone what's going on at a macro level since UDS.
<jcastro> not changelog-regurgitation level, but more things like "We want to do what we call colocation, it does foo, bar, and baz, and we need it for certain charms to do foo,bar, and baz, and for this and that."
<jcastro> "So far so-and-so has finished this part and that part, so we're making good progress there, we expect that to be ready to test in a few months."
<koolhead17> jcastro: is there a way one can help in updating juju wiki?
 * koolhead17 will upload owncloud2 charm from home
<jcastro> I have a work item/rt ticket to sort out the ACLs
<robbiew> koolhead17: \o/ on owncloud2...nice
<koolhead17> robbiew: yes sir. :P
<robbiew> sweet
<jcastro> SpamapS: Is there an easy way to see who has submitted which charms?
<jcastro> other than just going through the list of course
<jcastro> sorry I should specify, is there an easy way to see who has submitted charms that have been accepted into the store
<niemeyer> jcastro: That sounds good
<jcastro> ok so maybe for this week's team call at the end I'll record it and then everyone can just say what they're working on in a few sentences and then I can write it up
<amithkk> How do i make a charm :D
<niemeyer> jcastro: It may be tricky to go that way
<niemeyer> jcastro: The call will get long and boring, _or_ it won't be enough to give you good contnet
<niemeyer> content
<niemeyer> jcastro: I suggest email for that
<jcastro> ok
<jcastro> niemeyer: should I just mail people directly or use the list you think?
<niemeyer> jcastro: I suggest mailing the list with your idea, and then building up content somewhere like the wiki
 * jcastro nods
<koolhead17> so when i say "juju add-relation wordpress mysql" the hook db-relation-changed gets invoked/working for wordpress?
<m_3_> koolhead17: yes, it will often get fired multiple times until all the relation-set calls have resolved
<koolhead17> m_3_: say i have a charm which by default uses sqllite and for that i have not created ant db-realtion-changed file
<koolhead17> now since i have mysql as optional Requires: in my yaml
<koolhead17> now what i see is the configuration file gets written once i select either mysql or sqlite via dashboard
<m_3_> koolhead17: so I'd maybe do this by specifying sqlite during install and then have the mysql db-relation hooks change this config and restart... (?)
<koolhead17> m_3_: got my answer!! :P
<koolhead17> this is what i was looking for
<m_3_> requiring a config setting first, and _then
<m_3_> _ relating is more work
<koolhead17> m_3_: i will need your help in sometime. :)
<m_3_> koolhead17: sure, just ping me
<shazzner_> nijaba: thanks for your feedback on the gitolite bug report
<koolhead17> cool
<nijaba> shazzner_: my pleasure
<nijaba> m_3_: thanks for the vote of confidence :)
<nijaba> m_3_: what's the policy about your own charms? wait for someone else's review or bypass?
<marcoceppi> nijaba: Wait for review :)
<m_3_> nijaba: don't think we have a policy per se... it's a good idea to mark it as 'new-charm' and wait for review
<nijaba> marcoceppi, m_3_: ok, sounds very reasonable
<mchenetz1> Good afternoon
<jelmer> hi mchenetz1
<mchenetz> Hi jelmer
<koolhead17> hi
<koolhead17> if someone has time to review owncloud2 charm https://code.launchpad.net/~koolhead17/charm/oneiric/owncloud2/trunk
<koolhead17> it will be good
<koolhead17> as of now i am able to get default sqlite working. am working on mysql part as well
<m_3_> koolhead17: please tag the corresponding bug with 'new-charm' and relate the branch.  It'll get added to the charm review queue
<koolhead17> m_3_: ok
<koolhead17> jcastro: got your mail thanks :)
<mchenetz> Working on a gccless version of the brew repo and easy_install, will update shortlyâ¦ Next up Virtualbox provider...
<robbiew> jcastro: so what if we took the juju world tour spreadsheet and made a blueprint with workitems on it?
<robbiew> or do we already have that?
<robbiew> then we can have assignees to each item...knock them out as the go from TODO to DONE
<jcastro> robbiew: I have a call with michelle tomorrow hopefully, where I hope to merge that one with the overall list
<jcastro> and then we can make WIs into it if you'd like?
<jcastro> I plan to have the entire worksheet/list done before break
<robbiew> jcastro: just thinking it would be good for external folks to have an idea of where we plan to be...could just wikitize the list too, I suppose
<robbiew> cool deal
<jcastro> ok I'll make a note to have it in an easily consumable manner
<robbiew> blueprinting is probably overkill...K.I.S.S.
<robbiew> so...nevermind...I'll let you do your job
<robbiew> ;)
<mchenetz> What does jcastro do with Ubuntu/juju?
<robbiew> EVERYTHING!!!!
<robbiew> lol
<jcastro> robbiew: I think an easy fix would be a wiki page + adding it to the fridge calendar or something
<mchenetz> heheâ¦ I am trying to figure out who does whqt
<robbiew> ack
<robbiew> mchenetz: well...depends on what you need...;)
<jcastro> mchenetz: I'm your cloud community liaison.
<robbiew> jcastro: is a good first start for everything ;)
<jcastro> but I can't find your nick in the directory?
<mchenetz> robbiew: I don't need anything as of yet. :-) I am still just contributing what I can to a project a whole heartedly believe in
<jcastro> robbiew: ok I'll make something after I integrate this with michelle
<robbiew> mchenetz: amen to that ;)
<jcastro> I want to avoid multiple event lists (again)
<jcastro> mchenetz: oh dude, you're our soon-to-be-OSX hero!
<robbiew> jcastro: ack...multiple lists suck
<mchenetz> jcasto: I hope to get a easy install for osxâ¦ I am not sure what the end result will be. I think that the "Easy_install" program and/or python setup.py scripts will be the best way. The only piece i need to figure out is how to distribute some precompiled dependendies
<mchenetz> I may end up packaging a install for those who do not want package management too..
<jcastro> do you happen to know what it needs for something like the OSX store?
<jcastro> the main OS store, not the iOS one
<mchenetz> jcastroâ¦ I can look into thatâ¦ I don't think it takes too much. I forgot about it actuallyâ¦ :-)
<mchenetz> I did some iOS development a while back and i think it is pretty similar in terms of the procedure
<mchenetz> hmmmâ¦ IOS jujuâ¦ hehe
<mchenetz> Android juju
<mchenetz> juju juju
<mchenetz> hehe
<jcastro> yeah it's just that "Go find it in your OS store" rolls off the tounge better than "check out easy_install yo."
<jcastro> whatever keeps EvilBill happy.
<mchenetz> your rightâ¦ Give me a few daysâ¦ I'll figure it out
<mchenetz> THe only reason i like a repo like easy_install or brew is that you can automagically update versions
<jcastro> if you get something sort of working, ping me, we can screenshot it and get the word out at least, in that way if you get stuck we'll at least have something
<jcastro> <--- your media tool
<mchenetz> jcasto: sounds good
<mchenetz> right now, my brew repo (I believe) works, along with easy_installâ¦ The only thing isâ¦ you need Xcode installed
<mchenetz> I am not sure if you guys looked at: https://idserver.inventivedigital.com/wiki/pages/W2g0F6q6a/Juju_Brew_Repo_V01.html
<robbiew> jcastro: ^ looks like cloud.u.c material to me! ;)
<jcastro> oh nice!
<jcastro> robbiew: let me wiki this first, so we have one canonical place for OSX people to look
<jcastro> mchenetz: who has tried this so far?
<mchenetz> Jcastro: I haven't got any feedback yetâ¦ I tried it on 3 of my macs and it worked with either method
<mchenetz> The easy_install seems to be a little easier thogh
<mchenetz> I really would love comment
<jcastro> awesome, ok, I can help you there.
<jcastro> is that curl from a github gist the right way to install brew?
<mchenetz> yes
<jcastro> hah, awesome
<jcastro> mchenetz: ok I'll post this to the list first
<jcastro> ask for some testers
<jcastro> then I'll put the word out on cloud.u.c
<mchenetz> jcastro: Thanksâ¦ Yeah, testing would definitely be good first
<mchenetz> Okay, back to working on the virtualbox provider...
<jcastro> https://juju.ubuntu.com/OSX
<jcastro> how's this look?
<jcastro> is easy_install available by default on OSX?
<mchenetz> Easy_install is eavaialbe by default
<jcastro> ah, but you still need xcode?
<jcastro> which one needs xcode installed, both?
<mchenetz> yes because, i think, txzookeeper needs to be compiled
<mchenetz> they both need Xcode right now
<mchenetz> You don't need to do anythingâ¦ It' just needs to be installed
<mchenetz> it looks good except in firefox, the easy_install line on the wiki doesn't wrap for some reason
<marcoceppi> mchenetz: Doesn't wrap in Chrome either
<jcastro> that's just a sucky wiki
<mchenetz> hehe
<mchenetz> my default, piece of crap, osx server wiki wraps. :-)
<mchenetz> yeah, it doesn't wrap on my new Nexus either. :-) No wrappy
<shazzner__> how would it best work for adding a distributed fs relation for gitolite?
<shazzner__> if I add a relation, copy the contents of the local repository to the mounted directory?
<shazzner__> and if the relation is broken, copy the contents back?
<shazzner__> trying to figure out the best way to approach this
<m_3_> shazzner__: so your charm uses a particular directory for serving repos..
<m_3_> shazzner__: we could use an nfs-client hook to mount that directory from an nfs server (for instance)
<shazzner__> yeah by default it creates a repositories folder in the home directory
<m_3_> so basically the charm would default to using the local filesystem
<shazzner__> yep
<m_3_> but then that local filesystem is an nfs mount from the server
<shazzner__> oh I see what you mean
<m_3_> that would be a little brittle potentially
<shazzner__> yeah
<m_3_> but would allow you to potentially turn the nfs server into longer-term storage
<m_3_> but would also allow for horizontal scaling (if desired)
<shazzner__> right
<shazzner__> I'm shooting for optional ceph, nfs relations
<m_3_> right... that sounds cool
<shazzner__> but this cloud scaling stuff is new to me haha
<m_3_> I'd recommend making it solid without the distributed filesystem hooks
<shazzner__> yeah, that's my first step
<m_3_> there are lots of cases where you really want that... and it'd be fun to add in later
<shazzner__> it's functional now, but needs some clean up
<shazzner__> yeah :)
<m_3_> git on a remote mount would probably be pretty slow and not need the horiz scaling that it would enable
<shazzner__> then gitweb hooks etc
<shazzner__> true
<m_3_> never know though... and again, it'd be fun to add in :)
<shazzner__> "fun" ;)
<jcastro> shazzner__: welcome to #juju, thanks for working on this charm!
<shazzner__> hello Jorge, thank you :)
<shazzner__> I wonder if gitweb should be an option component to gitolite or a separate charm
<jcastro> can you swap out different UIs with the different hosting solution ones?
<m_3_> shazzner__: great question... dunno.  it'd probably be easy to add it as a configurable option... but makes sense either way
<jcastro> shazzner__: want to do gitourious next? :)
<shazzner__> for gitweb all you need is a path
<shazzner__> jcastro: haha maybe, I just picked gitolite since I've worked with it before
<m_3_> jcastro: should file a bug for osx testing... somebody can pick it up from there
<statik> I'm about to test on OSX now
<jcastro> m_3_: I will do that, I just want to know if it works on more than one person's machines, then do a proper call for testing
<m_3_> cool
<jcastro> i've had 2 people ping so far which is good.
<jcastro> I just want to make sure it's not totally hosed before exposing it on cloud.u.c
<m_3_> yeah, I need to install juju on the wife's machine :)
<m_3_> last time I installed stuff didn't go over well tho
<jcastro> I learned never to touch her machines unless it's an LTS.
<jcastro> :)
<jcastro> mchenetz: ok so I'll have one bug for "getting juju working on osx"
<jcastro> and then I'll ask people who find bugs to file new ones and tag them "osx", sound like a plan?
<nijaba> m_3_ or jcastro or marcoceppi: SpamapS seems to be off today, and I think I should go ahead and fix bug #906030.  Could you please give me a +1 on doing the merge?
<marcoceppi> nijaba: Link?
 * marcoceppi LAZY MODE ENABLED
<nijaba> https://bugs.launchpad.net/charm-tools/+bug/906030
 * nijaba was expecting mup to provide the answer...
<nijaba> _mup_: hello?
<nijaba> niemeyer: is there a problem with mup?
<m_3_> nijaba: there was talk about part of it migrating to juju-dev, but it doesn't look to be up there either
<m_3_> nijaba: mup, that is
<nijaba> _mup_: ok.  I think we would still want the bug part of mup here, at least for charms
<nijaba> that was meant for m_3_
<m_3_> ha!
<marcoceppi> nijaba: +1 from me, everything seems to work here.
<nijaba> marcoceppi: thanks
 * marcoceppi prepares to merge, m_3_ has about 60 seconds to yell NO!
<nijaba> marcoceppi: would'nt mind the pleasure of doing my 1st merge
<marcoceppi> Hey! You're in the Charmers group now \o/
<marcoceppi> merge away
<nijaba> marcoceppi: thanks
<m_3_> marcoceppi: haven't run the test suite myself, but it looks fine
<marcoceppi> m_3_: Tests were happy here
<m_3_> kewl
<jcastro> "haven't run the test suite myself, but it looks fine"
<jcastro> calibrated eyeball Mark?
<nijaba> jcastro: the size of the change is indeed ridiculous
<m_3_> jcastro: just read the code in the MP... didn't pull it to test
<m_3_> it's a "trivial" as they say in juju core-dev
<jcastro> heh
<jcastro> marco ran the tests. :p
<m_3_> charm-browser parses readme files... woohoo!
 * m_3_ work-item: add readmes _everywhere_
<jcastro> ooooh when did that land
<jcastro> http://charms.kapilt.com/charms/oneiric/roundcube
<jcastro> woo!
<nijaba> jcastro: last week
<nijaba> jcastro: did you do something on limesurvey or do you want me to blog about both?
<jcastro> I did limesurvey
<jcastro> I need the mail one
<nijaba> jcastro: sorry, missed it then :(
<jcastro> and I asked Clint to add a part 2 to the limesurvey one to talk about how charm authors can test with haproxy to make sure it all works.
<jcastro> http://cloud.ubuntu.com/2011/12/quick-and-easy-surveys-on-the-cloud-with-juju-and-limesurvey/
<jcastro> nijaba: I talked to translation and I'll talk to other teams about using it for ubuntu related stuff
<jcastro> run your own survey for your ubuntu team sort of thing
<nijaba> jcastro: this is what I have been using for the server survey... but I did not have the charm
<nijaba> jcastro: nice piece. Thanks
<nijaba> marcoceppi: merged done.
 * nijaba feels so empowered :P
<jcastro> https://juju.ubuntu.com/CharmGuide
<jcastro> marcoceppi: ^^
<jcastro> might want to mention common functions that new people might need
<nijaba> jcastro: nice choice of example :)
<nijaba> hazmat: thanks for the great change to the charm-browser, I like it!
<koolhead17> do we need charms for mail server like postfix?
<nijaba> koolhead17: yes, we do, but it is a tough one to do properly
<nijaba> koolhead17: actually, the imap part is the toughest
<koolhead17> hmm.  //o.0\\
<koolhead17> because most of the CMS and webapps also needs mail server 4 sending user credentials and stuff
<nijaba> koolhead17: look at what I did in limesurvey or roundcube
<nijaba> koolhead17: for now, let's rely on external ones
<koolhead17> nijaba: okey.
<koolhead17> my problem is am working on local LXC of mine :(
<nijaba> koolhead17: the biggest problem for imap is that it is a tough one to scale
<koolhead17> true
<nijaba> koolhead17: and you can't send email to any smtp server you want through it?
<koolhead17> yes
<nijaba> not sure how to interpret your yes.  are you able to or not? sorry
<koolhead17> nijaba: yes i got it.
<nijaba> k
<koolhead17> my concern was not a bare-bone mail server but web applications like drupal/joomla/wordpress and others
<koolhead17> which uses postfix simply 4 sending password reset option and others :D
<nijaba> sure
<koolhead17> nijaba: as you suggested i will check limesurvey charm
<nijaba> koolhead17: limesurey only does smtp client.  roundcube does smtp and imap client.
<koolhead17> i will only need smtp :)
<mchenetz> jcastro: sounds like a planâ¦ I will keep an wye on the bug report
<niemeyer> nijaba: Good question
<niemeyer> bug #123456
<niemeyer> Looks like it's unhappy
<koolhead17> also whats magic charm-helper-sh does :)
<jcastro> we need a nice convenience charm tool for "webapp needs to send mail" but doesn't need a fullblown SMTP charm
<nijaba> jcastro: really?  It's really trivial to implement and will really depend on the implementation of the tool you want to connext
<jcastro> I am thinking aloud
<koolhead17> jcastro: that is what i was thinking :D
<koolhead17> otherwise what we do is apt-get install postfix
<koolhead17> that reminds me i have not added mail server configuration 4 owncloud yet :P
 * nijaba off to bed.
<mchenetz> Jcastro: Just looking at the wikiâ¦ Maybe you should mention that those install methods are mutually exclusive. I am just thinking that some people might run all instructions down the page...
<koolhead17> jcastro: just pull everything from here http://askubuntu.com/questions/65359/how-do-i-configure-juju-for-local-usage/65360#65360 in doc for LXC
<jcastro> mchenetz: good idea on it.
<koolhead17> let me know if you need any help with documentation. Also in charms separate revision file needs to be created instead putting the same inside the yaml
<koolhead17> charms example
 * koolhead17 off to bed
<jcastro> I am hoping for the official docs to be more contributable soon
<jcastro> but I need to catch up with hazmat on that
<koolhead17> jcastro: just let me know how can i help :)
<jcastro> statik: thanks for your detailed analysis
#juju 2011-12-20
<_mup_> Bug #906647 was filed: zookeeper fails to build when installing on OSX <juju:New> < https://launchpad.net/bugs/906647 >
<_mup_> Bug #906647 was filed: zookeeper fails to build when installing on OSX <juju:New for mchenetz> < https://launchpad.net/bugs/906647 >
<TheMue> moo
<nijaba> meh
<koolhead11> hi alll
<nijaba> Hello, I have a FAILED to build on the charm-tools ppa that seems a bit odd to me: it fails on a test using wget with "wget not found" which would seem to be part of base Ubuntu install. See https://launchpadlibrarian.net/87956598/buildlog_ubuntu-natty-i386.charm-tools_0.2%2Bbzr95-4~natty1_FAILEDTOBUILD.txt.gz
<poolie> jelmer, which part of the charm is supposed to be checked in to the branch?
<poolie> jelmer, lp:~mbp/charm/oneiric/launchpad/trunk
<poolie> it's not that impressive
<poolie> i need to work out whether to just copy & paste from devscripts or somehow make it reused
<jelmer> poolie: thanks
<jelmer> poolie: yeah, that seems to be the sufficient bits
<drt24> nijaba: I don't think that wget is always part of the base Ubuntu install though it does have priority standard which would imply that it would normally be installed.
<niemeyer> Good morning!
<SpamapS> nijaba: no, wget is not part of the base install, charm-tools needs to build-depend on wget
<SpamapS> and I thought it did actually
<SpamapS> nijaba: buildd's have *only* the absolute *minimal* install, + build-essential
<SpamapS> nijaba: the reason that FTBFS was that it was using the old lp:~charmers/charm-tools/packaging bits. I re-pointed the charm-helpers-daily build to lp:ubuntu/charm-tools which has the most up to date packaging
<SpamapS> nijaba: I'll take a look at the peer-scp stuff today
<nijaba> SpamapS: gah... /me was going mad
<nijaba> SpamapS: I thought it was due to the fix I merged yesterday...
 * SpamapS considers deleting the old packaging branch to prevent further confusion
<SpamapS> nijaba: no, its been FTBFS'ing since the first test merge. :-P
<SpamapS> nijaba: as we add more build-deps, I'll need to merge them into the ubuntu packaging to keep the daily builds going (thats kind of the idea though.. keep packaging up to date with trunk. :)
 * SpamapS nearly cries when he sees that he has 753 unread emails waiting for him
<jcastro> nijaba: do we have any juju marketing flyers?
<nijaba> jcastro: I do not think so
<nijaba> jcastro: should ask sonia
<jcastro> ok
<jcastro> so like if I want to have a collection of flyers that we send to conferences we attend, I ping her for that?
<nijaba> jcastro: no, that would be cezzaine
<jcastro> ok
<nijaba> jcastro: beware that she has a form for these request ;)
<jcastro> maybe I can do them all at once
<jcastro> and then we'll be set for the year
<negronjl> jcastro: I usually attend a few conferences, meetings and such in the Bay Area so, if you can score some for me to distribute on my side that would be great :)
 * jcastro nods
<koolhead11> m_3: around
<koolhead11>  i wanted to know if its good idea to use custom sql schema along with user created say "admin:admin"
<jcastro> koolhead11: he should be back in a few hours
<koolhead11> jcastro: cool.
<jcastro> SpamapS: We should talk before the break about our scale talk (lunching now though, ping me later)
 * koolhead11 leaves for home
<SpamapS> jcastro: you ping me, I'll be answering email for the next few hours. :-/
<_mup_> juju/ssh-known_hosts r449 committed by jim.baker@canonical.com
<_mup_> Test key files
<mchenetz> Question about the Wordpress charmâ¦ Does it have code to sync wordpress instances when you scale them? I haven't looked at the Charm yet...
<SpamapS> mchenetz: wordpress just uses the database for all storage
<SpamapS> mchenetz: one thing I haven't checked on is whether it uses the databse for sessioning
<mchenetz> not exactlyâ¦ The graphics and files are stored locally
<mchenetz> That is the problem i am having right now with EC2 and multiple wordpress instances
<mchenetz> I might have to run rsync or something
<mchenetz> I tired to use w3 total-cache, which uploads content to S3â¦ However it did not work reliably
<mchenetz> Spamaps: any suggestionsâ¦ You probably know a hell of a lot more than i do about this.,, Any help is much appreciated. :-)
<SpamapS> mchenetz: I use an s3 plugin on my wordpress blog, which is why I didn't even think about that. ;)
<mchenetz> Which one do you use?
<SpamapS> mchenetz: for mediawiki, m_3 was working on just doing an NFS server and maybe gluster to store the uploaded images.
<SpamapS> mchenetz: let me check
<mchenetz> spamaps: thanks
<SpamapS> mchenetz: http://tantannoodles.com/toolkit/wordpress-s3/
<SpamapS> setup was pretty much a no-brainer
<mchenetz> Spamaps: Perfect!!! Just what i needed.
<mchenetz> The next question is advantages of using haproxy vs ELBâ¦ Currently I have them using ELB
<SpamapS> mchenetz: there probably aren't any advantages. ELB should be cheaper
<mchenetz> I will stick with that. ;-)
<SpamapS> mchenetz: I believe there is an ELB charm
<SpamapS> tho not in the official list
<mchenetz> Really, i was just thinking about that
<SpamapS> and not super useful since it will eat up an instance. :-/
<mchenetz> hmmm, maybe there should be the idea of using a single instance for multiple charmsâ¦ Like for administration like ELBâ¦ This way yyou could create a local provider and have it use many management charms...
<SpamapS> I believe once subordinate services lands though, the thought was that you would just deploy an ELB "client" like charm that would use the API to add the node to the ELB. I disagree with this approach, as it exposes the AWS credentials on machines, but its at least workable.
<mchenetz> Or maybe there should be juju, "plugins" that add management commands to the actually juju interfaceâ¦
<mchenetz> I am just thinking out loud
<SpamapS> mchenetz: we've talked about CLI plugins yeah
<mchenetz> Spamaps: cool
<SpamapS> mchenetz: but in the case of ELB, it needs to be responsive to adds/removes of units.. so it feels more like a charm.
<nijaba> mchenetz: another option would be to use ch_peer_rsync, once we can trigger relation events fron config-changed hooks
<SpamapS> mchenetz: its just a charm that we don't want to take up space on an instance. I have suggested in the past this would be a "virtual" service that runs its hooks on the same node as ZK runs.
<SpamapS> nijaba: in this case, you have to rsync on upload
<mchenetz> Spamaps: That sounds like a good idea
<nijaba> mchenetz: this would allow for any content modified on the leader to be replicated elsewhere
<SpamapS> nijaba: there's no need for the triggering of relation events from config-changed to implement that though...
<nijaba> SpamapS: the idea is: modifiy leader, change config param, and all goes from there
<mchenetz> nijaba: That sounds like an interesting option. I will look into that
<nijaba> SpamapS: yes, because ch_peer_rsync needs to be done within a relation
<SpamapS> nijaba: you can simply cache the relation settings locally in the relation hook.
<nijaba> SpamapS: sounds like a a lot of work for something that should be coming for free in juju in a little bit according to niemeyer
<SpamapS> nijaba: when it lands, we can get rid of all that logic.. until it does, we can get cool things done now.
<mchenetz> Sounds like there is some great future functionality in the pipline...
<nijaba> SpamapS: let's get ch_peer_rsync reviewed first, I'll see on extending it then :P
<nijaba> SpamapS: the biggest pb I have at the moment is with the test script
<nijaba> SpamapS: you'll see that in one of 756 emals you have to read ;)
<SpamapS> Yeah I'm digging through them
<SpamapS> its been starred, and I've moved on to less complex emails :)
<nijaba> hehe
<mchenetz> Where would i find the charms that are unofficialâ¦ e.g. ELB)â¦ I know they are not on http://charms.kapilt.com/charms
<SpamapS> mchenetz: https://code.launchpad.net/charm
<mchenetz> thanks
<mchenetz> Just an FYIâ¦ The Wordpress Charm in examples that comes with Juju should be updated, because it does not include a website: association
<nijaba> m_3: you need a review on juju-classroom?
<jcastro> looks like owncloud hasn't had a review yet either
<jcastro> nijaba: ok so are you a "charmer" now or do we need to get a vote from someone?
<nijaba> jcastro: yep, I am a charmer now
<jcastro> \o/
<nijaba> jcastro: you want me to look at it?
<jcastro> sure
<jcastro> https://bugs.launchpad.net/charm/+bug/905410
<_mup_> Bug #905410: Charm needed: Owncloud2 <new-charm> <juju Charms Collection:In Progress by koolhead17> < https://launchpad.net/bugs/905410 >
<nijaba> jcastro: it's marked in progress, and last comment from koolhead17looks like he is working on a mysql backend
<koolhead17> nijaba: hey there. yes. currently owncloud works with sqlite
<nijaba> koolhead17: so, should I review it now or wait?
<koolhead17> nijaba: it will be good if you could review it, i will consider it 1st iteration :D
<nijaba> koolhead17: ok, doing so now
<koolhead17> thanks
<SpamapS> mchenetz: thats intentionaly actually... the example charms are not necessarily integratable with the lp:charm charms. they're just meant to be super simple examples.
<jcastro> iirc I filed a bug about this
<jcastro> imo we should just not include example charms in the packages
<mchenetz> What about a charm repo. So it can download automagically from the cli?
<jcastro> install charm-tools
<mchenetz> oh, okay
<mchenetz> I din't know it did that
<jcastro> "charm get mysql" etc.
<mchenetz> okay cool...
<jcastro> yeah so hazmat is working on the charm store
<jcastro> so you can just go
<jcastro> juju deploy cs:mysql
<mchenetz> awesome
<jcastro> but charm get is our bandaid for now
<mchenetz> works for me
<jcastro> mchenetz: did you see Elliot's tips on the juju mailing list wrt. osx?
<mchenetz> no, i just saw the bug report from last night
<jcastro> https://lists.ubuntu.com/archives/juju/2011-December/001132.html
<jcastro> see that thread
<mchenetz> currently reading it...
<jcastro> might be a good idea to subscribe to the list, it's not high traffic (yet)
<mchenetz> I agree with a lot of the stuff he's sayingâ¦ A single method would work goodâ¦ I didn't create the test model yetâ¦ It was a first revision. ;-)
<jcastro> mchenetz: I don't think it's a bad idea to try to see which one would work best
<mchenetz> I would like to make it easier for people to install. Since Mac's come with easy_install, i was thinking it might be bestâ¦ I do think the mac app store might be ideal though
<mchenetz> I am still working out what the best option is...
<mchenetz> I am looking at Elliots brew formula and i will se if i can get it to work with the current packages
<_mup_> juju/ssh-known_hosts r450 committed by jim.baker@canonical.com
<_mup_> Mock testing for key gen
<nijaba> koolhead17: review of Bug #905410 done.
<_mup_> Bug #905410: Charm needed: Owncloud2 <new-charm> <juju Charms Collection:Incomplete by koolhead17> < https://launchpad.net/bugs/905410 >
<nijaba> koolhead17: please set the bug status back to fix comitted when you think the issues have been addressed
<koolhead17> thanks nijaba :)
<_mup_> Bug #907016 was filed: cannot set hardware constraints on services <juju:New> < https://launchpad.net/bugs/907016 >
<_mup_> Bug #907019 was filed: service constraints are not used when deploying units <juju:New> < https://launchpad.net/bugs/907019 >
<jcastro> hi ejat
<_mup_> Bug #907024 was filed: provisioning agent ignores machine constraints <juju:New> < https://launchpad.net/bugs/907024 >
<ejat> jcastro : hi
<jcastro> ejat: any progress on the charms you signed up for?
<jcastro> remember to holler if you need help with anything!
<ejat> on progress â¦ yes i will holler to everyone :) â¦ since now a bit tight with daily task :(
<mchenetz> Okay, looking at the Mac app storeâ¦ It seems to be the best method. I just need to build Juju and then submit it to the app storeâ¦ I will charge 1,000,000 dollarsâ¦ oh hahahâ¦ Okay, i guess i will give it away free.. I will get started on it.
<marcoceppi> mchenetz: What's the update process like for upgrading Juju?
<marcoceppi> I might be wise to wait until the 12.04 release to put it in the mac store
<mchenetz> i just have to submit it to the mac app store and it will allow the update
<SpamapS> upgrading juju is an unknown :-/
<SpamapS> I believe once we have the ability to reboot, upgrades will be more obvious, and work just like upgrading anything else.
<mchenetz> heheâ¦ We can waitâ¦ I will get the process started though
<SpamapS> I think it would be great to have it in there. I'd say juju is still beta quality at best, so just mark it as such
<mchenetz> okay, will do
<robbiew> +1 on marking as beta
 * robbiew swings by the channel and makes a passing comment
<marcoceppi> I meant upgrading the app in the "store"
<marcoceppi> When are we going to see Juju for Android :)
<mchenetz> Android should be relatively easy as i think it supports android by default
<mchenetz> python i meant
<koolhead17> will it be good idea to have our own software store for the sw which is not on repository? In this way our charm will not get broken if source/sw gets moved/modified/upgraded
<koolhead17> just a thought
<mchenetz> I thought about thatâ¦ may be a next phase
<koolhead17> cool!! :)
<m_3> nijaba: yes, please review juju-classroom when you get a chance.  There're additional things we can do to scale this, but it's useful as-is for demos
<SpamapS> m_3: o/ ... just waving hi.. on my way to lunch.. ;)
<m_3> hey man
<m_3> yay... mup's back
 * m_3 to the "manamanat" muppet song
<_mup_> juju/ssh-known_hosts r451 committed by jim.baker@canonical.com
<_mup_> Refactored mock keygen
<_mup_> Bug #907094 was filed: AWS credentials should not be in Zookeeper <security> <juju:New> < https://launchpad.net/bugs/907094 >
<EvilBill> mchenetz: I've still not been able to get Juju going on my Mac OS boxes
<mchenetz> Evilbill, what issues are you having?
<EvilBill> https://bugs.launchpad.net/juju/+bug/906647?comments=all
<_mup_> Bug #906647: zookeeper fails to build when installing on OSX <osx> <juju:New for mchenetz> < https://launchpad.net/bugs/906647 >
<EvilBill> That permissions issue thing
<mchenetz> hmmm, did you try the easy_install method?
<EvilBill> no, just pure brew.
<mchenetz> i would try the easy install, it seems to work better
<EvilBill> ok, will do.
<EvilBill> thanks.
<EvilBill> gotta run to a meeting, will try after I get out
<mchenetz> no probâ¦ If you have issues just hit me up here or at mchenetz (at) inventivedigital.com
<EvilBill> Will do, thx!
#juju 2011-12-21
<nijaba> m_3: sure, I'll take a look at it tomorrow.
<nijaba> SpamapS: around?
<m_3> nijaba: thanks
<nijaba> well, maybe someone else can help me decide on this.  I think I have found an easy way to trigger a copy to all peers from a confg-change event
<nijaba> My question is, how should I implement this:
<nijaba> 1/ sh_peer_rsync_replay: replays exactly the same copies that were done in the peer relation events
<nijaba> 2/ sh_peer_rsync sourcepath destpath: copy the given path(s) to all host that were done in the peer relation event
<nijaba> 3/ both?
<SpamapS> nijaba: here now
<nijaba> SpamapS: here to.  working on 3/
<nijaba> SpamapS: here to. working on 3
<nijaba> lots of lag..
<SpamapS> nijaba: so I think another way to look at it is that if we avoid ever calling relation-* in these peer functions, then we can use them anywhere....
<nijaba> SpamapS: nope, that won't work.  the initial copy needs to be through a handshake capable mechanism
<SpamapS> nijaba: or another way to do it is to detect whether or not we're in a relation, if we are, cache the results of relation-* , and if we're not, use any cached results
<SpamapS> oo.. I like that.. hmm
<nijaba> SpamapS: subsequent one can cache
<SpamapS> Yeah, so if you haven't cached, just exit gracefully
<nijaba> yep
<SpamapS> EAGAIN ;)
 * SpamapS finds it interesting that we're running into all the same things one does with every event loop system
<nijaba> yup
<SpamapS> nijaba: I'm just now opening up your branch for review :-P
 * SpamapS curses the way his attention deficit "condition" has put his fingers in so many pies
<nijaba> SpamapS: cool.  again, my first issue it the test_peer.sh which needs to run with sudo
<SpamapS> nijaba: yeah, that has to be fixed
<SpamapS> I'm 99.9% sure we can run sshd as whoever we want
<nijaba> SpamapS: the problem is not who, but how sshd handle certificates.  Short of building a full chroot, I got stuck
<SpamapS> nijaba: have you merged with trunk recently? I took a quick look and it looks like you didn't pull in the test reorg that I did.
<nijaba> SpamapS: yes, I have.  let me check
<nijaba> SpamapS: looks like I may not have pushed the merge...
<SpamapS> test_peer.sh is gone in lp:~nijaba/charm-tools/peer-scp
<SpamapS> ah ok
<nijaba> SpamapS: nope, I forgot a bzr add
<nijaba> SpamapS: fixed now
<nijaba> and pushed
<SpamapS> right thats still broken
<nijaba> how so?
<SpamapS> oh its the sudo thing never mind ;)
<SpamapS> running it in a sudo-less chroot it was not happy
<nijaba> nah, it's not :)
<SpamapS> so you didn't want to just generate a key for the test, and use cmdline options to point sshd at it?
<nijaba> SpamapS: I tried...  my problem was with the host keys
<SpamapS> right thats what I mean
<nijaba> well, I did figure out how to point it to different host keys, not owned by root, so that it would not block the hanshake
<nijaba> this is what I was trying up to rev 102
<EvilBill> mchenetz: Wow, easy_install worked.
<nijaba> SpamapS: of before that....
<mchenetz> Evilbill: awesome
<SpamapS> nijaba: I just did a ssh-keygen -t rsa -b 1024 -n -f /tmp/foobar/my_host_key , then sshd -o HostKey=/tmp/foobar/my_host_key -p 29292 .. and its working as I'd expect it to
<EvilBill> Yeah, no kidding. :) Thanks for the work on that.
<nijaba> SpamapS: you are able to scp to it?
<nijaba> duh....
<mchenetz> evillbill: no probâ¦ i am still refining the process
<nijaba> must have been something else
<SpamapS> nijaba: trying that now
 * nijaba slaps himself
<SpamapS> nijaba: but I can ssh to it
<nijaba> SpamapS: if you can ssh, then there is no issue with the handshake
<SpamapS> nijaba: so, its pretys imple really. You just have to generate the key, then add [localhost]:29292 right before the ssh-rsa in the key, and thats your known hosts file (-o UserKnownHostsFile=...)
<SpamapS> typing accurately, however, not so simple. ;)
<nijaba> SpamapS: ah, that's why my handshake was failing....  thanks!  I'll fix and re-submit.  maybe not tonight though
<nijaba> why being the port num in the knowhosts
<SpamapS> nijaba: because two sshd's can have different host keys
<nijaba> SpamapS: I did not think of that
<nijaba> SpamapS: thanks so much
<SpamapS> nijaba: np, I'll try to look at the other stuff with a blind eye to the tests. :)
<nijaba> :)
<jelmer> hi SpamapS, did you see my reply to bug 906000 ?
<_mup_> Bug #906000: opens new connection for each charm that is fetched <Juju Charm Tools:New> < https://launchpad.net/bugs/906000 >
 * nijaba falling asleep -> bed
<_mup_> juju/ssh-known_hosts r452 committed by jim.baker@canonical.com
<_mup_> Mock bootstrap
<_mup_> juju/ssh-known_hosts r453 committed by jim.baker@canonical.com
<_mup_> Cleanup of mocking
<nijaba> m_3: review of juju-classroom done
<niemeyer> Helloooo
<niemeyer> Ho ho ho
<niemeyer> Oh, wait.. not there yet..
<koolhead11> juju works with Lucid too? correct?
<niemeyer> SpamapS: Have you been testing it in Lucid?
<koolhead11> niemeyer: i have found a friend who wants to try juju on eucalyptus :D
<niemeyer> koolhead11: Ah, nice!
<niemeyer> koolhead11: That should work, I think
<koolhead11> i asked him to get it from PPA
<koolhead11> niemeyer: am on it.  once we get success will pastebin steps sumwer and later push it on documentation :D
<niemeyer> koolhead11: Sweet!
<tyska> hello guys
<tyska> im having this error on juju bootstrap command -- Failure: twisted.internet.error.TCPTimedOutError: TCP connection timed out: 110: Connection timed out.
<koolhead11> niemeyer: tyska is testing eucalyptus/juj
<koolhead11> on lucid
<niemeyer> tyska: Looks like a timeout indeed.. :-)
<niemeyer> tyska: It's unable to communicate with the server
<tyska> niemeyer: but my machine has internet access, what could be the problem then?
<koolhead11> tyska: can you see /home//juju/enviornments.yaml file
<koolhead11> you have to modify it for your local settings :P
<tyska> koolhead11: what needs to be there?
<koolhead11> 1 sec
<tyska> koolhead11: i think i need to set type as ec2, not local
<niemeyer> Sorry guys, I have a scheduled lunch and can't be late, but I'll be back later
<tyska> koolhead11: beucause im trying to use juju with eucalyptus
<tyska> niemeyer: np, im going to lunch too
<tyska> koolhead11: i will be right back
<koolhead11> tyska: k
<koolhead11> tyska: http://paste.ubuntu.com/777428/
<tyska> im back
<tyska> are u there koolhead11
<tyska> ?
<koolhead11> yes
<koolhead11> [19:29] <koolhead11> tyska: http://paste.ubuntu.com/777428/
<tyska> yeah
<tyska> will check this
<tyska> after editing environments.yaml -- Connection was refused by other side: 111: Connection refused.
<koolhead11> tyska: juju -v bootstrap
<tyska> Failure: twisted.internet.error.ConnectionRefusedError: Connection was refused by other side: 111: Connection refused.
<tyska> it seems the clc of eucalyptus refused the connection, put i used the same access and secret key on credentials generated by euca_conf
<tyska> *but
<koolhead11> tyska: so see if your putting correct credentials
<koolhead11> :d
<tyska> already did it
<tyska> the credentials are the same as eucarc
<koolhead11> tyska: i dont see any other issue rather than wrong credentials.
<tyska> me neither
<tyska> =/
<koolhead11> tyska: how about the ec2 url path :P
<koolhead11> ec2-uri: http://my.private.cloud:8773/services/Cloud     s3-uri: http://my.private.s3:3333
<tyska> the same as in eucarc file
<tyska> koolhead11: some good new?
<koolhead11> tyska: tell me
<tyska> koolhead11: ec2-urL instead of ec2-urI =)
<tyska> koolhead11: no
<tyska> koolhead11: false clue
<tyska> koolhead11: but there something wrong, regardless the adress of ec2 and s3, anything i put there returns the same error
<niemeyer> jimbaker: Can you please help tyska out?
<m_3> nijaba: thanks!
<nijaba> m_3: np.  sorry to be picky.  hope not to be wrong too :)
<m_3> nijaba: hey... no problem at all
<m_3> most of this is really old from the byobu-classroom charm and needs to be updated
<m_3> it's good to catch both of them now
<niemeyer> tyska: Can you please run the same command with strace, and send me the output?
<tyska> niemeyer: ok
<nijaba> m_3: yep, I figured you inherited most of this from the original charm
<m_3> nijaba: without looking too carefully :)
<m_3> that's what the review process is for
<nijaba> +1
<tyska> niemeyer: here it is http://pastebin.com/txjnw0KK
<niemeyer> tyska: Can you please run "telnet 10.0.0.125 80" on the same machine?
<tyska> niemeyer: sure, but why on 80?
<tyska> niemeyer: why not on 8773?
<niemeyer> tyska: How does your configuration look like?
<tyska> niemeyer: see it here http://paste.ubuntu.com/777428/
<tyska> niemeyer: im trying to configure juju with eucalyptus, then i change ec2-uri to my ec2_url which is http://10.0.0.125:8773/services/Eucalyptus
<niemeyer> tyska: Good question.. apparently it's not where it is connecting..
<tyska> yeah
<tyska> i saw in strace it trying to connect port 80, but i dont understood why
<tyska> telnet on port 80 fails
<tyska> but in 8773 works well
<niemeyer> tyska: Btw, the URL you paste above is not the URL that is in the configuration
<tyska> niemeyer: yeah i know, that pastebin is just a template
<tyska> i changed that for my cloud url
<niemeyer> tyska: Yeah, it's just that I have to trust the information you provide
<niemeyer> tyska: Otherwise we'll get nowhere :)
<tyska> hehe, ok, let me paste my config file
<tyska> http://pastebin.com/KNF8g9ph
<niemeyer> tyska: Ok, can you please run the command again, while running this in a separate terminal: sudo tcpdump -vv -i any 'host 10.0.0.125'
<niemeyer> tyska: I suspect it won't help much, but at least we'll kill another possibility
<tyska> niemeyer: before that i wanna know a thing
<tyska> niemeyer: im running this command from the machine 10.0.0.125
<tyska> niemeyer: could i run this from another machine that is in the same subnet right?
<niemeyer> tyska: I'd prefer if you run it in the same environment
<m_3> tyska: can you successfully spin up instances using just euca-tools?  i.e., no juju
<m_3> tyska: and are you in one of the 'MANAGED' networking modes?
<niemeyer> m_3: juju seems to be talking to the wrong port for whatever reason
<tyska> m_3: eucalyptus working fine, using managed novlan
<tyska> niemeyer: in fact, i tried to do from another machine, and the error changed, but the machine connected in the port 8773
<m_3> cool just making sure there's a baseline
<tyska> niemeyer: wanna u see the strace or wanna keep trying from the machine 10.0.0.125?
<niemeyer> tyska: The new error please
<niemeyer> tyska: It connects to the right port here, FWIW
<niemeyer> tyska: Which juju version are you running?
<tyska> 0.5 i think
<niemeyer> tyska: The full version you get out of dpkg -l
<tyska> 0.5+bzr432 on 10.0.0.125 machine and 0.5+bzr398 on my notebook
<tyska> niemeyer: http://paste.ubuntu.com/777552/ the connection error from my notebook
<tyska> same juju config file
<SpamapS> hmmm
<SpamapS> that seems *odd*
<SpamapS> you got the PPA version on the machines, but the archive version on your notebook
<SpamapS> tyska: or are the notebook and the 10.0.0.125 machines totally unrelated?
<tyska> SpamapS: unrelated
<SpamapS> ok
<tyska> SpamapS: but the clc (10.0.0.125) is lucid, with ppa added via add-apt-repository, and my notebook is oneiric without ppa
<tyska> oneiric repositories already have juju package
<SpamapS> jelmer: I did see your reply to bug 906000 .. I am very far behind on replying to things. ;) I'll gather my thoughts on that soon.
<_mup_> Bug #906000: opens new connection for each charm that is fetched <Juju Charm Tools:New> < https://launchpad.net/bugs/906000 >
<SpamapS> niemeyer: I have not been testing juju on lucid, no. (answering your question from backscroll...)
<tyska> i dont know why the things simply dont work on the first time to me
<SpamapS> tyska: Right, the PPA version is *a lot* newer and has a few bug fixes that you'll probably want.
<jelmer> SpamapS: thanks - no hurry, I just wasn't sure whether you'd seen it
<tyska> SpamapS: but oddly the ppa version does not consider the port i put in the config file (8773) and try to connect into port 80
<tyska> SpamapS: the older version try to connect on the right port
<SpamapS> tyska: I'm fairly certain the URL is just handed to a lower library, txaws
<SpamapS> tyska: so what version of python-txaws do you have installed?
<niemeyer> tyska: Can you please paste the normal output from the command you're running?
<tyska> 0.0.1bzr-0juju92~lucid1
<tyska> niemeyer: in which machine?
<tyska> SpamapS: 0.2-0ubuntu5 on my notebook
<SpamapS> so perhaps txaws needs updating on lucid
<koolhead11> tyska: did you do apt-get upgrade too
<tyska> SpamapS: but from which repository? the lucid repositories are just showing 0.0.1
<tyska> koolhead11: already did
<tyska> niemeyer: the error on my notebook is 500 internal server error
<tyska> niemeyer: on the clc the error is Connection was refused by other side: 111: Connection refused.
<niemeyer> tyska: Looks like Eucalyptus is failing on you
<niemeyer> tyska: We're probably touching a bad edge there
<tyska> niemeyer: euca commands works fine from my notebook, eucalyptus is working fine
<tyska> niemeyer: i can run new instances, see the resources available, create volumes and upload new images with no problem
<niemeyer> tyska: 500 is an error from the server side
<niemeyer> tyska: Please check out the logs
<hazmat> greetings
 * hazmat catches up
<tyska> you mean eucalyptus logs?
<niemeyer> tyska: Yes, looks for the reason why it's returning a 500/internal error
<tyska> niemeyer: there is no error on the logs
<niemeyer> tyska: Maybe on S3 then
<SpamapS> We haven't tested against euca in a while, but I thought I remembered us doing it at least a couple of times before OpenStack was usable.
<niemeyer> tyska: Can you please paste the actual error?
<hazmat> this is debugging juju with eucalyptus? do we have a traceback from juju -v bootstrap?
<niemeyer> hazmat: He's about to paste it
<hazmat> hmm.... yeah.. that looks like an s3 error
<tyska> niemeyer: 500 error is an auth error, maybe juju is not passing the keys in the right way
<niemeyer> tyska: No, it's an internal error from the server
<hazmat> tyska, the server error would be in the walrus logs
<niemeyer> tyska: Can you please paste the actual error?
<tyska> 500 internal server error
<tyska> walrus does not have log
<tyska> just cloud-error.log
<tyska> and there is no error in this log
<tyska> if i try to connect to the url from my browser, i get 500 internal server error
<tyska> i think juju is trying to do that without using the access and secret keys
<niemeyer> tyska: 500 is not an authentication error..
<niemeyer> tyska: and juju does use the keys to access S3, otherwise nothing else would work
<tyska> walrus and clc are on the same machine
<niemeyer> tyska: You can dump the TCP session with tcpdump if you want to check what's going through the wire
<niemeyer> tyska: As I suggested earlier
<tyska> niemeyer: sure
<tyska> from my notebook or clc machine?
<niemeyer> tyska: From the place you want to debug :)
<tyska> ok
<koolhead11> tyska: rushing home. hope it works. :)
<tyska> koolhead11: ok, tks for the help
<tyska> niemeyer: V
<tyska> http://paste.ubuntu.com/777594/
<niemeyer> tyska: That's not printing the actual packets, sorry.. let me check which option we need
<niemeyer> tyska: -X
<niemeyer> tyska: Can you please run the same experiment again with -X in tcpdump, rather than -vv
<tyska> niemeyer: sure
<tyska> http://paste.ubuntu.com/777597/
<niemeyer> tyska: Btw, where are you located?
<tyska> Brazil
<niemeyer> tyska: Alright, that dump is useful.. let's see
<niemeyer> tyska: Where?
<niemeyer> tyska: I mean, where in Brazil?
<tyska> Rio Grande do Sul, did you know Brazil?
<niemeyer> tyska: I live about 60km from you
<tyska> niemeyer: =O where are u?
<niemeyer> tyska: Pelotas
<tyska> niemeyer: are u brazilian?
<niemeyer> tyska: Yep
<tyska> niemeyer: hahaha then why are we talking in english?
<niemeyer> tyska: Because that's the language that most people here understand
<tyska> niemeyer: off course
<tyska> niemeyer: where do you work?
<niemeyer> tyska: I work at Canonical, on juju
<tyska> niemeyer: cool
<niemeyer> tyska: "ization:.AWS.WKy"
<niemeyer> tyska: You see that in the dump?
<niemeyer> tyska: It's juju sending the auth keys
<tyska> yeah
<niemeyer> tyska: And here is Walrus blowing up: "HTTP/1.1.500"
<niemeyer> tyska: it was doing a GET: "GET./juju-f8"
<niemeyer> tyska: We used to have someone from Eucalyptus here.. hold on
<tyska> niemeyer: but this reply is not from walrus
<tyska> niemeyer: it is the reply from services/Cloud, i can see it if i access from my browser
<niemeyer> tyska: Is it not?
<niemeyer> What's sitting at clc.cloud.c3.furg.br.8773?
<tyska> niemeyer: if i access services/Walrus i get another error response, but in xml format
<tyska> both clc and walrus
<niemeyer> tyska: That sounds suspect..
<niemeyer> tyska: You can't have the two processes listening on the same IP port
<niemeyer> s/ip/tcp
<tyska> it's make sense
<tyska> but maybe there is just one process that handle with the requests
<tyska> when you request services/Eucalyptus it sends you to clc, services/Walrus sends to Walrus
<niemeyer> tyska: and what does "sends to Walrus" mean?
<tyska> i think its just a webservice handler listening the 8773 port
<tyska> and when i say 'i think' it is because i dont know for sure
<tyska> that redirect the requests to the right processes
<niemeyer> tyska: Sorry, I don't get it.. services/Walrus sends you to what?
<tyska> to the walrus process
<tyska> eucalyptus-walrus
<tyska> niemeyer: see it here: http://paste.ubuntu.com/777617/ - this is the response when i acess 10.0.0.125:8773/services/Walrus
<tyska> niemeyer: and this is the response if i access 10.0.0.125:8773/services/Walrus - Failure: 500 Internal Server Error
<tyska> niemeyer: and if i acess just 10.0.0.125:8773 the answer is the error 500 too
<niemeyer> tyska: You said you were using other tools, right?
<niemeyer> tyska: Which tools were you using to interact with walrus?
<tyska> tyska: i never did direct interactions with walrus, but node controllers need to access walrus to get the images to run instances
<tyska> ops
<tyska> niemeyer:
<niemeyer> tyska: Perhaps it's just like you said.. walrus might be embedded within the HTTP server as a Java app
<tyska> and walrus is used too, to upload images, which i did three times
<niemeyer> tyska: Under a specific URL
<SpamapS> niemeyer: I think its proxied
<niemeyer> tyska: and I'm not quite sure juju, or other tools, handle it like that to be honest
<m_3> tyska: perhaps try http://localhost:8773/services/{Eucalyptus,Walrus} from the clc directly?
<SpamapS> but again, "i think" .. you probably need somebody with an actual clue at this point
<SpamapS> m_3: hey, you fit that bill..
<tyska> m_3: already tried it
<niemeyer> SpamapS: I don't think so.. I think it's all jars onto the java app server
<SpamapS> Oh even more fun. :)
<tyska> m_3: but in the clc i think i have another problem with juju, which is old version of python-txaws
<niemeyer> tyska: Have you used s3cmd before?
<m_3> tyska: ok, so I'd start with just getting s3curl or similar to work with the http://localhost:8773/services/Walrus
<m_3> niemeyer: exactly
<tyska> m_3: the ec2-uri is not correctly parsed from the config file
<tyska> niemeyer: never used s3cmd before
<niemeyer> m_3: Why is it not?
<jcastro> mchenetz: hey so I've incorporated bill's feedback into the OSX instructions
<niemeyer> m_3: Seems to be working correctly so far..
<niemeyer> Sorry..
<niemeyer> tyska: Why is it not?
<niemeyer> tyska: It seems to work well so far..
<niemeyer> tyska: The error is not related to the ec2-uri
<mchenetz> jcastro: Sounds goodâ¦ Evilbill installed successfully with Easy_install method
<tyska> niemeyer: remember that in the first machine, the strace shows that it tying to connect to the port 80
<tyska> instead 8773
<niemeyer> tyska: It's quite possible that the problem is that txaws isn't handling the prefix /eucalyptus/Walrus correctly
<niemeyer> tyska: This was strange, but we never got to know why that was happening
<tyska> niemeyer: let me remove the prefix just to see it grabs the right port
<jcastro> mchenetz: did that permission problem he talked about end up being a real problem?
<niemeyer> tyska: It's incorrect to say that ec2-uri isn't being parsed correctly, though.. we use it in other situations, e.g. to set different EC2 regions, and it actually works
<jcastro> mchenetz: I can widen the call for testing if you'd like
<mchenetz> jcastro: Yes, i ask working on the permission problem. I created a VM to test with.
<niemeyer> tyska: You also just pointed out you have an old version of python-txaws in that machine
<hazmat> definitely s3 usage supports ports, the url path suffix doesn't appear to have been tested previously though
<niemeyer> tyska: Which is exactly what's used to access the services
<mchenetz> jcastro: I am currently working on a mac app store version too...
<niemeyer> hazmat: Yeah, it's probably it..
<jcastro> mchenetz: ok so do you think you want more testers?
<niemeyer> hazmat: I'd just like to check if walrus itself is working at that URL at all before spending any time on it
<hazmat> niemeyer, maybe.. its not clear walrus is fully functional in this installation
<niemeyer> hazmat: It's at least answering at that URL, apparently
<mchenetz> jcastro: Hold off for right nowâ¦ I will update the script and then test again
 * jcastro nods
<niemeyer> hazmat: and, regardless, the URL juju is accessing is not prefixed
<niemeyer> hazmat: as we can see in the dump
<tyska> niemeyer: removing the suffix does not help, juju bootstrap keeps trying to connect to port 80 instead 8773
<niemeyer> hazmat: It's also suspect because it doesn't seem to be informing the bucket name
<tyska> niemeyer: im saying in this specific case, the port in the config file is being ignorated
<niemeyer> tyska: In your laptop it's not trying to connect to that URL
<niemeyer> tyska: as we could see in the dump
<tyska> niemeyer: in the laptop it is connecting to the right port
<niemeyer> tyska: Right?
<tyska> niemeyer: right
<niemeyer> tyska: and in the one that is connecting to the wrong URL, you have an out of date python-txaws, right?
<tyska> niemeyer: i was saying to m_3, that i cant test if localhost:8773 works, because for some reason it grabs the wrong port
<tyska> niemeyer: yeah
<niemeyer> tyska: Cool.. so all I'm saying we can't take any conclusions out of that
<tyska> niemeyer: version is 0.0.1 instead 0.2, and that is probably the reason for the wrong parse
<niemeyer> tyska: The first thing to put in your clc the same package versions you have in your other machine
<niemeyer> s/to/is to/
<tyska> niemeyer: yeah, but how? since one is lucid and another is oneiric
<tyska> niemeyer: there is no 0.2 package in the lucid repositories
<niemeyer> tyska: Ok, there's an issue there then..
<niemeyer> tyska: But you don't need those packages in that machine
<niemeyer> tyska: Just use your laptop
<tyska> niemeyer: no problem
<niemeyer> tyska: Everything juju needs will work fine that
<niemeyer> way
<tyska> as i sayd, i was just saying to m_3, that i cant test if localhost:8773 works, because for some reason it grabs the wrong port
<niemeyer> tyska: What we have to sort out is why S3 isn't working
<niemeyer> tyska: Well, the first thing anyway
<tyska> in the clc machine
<niemeyer> tyska: So.. can you please try with s3cmd?
<tyska> niemeyer: we cant say S3 isn't working, at least yet
<tyska> niemeyer: we need to use the s3cmd to know that for sure
<niemeyer> tyska: We can say the S3 interaction between juju and walrus is not working
<tyska> niemeyer: yeah, this we can
<niemeyer> Good :)
<niemeyer> tyska: So, please try s3cmd out.. or any other S3 client, for that matter, and see how it goes.. if it's working, we'll likely need to fix txaws to work with path prefixes
<niemeyer> tyska: Thanks for debugging that, btw
<tyska> niemeyer: ok
<tyska> niemeyer: no problem, i thanks for the help
<m_3> s3curl might be a little easier to configure for eucalyptus than s3cmd
<m_3> both are covered in http://cssoss.wordpress.com/2010/05/10/eucalyptus-beginner%E2%80%99s-guide-%E2%80%93-uec-edition-chapter-6-%E2%80%93-storage%C2%A0management/
<tyska> thanks m_3, i was suffering to configure s3cmd
<m_3> tyska: s3cmd is a pain
<tyska> i cant find the package perl-Digest-HMAC
<tyska> to install s3curl
<SpamapS> tyska: apt-get doesn't have s3cmd?
<SpamapS> tyska: usually its just 'sudo apt-get install s3cmd'
<tyska> SpamapS: s3cmd yes, but it is complex to configurate
<tyska> SpamapS: i just wanna a simple tool to test, it seems s3curl is simplest
<m_3> tyska: libdigest-hmac-perl on lucid
<tyska> m_3: tks
<tyska> m_3: i already have this package installed, but im on oneiric (notebook)
<niemeyer> tyska: Can't see how s3cmd is any worse to configure than any other alternative
<niemeyer> tyska: You'll need access key, secret key, and the endpoints
<niemeyer> on all of htem
<m_3> s3cmd required a patch to talk to walrus
<tyska> niemeyer: ok then, lets see
<m_3> last I checked
<tyska> we have two choices
<niemeyer> m_3: What was the patch about?
<tyska> my notebook and clc machine
<m_3> service path issues iirc
<tyska> i get different erros
<tyska> with s3cmd
<m_3> niemeyer: http://open.eucalyptus.com/wiki/s3cmd
<tyska> see it here
<tyska> http://paste.ubuntu.com/777672/
<tyska> i used this to configure the s3cmd
<tyska> http://open.eucalyptus.com/wiki/sample-s3cmd-config
<SpamapS> I'm surprised we didn't pull that patch into s3cmd for Ubuntu
<m_3> me too
<niemeyer> LOL
<niemeyer> m_3: Cheers
<niemeyer> http://open.eucalyptus.com/wiki/s3cmd-0.9.8.3
<m_3> afaik, nobody else (s3 or openstack) adds a service path prefix (services/Walrus) to the s3-uri
<niemeyer> The patch to s3cmd is fixing _exactly_ the problem we're seeing with juju :-)
<m_3> right
<m_3> but looking through the txaws code it looks like it handles 'path' in parsing the uri
<SpamapS> so maybe walrus isn't fully s3 compatible?
<niemeyer> tyska: Can you please file a bug, and report the problem we've perceived regarding the S3 prefix?
<m_3> looking at txaws.utils parse next
<niemeyer> m_3: I'm not sure about where the issue lies, but it's quite clear from the dump that it has no prefix when doing the HTTP GET at least
 * m_3 grins at "fully s3 compatible"
<m_3> right GET /juju-...
<niemeyer> Yeah, looks like such an easy to remain compatible issue
<niemeyer> Just open a separate port
<niemeyer> Why requiring everybody to change their libraries..
<m_3> like 3333
<m_3> there's a bit more of a mess to deal with in the euca case... the jetty routing would need to change
<m_3> they might've done that in later versions though
<SpamapS> Seems like we keep hitting this issue where the S3 piece isn't really S3-like at all
<SpamapS> niemeyer: seems like the file storage providers need to have compatibility modes. :-P
<tyska> then that's it guys? must i report a bug in launchpad?
<m_3> tyska: please do... then that's a point to watch for notifications when it's fixed
<niemeyer> tyska: Yes, please..
<tyska> ok then guys, thank you very much for the help
<niemeyer> tyska: As you can see.. walrus is doing something different, which libraries are not ready to handle.. we want to support it, but we'll have to fix it
<tyska> niemeyer: no problem
<niemeyer> tyska: The alternative, if you want to keep going right now is:
<niemeyer> 1) Change Walrus so it behaves normally
<niemeyer> 2) Use real S3
<niemeyer> No matter what, please file the bug so we can schedule it
<SpamapS> tyska: probably want to file it against txaws, and then "also affects" juju so its seen in both bug trackers.
 * SpamapS retreats to the fortress of solitude to try and get nijaba's code review done
 * nijaba warns anyone that try to bother him that I bite ;)
<tyska> niemeyer: i will wait it fixed, since im setting the things up by now
<tyska> SpamapS: it just affects txaws in the oldest version, 0.0.1, in the 0.2 version it is already fixed
<_mup_> juju/ssh-known_hosts r454 committed by jim.baker@canonical.com
<_mup_> Fix mocks for test_sshclient
<_mup_> Bug #907450 was filed: juju does not work with Walrus when s3-uri has a suffix <juju:New> < https://launchpad.net/bugs/907450 >
<koolhead17> tyska: :D
<tyska> ;)
<koolhead17> nijaba: i have asked for the checksum in the mailing list of owncloud
<tyska> koolhead17: we found a bug in juju + walrus
<nijaba> koolhead17: would be nice to have, yes
<koolhead17> tyska: awesome!! :D
<koolhead17> nijaba: :)
<tyska> ok then guys, again thanks for the help
<tyska> im leaving for now, but i come back when this bug is fixed
<niemeyer> tyska: Cheers.. thanks for your help, and have fun there
<jcastro> SpamapS: you owe me a blog post remember. :)
<m_3> tyska: thanks for the debug help
<SpamapS> jcastro: oi... right
<SpamapS> tyska: indeed, so we just need to get the lucid txaws fixed
<jcastro> m_3: SpamapS ok so I need to pick a list of 4 as the new top targets
<jcastro> I was thinking, diaspora
<jcastro> openfire, phpbb, and zenoss
<jcastro> thoughts?
<SpamapS> hm
<SpamapS> jcastro: I wonder if there are any Debian maintainers of webapp packages that would want to also maintain the charm for their app.
<jcastro> ooh
<jcastro> do you have any in mind?
<jcastro> also, that would depend on if you put juju in debian yet?
 * jelmer waves
<jcastro> marcoceppi: was it you who said big blue button was a complicated mess?
<jcastro> hi jelmer!
<jelmer> SpamapS: I'm Debian/Ubuntu maintainer for loggerhead/wikkid and interested in maintaining charms for both.
<marcoceppi> jcastro: Yes
<marcoceppi> not that it was a mess, but that it would "rely" on a lot of services that have yet to be charmed
<SpamapS> jelmer: sweet!
<marcoceppi> like a Red5 server, asterisks server, etc
<jcastro> marcoceppi: ah ok, let's keep that one for later then
<jcastro> marcoceppi: I know you're signed up for phpbb but I'd like to put it on the target list, it's like a good beginner charm I think
<SpamapS> jelmer: regarding making 'charm getall' more efficient.. I believe that we will do away with 'charm getall' in the near future, both because the charm store is growing rapidly, and because the charm store service built into juju *should* supersede it.
<jcastro> if someone snags it then good, if not, you can snag it back?
<marcoceppi> jcastro: That's fine :D
<SpamapS> marcoceppi: so it sounds not like a mess, but like a lot of fun!
<jcastro> asterisx will be tricky
<marcoceppi> SpamapS: It took me almost 2 months to get it working properly last time I set it up
<SpamapS> asterisk is , IIRC, basically unusable in the cloud
<jcastro> yeah
<SpamapS> because it needs a source of timing
 * m_3 runs screaming from voip config
<jelmer> SpamapS: ah, ok
<m_3> jcastro: sounds like a good list to start with
<m_3> jelmer SpamapS: getall is a really really useful bandaid... but still a bandaid
<SpamapS> Yeah, I hate how long it takes..
<SpamapS> and I'm pretty sure I'm misusing mr's bzr support
<SpamapS> but I don't want to put much effort into it as its really aa bandaid and nothing more.
<jelmer> SpamapS: out of curiosity, what's it going to be replaced by?
<m_3> jcastro: is there a way to identify the target charms as "intro" -vs- "more advanced"?
<m_3> jelmer: the charm store.... 'juju deploy cs:mysql mydb'
<jcastro> m_3: I usually go about how complicated the service itself is
<SpamapS> jelmer: juju will abstract the bzr out of the charm store for users who don't want to edit the charms.
<jcastro> typical LAMP, not so much, complicated things like openstack, more so
<jcastro> I don't really have a system to it
<jelmer> m_3, SpamapS: ah, of course. thanks
<SpamapS> jelmer: and since I expect there will be 100's of charms, we won't want to 'getall' anymore.. we'll just want to get the ones we need to edit.
<SpamapS> jelmer: basically using 'getall' is like checking out all of the packaging branches in Ubuntu. ;)
<m_3> jcastro: right... in the blog post setting targets, maybe at least make a stab at "this might be a great one for first-timers" -vs- has-a-lot-of-complex-relations
 * jcastro nods
<SpamapS> nijaba: reviewed
<nijaba> SpamapS: thanks.  will look in a sec
<m_3> jelmer: great question to the list about tests... testing framework for charms is in progress
<jelmer> SpamapS: well, there are people who want to check out all source packages on ubuntu... :-) But yeah, that's a good point
 * m_3 food
<jelmer> m_3: thanks
<hazmat> jcastro, ejabberd for the hit list
<jcastro> oooh
<jcastro> ok I'll do that one instead of openfire
<jcastro> I don't need 2 XMPP servers right off the bat
<marcoceppi> ejabberd will probably be the easier of the two
<jcastro> you're just scared of java
<nijaba> SpamapS: I do not understand this sentence in your comment [1] Perhaps we should recommend haveged with charm-helpers-sh
<SpamapS> nijaba: sorry, there is a package 'haveged'
<SpamapS> nijaba: it inserts entropy using some proven mathematical pseudo random generation algorithm.
<marcoceppi> jcastro: It haunts me
<nijaba> SpamapS: ah, ok.  never used it.  Thought there were some char missing
<nijaba> SpamapS: so one just launche haveged and that's it?
<nijaba> SpamapS: actually, install, since it is a deamon
<SpamapS> nijaba: just having it installed, it does its thing
<SpamapS> nijaba: I think some might object to it though, sometimes no entropy is better than low quality entropy.
<nijaba> SpamapS: we should ask the security team
<nijaba> SpamapS: just resubmited with the requested changes
<jcastro> anyone ever deploy zenoss before?
<jcastro> nijaba: did you talk to the zenoss guy at ODS by any chance?
<marcoceppi> Finally getting around to finishing PMA
<robbiew> jcastro: mattray in #openstack and #txlf may be able to help
<robbiew> he used to work at Zenoss before going over to OpsCode
<koolhead17> jcastro: i know some community guy from there :P
<robbiew> he's an ubuntu user
<jcastro> robbiew: yeah, I was trying to reach the guy I spoke with at ODS. But Matt was next on my list
<jcastro> also, I thought he went to Dell?
<robbiew> jcastro: maybe so...heh
<robbiew> last I spoke with him, he was at OpsCode...working on Crowbar stuff I think
<jcastro> oh, I need to follow up with him
<jcastro> koolhead17: ok so I'll pursue this guy, want to ping your buddies who know zenoss?
<jcastro> we have nagios and someone is working on sensu, people will want a zenoss charm
<koolhead17> jcastro: this guy is zenoss community manager i think
<jcastro> koolhead17: oh dude, hook me up
<jcastro> koolhead17: can you PM me his contact info?
<koolhead17> jcastro: give few mins.
<jcastro> <3
 * koolhead17 checks his twitter
<jcastro> marcoceppi: ok here it is: http://cloud.ubuntu.com/2011/12/juju-charm-status-were-looking-for-a-few-good-charmers/
<jcastro> koolhead and I will chase down zenoss
<koolhead17> jcastro: awesome!! :D
<marcoceppi> jcastro: I like the targeted approach
<jcastro> yeah
<jcastro> marcoceppi: hey so in a different tack.
<jcastro> marcoceppi: for each one I'm going to try to find someone new by posting on their project's list
<jcastro> or by finding someone who is deploying it
<jcastro> So I was thinking, you keep working on whatever, and I'll keep looking for new people
<jcastro> and if we get one that's just flailing or whatever then we can snag it
<jcastro> marcoceppi: so basically, I'm going to focus on getting new people for these, instead of having you and George do them all, heh
<marcoceppi> Sounds like a great idea to get Juju/Charms "out there"
<jcastro> yeah plus I want to give projects a chance to pounce on their own charm
<jcastro> be charge of their own destiny, etc.
<marcoceppi> Ack, it looks like one of my merges was replaced in an update to charm-helpers
<marcoceppi> Oh, wait - I see now
<marcoceppi> nijaba You around?
<tekonivelo> hi all
<tekonivelo> i was here earlier (a week perhaps?), asking if there's a chance to deploy a charm without spawning a new machine
<tekonivelo> someone told me this is in the works
<tekonivelo> i'm now looking for that feature blueprint in Launchpad
<tekonivelo> (and dreaming about Cotton Candy at the same time http://www.omgubuntu.co.uk/2011/11/cotton-candy-the-usb-sized-arm-pc-that-runs-ubuntu/)
<tekonivelo> is it this one https://blueprints.launchpad.net/juju/+spec/subordinate-services?
<tekonivelo> i'm incompetent in reading this juju-talk :)
<marcoceppi> Charm is done! \o/
<jcastro> m_3: hey, jrgifford is working on rails, what's the status of this here: https://code.launchpad.net/~mark-mims/charm/oneiric/rails/trunk
<SpamapS> tekonivelo: subordinate services is good for combining charms .. but you really need machine placement to do the smaller scale.
<robbiew> marcoceppi: yes sir!!! :D
 * koolhead17 is eagerly waiting for next charm school
<jcastro> early in the new year
<jcastro> actually, I should pick a date now
<SpamapS> jcastro: it might make sense to have it right after or before SCALE
<jcastro> I'll link up with mims when he gets back
<jcastro> I think one in January early, then a real one at SCaLE, then february, with an option for January virtual again if we need it.
<koolhead17> hello robbiew
<robbiew> koolhead17: o/
<koolhead17> :)
<EvilBill> hm, looking at the charmsâ¦ there's not one for openldap, is there?
<jrgifford> EvilBill: don't think so.
<EvilBill> hm
<EvilBill> maybe if I feel ambitious, and finish my next Linux Journal article.
<EvilBill> and jcastro - my SCALE talk didn't get accepted.
<jcastro> EvilBill: want to roll with me and clint for juju school then?
 * koolhead17 feels openldap tough nut. 
<EvilBill> define "roll with you"
<jcastro> help people out getting it running, basically like an instructor
<jcastro> I can train you up over some in n' out. :D
<SpamapS> hey, thats what a hamburger's all about
<mainerror> The phpBB3 charm should be fairly easy to write, eh?
<mainerror> There is a phpBB package.
<EvilBill> jcastro: I can probably do that. Will be at scale on the Thursday before it starts, and I will have my car and I know exactly where everything is there, including in n out. ;)
<jcastro> mainerror: yup ....
<SpamapS> mainerror: exactly
<SpamapS> I wonder if we can genericize a charm helper for anything that uses dbconfig-common
<mainerror> I'm trying to get it up right now.
<jcastro> EvilBill: there's at least like 5 article opportunities just being around SpamapS.
<mainerror> The PyroCMS charm requires me to write a cli installer myself which I can't do right now.
<SpamapS> marcoceppi: looking at https://code.launchpad.net/~marcoceppi/charm-tools/wget-args/+merge/86617 .. just curious why we want --content-disposition ?
<jcastro> mainerror: yeah there's a correlation of ease of charm writing and how popular or easy something is to install without a charm
<EvilBill> jcastro: then I will be sure to have a recorder running at all times. ;)
<SpamapS> EvilBill: are you in LA?
<EvilBill> I'm in silicon valley, but will be there for Xmas, and for scale.
 * SpamapS will pontificate gratuitously to make sure the facts are inseperable from his opinions
<SpamapS> EvilBill: great. that reminds me that I need to register for mongoLA
<jcastro> mainerror: a config to use the upstream phpbb in that charm would be ninja
<mainerror> Do you mean a switch to choose if you want the package version or the upstream version?
<jcastro> yeah
<mainerror> I see. Makes sense.
<SpamapS> I'd prefer that it default to the one from the archive though.
<jcastro> mainerror: marco's done it on his, just steal it
<jcastro> yeah, and always default to the archive
<mainerror> If only they (phpbb) had a download latest release link ...
<SpamapS> mainerror: thats no good usually anyway, because you need to verify the integrity of the download
<SpamapS> so unless you can download the md5/gpg signature via HTTPS (with a valid CA cert).. you have to sha256sum the file anyway.
<mainerror> Along with a MD5 file it would not be that bad. :)
<mainerror> Yea.
 * SpamapS wants people to get into the habit of sha256sum'ing, not md5suming
<jcastro> actually, charmers should recommend that during reviews to default to archive
<SpamapS> jcastro: as we get more of a security policy and better tags, we'll require that for inclusion in the "canonical supported" charm tag(s)
<jcastro> that was going to be my next questoin
<mainerror> Wait, how am I supposed to sha256sum the file if the phpBB guys don't provide a hash to compare it against?
<negronjl> marcoceppi: I approved your merge proposal
<SpamapS> mainerror: you need to first inspect the contents, make sure you got the real file.
<SpamapS> mainerror: then you need do 'sha256sum file.tar.gz'
<SpamapS> mainerror: that value can then be used to check against the file when the charm downloads it
<SpamapS> mainerror: there's a helper function for doing this in shell/bash
<mainerror> Oh! That makes sense now.
<SpamapS> mainerror: maybe just focus on the apt-get version first?
<marcoceppi> negronjl: Thanks!
<mainerror> Yea. I'll try to get that up first and add the config option once it is up and running.
<marcoceppi> mainerror: They do
<SpamapS> marcoceppi: the man page for wget describes --content-disposition as experimental...
<mainerror> marcoceppi: They do what?
<marcoceppi> SpamapS: It didn't say that in the latest wget, did it?
<SpamapS> ii  wget                    1.13.4-1ubuntu2         retrieves files from the web
<marcoceppi> mainerror: They provide an md5hash, phpBB group
<mainerror> Yea I know that. I was referring to a md5hash file. :)
<SpamapS> oneiric has 3.0.7 .. pretty close to upstream's 3.0.9 ... ;)
<marcoceppi> mainerror: http://www.phpbb.com/files/release/phpBB-3.0.9.tar.bz2.md5
<mainerror> :O
<marcoceppi> But yeah, use package manager first <3
<mainerror> Am I that blind?
<SpamapS> note that the MD5 there is worthless since it is transmitted via HTTP
<marcoceppi> They don't advertise it, I know someone on the dev team :)
<mainerror> Oh nice. :)
<SpamapS> marcoceppi: tell them to start publishing gpg signatures
<marcoceppi> SpamapS: Yeah, unless... https?
<SpamapS> then at least we can have a set of GPG keys that we trust in charm-helpers automatically.
<SpamapS> But at that point its like.. how about we just start using the archive? ;)
<marcoceppi> heh
 * SpamapS plans to try hard to get involved with ubuntu-backports so we can use them in charms more.
<EvilBill> so, now that I have juju on mac os x - is there a way to get charm-tools going on os x, too? ;)
<EvilBill> right now I just rsync'd them from my linux box but being able to natively update would be nice.
<SpamapS> EvilBill: bzr branch lp:charm-tools ; cd charm-tools ; make install
<SpamapS> EvilBill: it would be quite nice to have them in brew too.
<EvilBill> Yeah, it would.
<EvilBill> blah, and something blew up.
<EvilBill> looks like the Mac version of readlink doesn't allow the -f option
<SpamapS> bummer
<SpamapS> pretty useful bit
<EvilBill> yeah.
<EvilBill> wonder tho
<_mup_> juju/ssh-known_hosts r455 committed by jim.baker@canonical.com
<_mup_> Fix mocks for EC2 test_bootstrap
<SpamapS> EvilBill: if you wouldn't mind reporting a bug, it would help quite a bit.
<EvilBill> doesn't appear to be in ports or brew :/
<EvilBill> Yeah, I'll happily do that, once I run off to another damn meeting.
<EvilBill> got a meeting in five.
<SpamapS> http://www.despair.com/meetings.html
<SpamapS> best
<SpamapS> poster
<SpamapS> evar
<EvilBill> SpamapS: thanks for that.
<EvilBill> lol
<EvilBill> we're trying to straighten this place out
<EvilBill> awesome, my meeting JUST got moved to tomorrrow.
<EvilBill> bug coming your way
<SpamapS> http://www.despair.com/proc24x30pri.html
<SpamapS> ^^ so you went to that model ;)
<EvilBill> SpamapS: Dude, do you think I'd be in DevOps if I didn't believe in that model?
<marcoceppi> Loule, I always laugh a little when someone days DevOps
<EvilBill> LOL
<EvilBill> Yeah, it's not like it's that big a secret.
<EvilBill> but they wanted to hire me in as "DevOps Manager"
<EvilBill> and I was like "how much money? fuck, I'm THERE."
<SpamapS> "what? Our developers shouldn't be plotting our ops managers' deaths?"
<EvilBill> I've been doing DevOps since way before the buzzword. We used to call it "Hey, this cool way of doing business so stuff runs smoothly."
<EvilBill> Problem with that name is that it didn't fit on slides.
<_mup_> juju/ssh-known_hosts r456 committed by jim.baker@canonical.com
<_mup_> Fix remaining tests in EC2 test_bootstrap
<EvilBill> SpamapS: I may have a workaround for the readlink thing
<EvilBill> want me to file the bug, and list the workaround?
<jcastro> SpamapS: or m_3: phpmyadmin could use a look see, and hopefully a promulgation.
<m_3> jcastro: yeah, just saw that mail
<jcastro> \o/
<marcoceppi> m_3: One thing I wasn't sure about, htaccess password
<marcoceppi> As it currently stands you've got to use juju set to enable it, otherwise no one will be able to access the phpMyAdmin site
<marcoceppi> since I didn't just want to throw a default one in there
<m_3> marcoceppi: wow, yeah I really think all charms should work using defaults
<m_3> just pulled it though, so let me take a look
<marcoceppi> So, put a password in there by default? I feel like that kind of defeats the purpose of password protection
<marcoceppi> m_3: I'm about to head home, so I'll be back in about 40 mins. I created a video to demonstrate the workflow: http://www.youtube.com/watch?v=SXsiffMI5Uc
<m_3> ha!... yeah, I was just about to ask for a readme :)
 * m_3 watchin the 'tube
<m_3> marcoceppi: hmmm...  think I'm gonna have to bounce this charm back... no soundtrack!?!  drive safely man
<marcoceppi> m_3: So, besides the readme, heh, I'm guessing it's the htpasswd password issue?
<m_3> marcoceppi: just yanking your chain
<SpamapS> for phpmyadmin, I think its reasonable to say that it doesn't actually *do* anything useful without you providing a username and password
<m_3> SpamapS: right... really it doesn't _do_ anything until you relate it
<m_3> so should it go to 'install_error' with default config params?
<EvilBill> SpamapS: Hey, I have a bug ready to submit against charm-tools re: mac osâ¦. with a workaround included.
<EvilBill> Want me to fire that off?
<SpamapS> m_3: no!
<SpamapS> m_3: it should just reject all users from logging in.
<SpamapS> m_3: it would be cool to have the 403 page give some hint.
<SpamapS> EvilBill: yeah that would be great, thanks!
<SpamapS> m_3: like "403, Access Denied, site has no users."
<EvilBill> SpamapS: done.
 * m_3 copying that line into the review
<SpamapS> I like the way wordpress does it. The first user to access the site gets presented with a wizard.
<SpamapS> the window for compromise is very narrow, and if somebody does "steal" your wordpress, you just drop the db and start over.
<SpamapS> maybe we should write a charm helper that makes a little web form for apps that don't have such a capability.
 * SpamapS puts on his mad scientist hat and looks into it
<m_3> SpamapS: I guess stealing the phpmyadmin instance like that doesn't necessarily compromise the root pw of the related db... dunno tho
<m_3> marcoceppi: really nice job with this
<_mup_> juju/ssh-known_hosts r457 committed by jim.baker@canonical.com
<_mup_> Fix cooperative inheritance for test_state
<marcoceppi> SpamapS: phpMyAdmin doesn't have that, so I would have to script that in.
<marcoceppi> m_3: Thanks!
<m_3> marcoceppi: almost done... waiting for another test scenario
<marcoceppi> m_3: Cool, I'll jump on those changes asap as I'm looking to wrap this up tonight to move on to Steam and others
<marcoceppi> I've got a pretty good idea how I want to handle a lot of the stuff in steam
<marcoceppi> Is that WordPress install script part of wordpress or was that written explicitly for the charm?
<marcoceppi> Because it wouldn't be too hard to write
<m_3> marcoceppi: ah, I'd wait on it... the current behavior works pretty well... especially once there's a readme
<marcoceppi> I'll add it as a bug once it's progd
<m_3> marcoceppi: one quick question though... the bottom of db-admin-relation-changed
<marcoceppi> Yeah?
<m_3> mysqladmin creates a hard-coded "phpmyadmin" db... but then it runs the create script on a $database
<m_3> that's working in my current test b/c the service is named "phpmyadmin"
<m_3> what happens when that's not the case?
<m_3> checking with another test scenario
<marcoceppi> Since it's not a db relation, it's db-admin it will just create phpmyadmin db everytime. Are you saying that it should create the database based on the name of the service? IE if it was `custompmaname`>
 * m_3 checking what creates 'database' in mysql-root interface
<marcoceppi> m_3: Nothing does :)
<marcoceppi> That's why mysqladmin create is run in the hook
<marcoceppi> It did originally, but it was removed when we relaized that since you're "db-admin" you can create any db
<m_3> but the relation sets $database though
<marcoceppi> It *shouldn't* if it does it's because I missed it during the patching
<m_3> config-changed, line 36 uses it though
#juju 2011-12-22
<marcoceppi> in the phpmyadmin charm? there is no line 3
<m_3> yeah, so I deployed it naming the phpmyadmin service "myphp"
<marcoceppi> 6
<m_3> sorry, not config-changed, but db-admin-relation-changed
<m_3> it creates a database "phpmyadmin", but operates on the (nonexistent) "myphp" database
<marcoceppi> Ah, it's left over from when mysql charm created the db
<m_3> meta/192.168.122.243 contains "server_db=myphp"
<marcoceppi> I'll fix that in the charm. I also found another bug
<m_3> ok, I'll note it in the review... thanks, just didn't know which of those behaviors you wanted to happen
<marcoceppi> Yeah, if you join multiple mysql services, it'll always use the last one as it's database server, needs to just use the first one and not create a phpmyadmin control db on each server
<marcoceppi> actually, no that's right
<marcoceppi> but the item you pointed out is correct, I'll throw that up in a min
<m_3> yeah, it's ok to marry one phpmyadmin instance to one mysql instance... just note it in the docs
<m_3> lots of charms have a similar limitation
<SpamapS> indeed, haproxy suffers from this too
<SpamapS> you can't load balance two services behind one haproxy without knowing the hostnames they need to be known by externally
<marcoceppi> m_3: What do you mean "it's okay to marry one..."
<SpamapS> m_3 is saying that some services shun paligamy
<m_3> marcoceppi: if you have two mysql services around... wiki1db and wiki2db
<m_3> it's ok to have a wiki1webdb and wiki2webdb
<m_3> 1 for 1, no need to have a single wikiwebdb that connects to both mysql instances
<marcoceppi> Sure, it is. But you could also have one that connects to both, right?
<m_3> don't actually know if phpmyadmin supports that, but if it did yes
<marcoceppi> It does, and the charm does as well
<m_3> just saying it's extra work to make the charm handle that
<m_3> it's ok if it doesn't
<marcoceppi> but it already does :)
<m_3> oh, meta/ip-address has the instance-specific data
<m_3> gotcha
<marcoceppi> which actually reminds me, is there a way to get the name of the service from the db-admin-relation-joined?
<marcoceppi> Like if I join phpmyadmin service with dbwiki1 - can I get the name "dbwiki1" from a magic command?
<m_3> which service?  local is ${JUJU_UNIT_NAME//\/*}
<marcoceppi> The remote service
<m_3> remote is ${JUJU_REMOTE_NAME//\/*} iirc
<SpamapS> JUJU_REMOTE_UNIT
 * m_3 checking
<m_3> SpamapS: thanks
<m_3> so ${JUJU_REMOTE_UNIT//\/*}
<marcoceppi> Fantastic! Does //\/* work in dash?
<m_3> had problems with that before, but haven't looked into what the deal is... it's posix and it should support it
<m_3> typically use bash as a consequence
<SpamapS> m_3: // is not posix IIRC
<SpamapS> ## and %%, but not //
<m_3> ${JUJU_REMOTE_UNIT%%/*} works in dash
<marcoceppi> m_3: next charm will probably be bash if not in php
<SpamapS> m_3: http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html .. no //
<m_3> I sit corrected :)
<SpamapS> You guys can overrule my shell code edict. I feel like charm-helpers should be posix only just so that if somebody has a mountain of ksh or csh stuff, they won't have to fight with charm helpers.
<marcoceppi> Cool, %% works
<marcoceppi> SpamapS: I agree on that level :)
<m_3> no, I'm fine... happy with %%
<SpamapS> I do only think we have to care about shell *in charm helpers*. Write your hooks in bash or scala for all I care. :)
 * SpamapS ponders running the test suite with all the other shells just to see if it works
 * SpamapS is still not sure how comfortable he is writing enough shell code to need a test suite. ;)
<m_3> wow, yeah, I know what you mean
<SpamapS> still its kind of cool that we have one.
<marcoceppi> m_3: Did switching "upstream" work in your tests?
 * m_3 flashbacks to manual rsnapshot before rsnapshot but after dump was no longer useful
<m_3> marcoceppi: still running... had to wipe my env a little bit ago
<m_3> marcoceppi: beautifully
<marcoceppi> m_3: Do you have any opinions how templating might work? I wrote a templating engine using bash that I put in file.sh however, I was thwarted when I found out bash/dash can't handle assoc arrays and passing them to functions as parameters
<marcoceppi> I guess you would pass two arrays to the function, one with keys and one with their respective replacement values. Though I'm not sure if bash/dash maintains insert orders in arrays
<m_3> I really think cheetah from the command-line is a great option... it really was simple to do: https://gist.github.com/1402941
<m_3> my only concern is how sensitive it is to general markup being interpreted as special, but it would be dead-simple to manage from a charm-helper wrapper
<marcoceppi> But, how do we build that into a charm-helper-sh function
<marcoceppi> You'd still need to pass key/value pairs. Unless you did it one at a time?
<m_3> nope, just have it use the current shell's env
<m_3> set vars
<marcoceppi> You mean, just call it globally?
<m_3> then call ch-template(template_file)
<marcoceppi> Ugh, I could have done that with the bash function as well
<marcoceppi> I think I deleted that code too.
<m_3> that's what a heredoc does in shell
<m_3> it'd be really equiv, just easier to manage the template part in the files
<marcoceppi> right
<m_3> more powerful too... looping constructs, etc in the template itself
<marcoceppi> I <3 tpl files
<marcoceppi> I'll look into starting file.sh with this
<marcoceppi> Suppose charm-helper-sh will just need to depend on cheetah as well
<marcoceppi> Is this channel logged anywhere?
<m_3> yup
<m_3> dunno where
<SpamapS> marcoceppi: why not just pass the resolved heredoc to the templating function?
<m_3> but I've seen people pull logs of it
<m_3> heredocs are hard to assign
<SpamapS> ch_replace_file /etc/foo.conf <<EOF ..... EOF
<m_3> there's an exec trick to do it but it's ugly
<SpamapS> I don't actually know if shell functions can have different stdin's tho
<marcoceppi> I think I must not be understanding heredocs
<SpamapS> exec is fine
<SpamapS> we are not working on sub-second charm hooks as a goal ;)
<m_3> 'ch_replace_file file <<EOF ..... EOF' is absolutely the goal
<m_3> yeah, exec is fine in the ch method
<m_3> but having to exec a heredoc to assign it to a variable to pass to the ch func is ugly
<m_3> we can figure it out
<m_3> just putting another tool like cheetah out as a first choice
<m_3> for more powerful templates
<SpamapS> cheetah has enough power, it doesn't need a helper
<m_3> then we're not gluing heredocs and snippets "pre-this and post-that" together for one config file
<SpamapS> if you have a cheetah template sitting in your charm, the cheetah executable can take all the inputs as a heredoc, and the output file, and will do an atomic replace for it
<SpamapS> m_3: ch_append_file file <<EOF    ;-)
<m_3> ok, I'd be fine with just using straight cheetah in charms w/o a helper
<SpamapS> appending works for looping too
<SpamapS> I actually find pre/loop/post to be just fine.
<m_3> appending works, it's just ugly to manage the config in its entirety
<m_3> I like loops in templates :)
<SpamapS> its a style thing
<m_3> yup
<SpamapS> do what makes you happy, I say
<SpamapS> the goal of charm helpers is to help people get back to what they enjoy
<SpamapS> not to keep them away from what they want to do
<m_3> yeah, I wouldn't oppose any particular approach in charm-helpers... just putting ideas out there
 * SpamapS dons cheesy voice and powder blue knit sweater
<m_3> nice
<SpamapS> Because you're good enough to find your passion and your fire
<m_3> it's a beautiful day in the neighborhood
 * SpamapS lights sweater on fire
<marcoceppi> I thought the goal of charm helpers was world domination
<m_3> ha
<m_3> I really like phpmyadmin as part of a demo
<m_3> spin up a decently-mature stack around mysql
<m_3> then add that on in conversation as an afterthought
<m_3> it gives a great feeling of power
<SpamapS> marcoceppi: no that is the goal of SpamapS... it just so happens that charmers is one of SpamapS's tools
<m_3> and the speed with which this can be done is a _real_ distinguisher
<m_3> jcastro: note for blogging about it ^^
<SpamapS> m_3: yeah, its pretty cool. We should try to get phppgadmin charmed up too
<m_3> SpamapS: I liked the 'minions' MP approval note :)
<SpamapS> m_3: and then maybe get a few of the things that can optionally use mysql | postgresql working that way so we can show how easy *that* is to switch out.
<SpamapS> m_3: hahaha. :)
<m_3> yeah, I did that with rails when I was putting together the basic pgsql charm
 * SpamapS was distraught that he mispelled it minons .. glad somebody noticed it
<m_3> swapped them out
<marcoceppi> m_3: I'm looking over the review, what's wrong with the env/xxx files? They're just variables - I wasn't sure how else to switch between variables for each of the functions in common.sh
<m_3> is it minons?  not minions?
<SpamapS> m_3: the real kicker would be to also have a "mysql2pg" charm that does a migration for you
<m_3> ha!
<m_3> marcoceppi: it's no biggie at all.. just a mention that there are a lot of moving parts in the current setup
<m_3> those files are sourced only from common.sh
<m_3> so they could easily be functions inside of common.sh
<marcoceppi> So, if I put them in a fucntion, like source_upstream, and they weren't local, would they overwrite the global scope?
<m_3> yes
<m_3> shell's global
<SpamapS> 1 â 75 of 43799 results
<marcoceppi> scoping in shell rubs me backwards
<SpamapS> Hmm.. how long will it take me to triage all of these bugs.. :)
<m_3> scoping in shell was an afterthought at best
<m_3> it's biggest criticism in general
<marcoceppi> m_3: Thanks, I'll just throw them in functions, it'll look nicer since functions names are easier on the eyes than . env/upstream
<SpamapS> heh.. and really.. scoping.. shell.. get a real language people :)
<m_3> don't have to at all... just a style note
<marcoceppi> oosh? Object Oriented SHell?
<marcoceppi> _One day_
<SpamapS> oosh
<SpamapS> and the windows version, woosh
<m_3> now you're stepping into religion
<SpamapS> and the darwin version.. oh
<m_3> woosh... sounds like a commode flushing :)
<m_3> rofl
 * SpamapS wants to see a shebang, #!/bin/doosh
<m_3> totally
 * m_3 crying now
<marcoceppi> Doosh, Doing Object Orientation in SHell
<SpamapS> marcoceppi: all it needs is an editor, and you can self-publish on Kindle and Nook. ;)
<SpamapS> ooo, cacti would be an interesting charm.. and would get even more interesting as subordinate charms were added for things like snmpd
<SpamapS> wow cacti is like.. dead.. :(
<m_3> dumping snow!
<m_3> haven't played with cacti in a while... usually just been nagios and ganglia... eager to try sensu
<marcoceppi> Another good sub-ordinate would be Splunk
<poolie> is anyone writing docs for the lxc provider?
<poolie> ah some in https://code.launchpad.net/~bcsaller/juju/local-troubleshooting/+merge/79193
<SpamapS> poolie: the main docs are at https://juju.ubuntu.com/docs/provider-configuration-local.html
<poolie> got it thanks
<SpamapS> poolie: of course, patches accepted. :) that is generated from lp:juju/docs
<poolie> so it's now apparently stuck with just 'lxc-wait -n mbp-local-udd-0 -s RUNNING' waiting for something
<SpamapS> poolie: that shouldn't need to wait too long
<SpamapS> poolie: there are copious amounts of logs in the directory you've specified with 'data-dir'
<poolie> https://code.launchpad.net/~mbp/juju/mbp-doc/+merge/86651
<poolie> :)
<SpamapS> poolie: I think you want container.log or master-customize.log
<SpamapS> The review queue is pretty long at the moment
 * SpamapS takes a gander
<poolie> i see
<poolie> it's ok
<poolie> hm so it just has "Starting container" as the last message...
<poolie> there's no rush on the mp
<SpamapS> poolie: has the container "booted" already?
<poolie> in what sense?
<SpamapS> poolie: like, does it have an 'init' and subprocesses like getty and such?
<SpamapS> lxc-start's only child would be init
<poolie> hm, lxc-ps  --name mbp-local-udd-0 shows nothing
<SpamapS> do you see any children of lxc-start at all?
<poolie> there is no lxc-start (any more)
<poolie> maybe i'll try running it again
<SpamapS> poolie: interesting
<SpamapS> poolie: is there an lxc-create running?
<SpamapS> poolie: or lxc-clone ?
<poolie> just lxc-wait
<poolie> poor thing
<SpamapS> stood up
<SpamapS> just sitting there, nibbling on bread, with high hopes
<SpamapS> poolie: usually the error will be found in container.log or master-customize.log
<poolie> hm, run by hand i can see an error
<poolie> not a very useful one
<poolie> ah, container.log does have it
<poolie> lxc_start - failed to spawn 'mbp-local-udd-0'
<poolie> thanks
<SpamapS> poolie: multiple users have reported odd issues where something bad happens to the lxc cache, which makes it fail to start all containers.. the resolution is to clear out /var/cache/lxc entirely.. though that does mean re-building all the master containers with debootstrap
<SpamapS> I fear we haven't really spent enough time triaging that problem.
<poolie> ok, i can do that
<poolie> maybe there should at least be an error or if lxc-start exits
<SpamapS> poolie: I think thats actually half the problem.. that lxc-start's errors aren't reported.
<SpamapS> poolie: the other half is that lxc-start gets broken somehow
<poolie> yeah; that may be out of scope for juju propery
<poolie> *proper
<poolie> but perhaps the docs can give a tip about it
<poolie> shall i file a bug?
<SpamapS> yes, give a look at the current bugs.. I *think* there may already been a report that just needs some more priority
<SpamapS> poolie: and thanks for playing. :)
<poolie> np
<poolie> k https://bugs.launchpad.net/juju/+bug/907655
<_mup_> Bug #907655: hangs when lxc fails to start <juju:New> < https://launchpad.net/bugs/907655 >
<_mup_> Bug #907655 was filed: hangs when lxc fails to start <juju:New> < https://launchpad.net/bugs/907655 >
<poolie> i love 'destroy-environment' as a command name
<SpamapS> it is juju's homage to the industrial revolution
<poolie> juju hate-freedom
<SpamapS> the go version will have juju club-baby-seals
<poolie_> SpamapS, so i guess 'ssh' to lxc won't work?
<poolie_> failed to spawn again, even after blowing away the cache
<SpamapS> yes ssh'ing to them should work fine
<SpamapS> poolie_: something else must be wrong
<poolie_> time for strace
<SpamapS> poolie_: even the console of the container is logged, so I'd be surprised if strace helps more than that.
<SpamapS> poolie_: but ultimately, you should be able to 'lxc-start -n mbp-juju-local-0' and see what happens
<poolie_> that's what i'm tracing
<poolie_> it also fails
<poolie_> it's not obvious to me why
<poolie_> i need to go in a sec
<SpamapS> poolie_: me too.. hopefully we can figure it when you pick it back up. :-P
<poolie_> 'no distribution series: lucid' pushing a charm?
<SpamapS> poolie_: the juju agents have some problems w/ python 2.6
<SpamapS> poolie_: oneiric is the first series that I *know* works.. natty also should probably work.
<poolie_> ok
<SpamapS> and at some point in the very near future, I'll be officially opening up the "precise" series. :)
<SpamapS> nijaba: heh, FTBFS .. oops, I forgot that you did that apt-get in the tests.. thats going to have to go away
 * SpamapS fixes the build
<nijaba> SpamapS: ah, didn't think of that.  easy to fix though, I just used pwgen to generate random files, I'll just grab bytes from /dev/urandom
<SpamapS> nijaba: there are other things broken when running these tests in buildds
<SpamapS> nijaba: $HOME is not always available
<nijaba> really?
<SpamapS> indeed
<nijaba> SpamapS: what should I use?
<SpamapS> I'm not sure thats the problem
<nijaba> :/
<SpamapS> there's some really really confusing double-negative logic that I can't tell is failing or not
<SpamapS> [ ! something ] && something else && another
<nijaba> SpamapS: in my test result analysis?
<SpamapS> nijaba: yeah, the tests fail after the pwgen thing.. but I can't tell why
<SpamapS> (which may suggest that the error reporting on the code is poor)
<nijaba> SpamapS: log?
<SpamapS> nijaba: standby
<SpamapS> http://paste.ubuntu.com/778398/
<SpamapS> nijaba: thats after patching to do a mkdir -p $HOME/.ssh
<SpamapS> + cat /tmp//tmp/juju-helpers-tmp.yTZqTrA/result
<SpamapS> that looks odd
<nijaba> SpamapS: the failure is in the function, you do not get to the test of the results
<SpamapS> heh.. mktemp -d alreayd has a /tmp prefix ;)
<SpamapS> nijaba: ah, so the function isn't printing its errors?
<SpamapS>     ch_peer_scp -r -p $CH_portnum -o "-q" "$CH_TEMPDIR/sourcedir/*" "$CH_TEMPDIR/destdir/" > $CH_TEMPDIR/result 2> /dev/null
<SpamapS> no, you're just redirecting them to dev null!!
<nijaba> SpamapS: that was just to keep the output "pretty"
<SpamapS> lost connection
<SpamapS> nijaba: the output should be pretty already, shouldn't it?
<nijaba> SpamapS: please see pm
<fwereade> hey everyone, actually off on my holidays now; have good ones one and all
 * nijaba loves launchpad estimates: "6 minutes ago (estimated)"
<nijaba> Would anyone know why I get a make error 255 on a line that invokes sshd, while I can see in my build log that openssh-server has been installed? https://launchpadlibrarian.net/88141044/buildlog_ubuntu-precise-i386.charm-tools_0.2%2Bbzr102-4~precise1_FAILEDTOBUILD.txt.gz
<nijaba> jcastro: around?
<hazmat> jcastro, ping
<SpamapS> hazmat: CONGRATS btw!
<SpamapS> nijaba: reading your FTBFS .. are you still redirecting stdin/stdout to /dev/null?
<nijaba> SpamapS: nope. see my buildd-fixes branch
<nijaba> SpamapS: but I am stuck on this issue
<nijaba> which occurs before doing any tests
<nijaba> basically error 255 means "command not found" which is illogical since I added openss-server to the build deps and I can see in the log that it installs
<mchenetz> off topic: Anybody have a preference of a hosting provider for hosting some Django code?
<nijaba> mchenetz: AWS?
<mchenetz> heheâ¦ It's too expensive for me
<SpamapS> Or appengine
<mchenetz> Any cloud based engine seems too expensive for meâ¦ My sites get about 6000 hits a day
<SpamapS> mchenetz: appengine is free for quite a few more hits than that IIRC
<mchenetz> hmmmâ¦ I thought i looked at that
<mchenetz> LEtm e take another look
<SpamapS> 5GB of bandwidth, 657,000 blob store API calls / day, 3,000/minute...
<SpamapS> http://code.google.com/appengine/docs/quotas.html
<SpamapS> 1GB of free data
<mchenetz> you know whatâ¦ I was thinkinging of Engine yardâ¦ I never looked at app engine
<mchenetz> My fear about cloud services is that i am ring to get some hugh spike one month and owe a fortune. It may not be a valid fear, but i just don't know.
<SpamapS> mchenetz: the free tier on appengine will just stop working before it charges you
<mchenetz> Spamaps: even betterâ¦ I will definitely try it out. :-)
<nijaba> SpamapS: I removed the need for pwgen in the test script btw
<SpamapS> nijaba: ok
<SpamapS> nijaba: the 255 may be sshd's exit code, not the shell's btw
<nijaba> SpamapS: hmm, did not think of that.  But why?
<SpamapS> nijaba: not sure.. but its a possibility
<nijaba> SpamapS: I wonder if they did not block the possibility to run sshd on buildds for security reasons
<nijaba> SpamapS: regarding your option to (keep|remove) the ssh keys, how would you see that?  An additional explicit param to the copy functions?
<SpamapS> nijaba: no just an additional step in the relation where it would be removed from authorized_keys after the copy
<nijaba> SpamapS: yes, but if I want to keep them, how do I say I do
<SpamapS> oh, yeah another arg
<SpamapS> or, more useful probably is to split the key exchange into its own set of functions
<nijaba> SpamapS: because without the keys, no possibility to issue a ch_peer_rsync/scp in a config-changed
<nijaba> SpamapS: again, I won't be able to do the key exchange outside of a peer-relation
<nijaba> so it is either you keep them, and you can do a copy in config-changed event, or you don't
<SpamapS> You can though, in config-changed
<SpamapS> You can just move the key into some other holding area
<SpamapS> and only when the "copy stuff freely" config parameter is on, do you enable the key
<nijaba> SpamapS: how?  every units receives the config-change event at once.  you would then need to issue to set configs to do one copy
<SpamapS> nijaba: if they're slaves, they move the key into authorized_keys. If they're masters, they try to do the copy over and over until it works.
<nijaba> SpamapS: hmmm... can try this.
<SpamapS> nijaba: lets not try to solve all the world's problems right now though. :)
<nijaba> hehe
<SpamapS> nijaba: do you have sbuild setup where you can try your build locally?
<nijaba> SpamapS: nope
<nijaba> pointers?
<hazmat> SpamapS, thanks :-)
<hazmat> mchenetz, heroku seems to be getting more popular, and works for django/python apps
<mchenetz> hazmat: Very expensive when you scale workers and such
<hazmat> mchenetz for vms, linode and rackspace cloud are also competitive
<hazmat> about 20usd/month
<mchenetz> hazmat: i had my credit card out for linodeâ¦ I am still debating on itâ¦ I like that they are about 40 minutes from me
<hazmat> appengine is very nice if you don't mind platform tie in
<mchenetz> hzamat: i am definitely considering app engine for my django stuffâ¦ I know you guys are ubuntu, but red hats open shift looks nice and give you a lot too...
<hazmat> with django-nonrel going out of style (not developed anymore), long term it probably makes sense to use the appengine sql support, though it also prices out a bit more.
<mchenetz> I am surprised ubuntu doesn't have their own cloud based services yet
<hazmat> mchenetz, we do.. ubuntu is one of the most widely deployed operating systems in the cloud
<mchenetz> yeah i know, but no infrastructure to sign up for as a service
<hazmat> mchenetz, you mean  your surprised ubuntu doesn't have a free cloud hosting offering ?
<mchenetz> yes
<hazmat> redhat and openshift are late to the game, their trying to catch up by offering free PAAS hosting
<hazmat> both appengine and heroku have a free tier
<mchenetz> i agree
<hazmat> and AWS as well for new customers
<mchenetz> I like the way you deploy to Herokuâ¦ I use Heroku fro my rails stuff
<mchenetz> AWS is too slow with their micro nodes (Free tiers)
<mchenetz> I think i am going to try app engine for my Django stuff and maybe Linode for all of my other traditional sites
<mchenetz> I appreciate the comments and opinions. Thanks...
<mchenetz> alternative to django-nonrel: http://django-mongodb.org/ ???
<robbiew> lynxman: nijaba: either one of you planning to go to FOSDEM?  Wondering if we can get a juju demo done in the  âOpen Source Virtualization and Cloudâ (OSVC2012) devroom -> http://osvc.v2.cs.unibo.it/index.php/Main_Page#Call_for_Presentations_and_Workshops
<robbiew> of course the cfp deadline is...today :)
<robbiew> no..tomorrow
<robbiew> plenty of time!
<nijaba> robbiew: looked into it but can't go, I have my kis that we
<robbiew> they can come too!
<robbiew> lol
<robbiew> no worries
 * robbiew will try to guilt lynxman into repaying the favor for LISA BoF ;)
<jcastro> hazmat: is there a weekly G+ this week?
 * SpamapS is going to guess "no"
<robbiew> jcastro: no...unless you want to watch hazmat change diapers or something
<robbiew> lol
<jcastro> well you never know, the other guys might be doing stuff without hazmat around
<jcastro> I mean, things don't stop around here when clint goes on holiday
<jcastro> (or do they?) :)
<robbiew> they don't?
<robbiew> lol
<m_3> in retrospect, we totally should've used 'charmers' for the more open team
<m_3> charm-managers or charm-administrators is a better name for the other one
<m_3> oh well
<SpamapS> m_3: its a fair point. Unfortunately, charmers is encoded into charms now with the ppa.. so.. hindsight. ;)
<koolhead17> http://www.moodlerooms.com/moodle-on-a-cloud/
<SpamapS> nijaba: around?
<nijaba> SpamapS: was about to leave
<nijaba> SpamapS: what's up?
<SpamapS> nijaba: I think we have to break the API that you created with ch_peer_scp. echoing results is not a good plan for boolean pass/fail logic
<SpamapS> nijaba: and that way, we can regain the -x for debugging
<nijaba> SpamapS: sure, what do you suggest?
<SpamapS> nijaba: if you're ok with that, I'm going to press forward with it.. I'd rather break it now and fix the tests than have to rip it out so we can get charm-tools building again.
<SpamapS> nijaba: just change the 'echo $result' to 'return $result'
<nijaba> SpamapS: go for it
<SpamapS> nijaba: but that means all consumers of the function need to be updated if they are checking the echo'd result
<SpamapS> nijaba: we also have to take out the 'exit's
<SpamapS> turn those into return's
<nijaba> SpamapS: for now only one consumer, and it's not released
 * SpamapS should have caught all this in reviewing, but was so enthralled with a working implementation, he missed it ;)
<SpamapS> nijaba: ok cool
 * nijaba leaves for dinner.  back later
<_mup_> juju/ssh-known_hosts r458 committed by jim.baker@canonical.com
<_mup_> Merged trunk
<SpamapS> hmm.. we may need to build our own clean $HOME for the tests.. I think that makes sense given ch_peer_scp's desire to populate $HOME with stuff
<SpamapS> I think thats the issue actually
<SpamapS> hrm, or it was *my* issue... not *the* issue
<SpamapS> argh, ssh commands don't seem to care what $HOME is set to
<jrgifford> jcastro: was there anything about that rails charm? I don't see anything back on it yet.
<jrgifford> (although my scrollback is having issues with a few other channels)
<SpamapS> jrgifford: did you submit it for review?
<jrgifford> SpamapS: no. i was trying to figure out what the status of the rails charm here - https://code.launchpad.net/~mark-mims/charm/oneiric/rails/trunk
<SpamapS> looks pretty out of date
<SpamapS> still back in "ensemble" land :)
<SpamapS> jrgifford: are you interested in trying to revive it?
<jrgifford> SpamapS: that is correct, i am interested in trying to revive it.
<jrgifford> do you recommend that I start with that, or start over from scratch?
 * jrgifford has no clue what he's doing, but knows it needs to be done.
<SpamapS> m_3: hey ^^ is that the latest rails charm you have?
<SpamapS> jrgifford: it looks like a pretty decent start
<SpamapS> jrgifford: charms for frameworks like that are really just scaffolding... you'll likely have to mod them up a bit to work with any real rails app
<koolhead17> nijaba: are you back
<jrgifford> except for one problem... it doesn't actually install rails, it just sets everything up for rails to be installed. ;)
<m_3> SpamapS: yup, was planning on reviving it over the holidays
<SpamapS> m_3: you should work w/ jrgifford
<m_3> sure
<SpamapS> m_3: oh, and don't use libmysqlclient16-dev .. 'libmysqlclient-dev' will always get you the latest one.
<m_3> that charm installs rails through bundler
<m_3> then it gets the version your app depends directly on
<jrgifford> ok. so it does it from a gemfile then?
<m_3> yup
<jrgifford> ok. that's actually how i was going to do it.
<m_3> it installs gems, then bootstraps gems to be able to use bundler, then installs your bundle
<jrgifford> so that means i'm not completely insane with that idea.
<m_3> teh only thing that's totally not done but should be is to use rvm
<m_3> well, or it's shared insanity :)
<jrgifford> well... i was working on that originally.
<jrgifford> (rvm)
<jrgifford> was using the railsready script as a starting place to kinda hack it together.
<m_3> heck, I even have lots of rails apps that almost all use different versions of rails
<m_3> so marrying that to the gemfile makes sense
<jrgifford> thats true.
<m_3> jrgifford: well you wanna work on that one together?
<jrgifford> m_3: you betcha
<m_3> BTW, I was planning on switching the charm itself over to ruby
<m_3> to show juju to ruby/rails groups
<jrgifford> that'd be slick.
<jrgifford> appeal to the chef/puppet crowd, right?
<m_3> similar to what I've done in lp:~mark-mims/charm/oneiric/varnish/trunk
<SpamapS> m_3: why should it use rvm? ;-)
<m_3> plan to extract the lib/charmtools out to charm-helpers-ruby
<m_3> or perhaps using the chef gem to do most of it
<SpamapS> m_3: like, is rvm really necessary for everybody? or just for those who like to marry themselves to one version?
<m_3> rvm is really pretty common now
<m_3> during the transtion between ruby 1.8 and 1.9, it's a pretty good idea to lock it down
<SpamapS> common, but why?
<m_3> perhaps less useful in another 6mos or so
<SpamapS> because we'll have 1.9.3 in precise?
<SpamapS> don't the vas majority of ruby users end up using 1.8 still anyway?
<m_3> just a wild-guess, but I'd think half the rails apps deployed in the wild are on each
<m_3> newer rails takes advantage of 1.9
<m_3> there're lots of motivations (speed) to move to 1.9
<SpamapS> Ok, but why do you need rvm for that?
<m_3> you don't... rvm just makes it easier to say "my app depends on x.x.x version of ruby"
<m_3> like gemfiles do with rails versions (and gem versions in general)
<SpamapS> Heh.. which, btw, turns into a wonderful messy stew of requirements. ;)
<m_3> like npm files do for node apps
<m_3> yes, true
 * jcastro comes back in
<jcastro> m_3: yeah, do it in ruby
<SpamapS> but yeah, rvm is the way people do things
<jcastro> we need some more language diversity
<m_3> but it manages to resolve them for the most part... just have to wait for the 'bundle install' to finish
<SpamapS> Indeed, and rails devs will appreciate the hooks being in ruby
<jcastro> actually, let me rephrase, we need to have charms in the language that people who care about that service would be familiar with.
<m_3> right
<jcastro> not just bash bash bash
<m_3> hence the rails charm in ruby
<SpamapS> m_3: we should consider making it easy to build debs of any version of ruby/php/etc.
<SpamapS> m_3: just so that you can deliver a binary via apt, rather than bundler which may take a bit to get thigns done
<m_3> I really liked your gem2deb
<SpamapS> debigem
<SpamapS> gem2deb is something else
<m_3> oh, gotcha
<SpamapS> perhaps somewhat inspired by debigem ;)
<m_3> that worked really well with rails3 packages
<SpamapS> yeah, gem2deb is now the standard way all ruby packages are built in Debian and Ubuntu
<m_3> only problem is it bypasses the debian upstream versions
<jcastro> some people consider that a feature!
<m_3> I'd be a big fan of tools that'd let us have more choice of ruby/php versions
<SpamapS> m_3: so ruby in 11.10 and later *does* let you choose which interpreter handles /usr/bin/ruby
<m_3> right... alternatives
<SpamapS> Its meant to work a lot more like java.. where you just pick your jvm
<m_3> That's pretty foreign to osx peeps though?  do they have anything like /etc/alternatives?
<m_3> don't know myself... still need to resurrect the tv for juju osx testing :)
<jcastro> speaking of, mchenetz
<jcastro> ready for wider testing? I want to tell the world!
<m_3> whoohoo!
<SpamapS> m_3: no, but I think at this point OSX people are used to things working vastly different on their real servers from their dev env. :)
<m_3> yeah, good point
<SpamapS> Hence vagrant and all the other ways to run VMs on OSX
<m_3> just make it really easy to manage alternatives from capistrano, vlad, et al
<m_3> good point... perhaps the charm should use version config settings and alternatives
<m_3> talked to wayne (rvm guy) about packaging rvm... he wants to help
<m_3> but that's a seeparate thing
<mchenetz> jcastro: the easy_install version works pretty wellâ¦ I am working on a slicker install thoughâ¦ I will probably have a new version over the weekend. I got a little tied up with work. Unfortunately, this isn't my full time job. :-(
<jcastro> cooh cooh
<jcastro> ok I'll just play it safe and not announce anything until the new year
<jcastro> unless you tell me otherwise
<mchenetz> jcastro: As soon as i have a great install for everyone, i will help you announce it. :-)
<jcastro> \o/
<m_3> SpamapS: love to get your input sometime on what we've learned about packaging packaging tools like pear,cpan,cran,ctan,gems,npm
<m_3> seems like it's a tough line to maintain
<SpamapS> m_3: its not really..
<SpamapS> m_3: you package stuff when you want to stabilize it and support it
<SpamapS> m_3: you let people use the tools when things are still in flux
<marcoceppi> Can I trigger a state in a charm?
<marcoceppi> Like an install error?
<m_3> heck, it's the ruby community... constant flux
<SpamapS> marcoceppi: exiting install with return code != 0 will trigger install_error
<SpamapS> m_3: but there are tons of awesome ruby tools that use gems, like sup :)
<marcoceppi> SpamapS: What about during a config change which is doing an install? Should I just exit > 0 and walk away as the explosion goes off in the background?
<SpamapS> m_3: so there is a need to stabilize and support those tools while not hampering people using gems. Thats why gems puts stuff in /usr/local :)
<SpamapS> marcoceppi: that will be config_error then
<m_3> marcoceppi: that'd be a good feature in general... the ability to set status... far wishlist though
<marcoceppi> Okay, I'll just exit 2 or something
 * m_3 likes the visual of calmly walking away from the explosion
<SpamapS> marcoceppi: can you explain further what you're trying to accomplish?
<m_3> SpamapS: I see... so the process of taking a gem and stabilizing it into a package is the key
<marcoceppi> SpamapS: During phpMyAdmin charm, if you switch to or from upstream it essentially reinstalls PMA and sets it up again. I want to capture an "Install Fail"
<hazmat> we talked about manually poking transitions/states but backed off as it was very implementation oriented
<m_3> hazmat: gotcha
<marcoceppi> m_3: http://devastatingexplosions.com/
<m_3> favorite
<m_3> site
<m_3> ever
<m_3> blows away jono's sad trombone... literally
<jcastro> how is this not hooked up to juju destroy-environment yet?
<jcastro> just open the browser and do it
<marcoceppi> +1
<m_3> nice
 * marcoceppi aliases command
<jcastro> so hey guys I had a new thought as I read jelmer and poolie talking about a launchpad charm
<jcastro> a use case I don't think we've put alot of concious effort into so I thought I'd just put it out there.
<jcastro> Charming a complicated service -> lower entry for contribution
<jcastro> so like if you ever remember LP hacking in the old days, vs. what a full charm would look like
<m_3> yeah, they were talking about a pushbutton ec2 lp test env... perfect for a charm
<jcastro> right, but usually with charms I am thinking "if you make a charm, users can use your service quickly."
<m_3> jcastro: oh, saw you filed the bug
<jcastro> and I rarely think about using it as a way to get a project's code in contributor hands
<SpamapS> nijaba: so.. the tests are destructive to $HOME/.ssh (if they fail halfway through you get weird stuff in known_hosts and authorized_keys)
<SpamapS> nijaba: ssh makes it near impossible to override ~/.ssh ... so I'm going to just skip all peer tests if ~/.ssh exists.
<marcoceppi> Dash experts, for dash functions, if you call $1 and there is no param passed will it go nuts?
<marcoceppi> Er, nvm
<marcoceppi> I'm having a hard time figuring out what this error means: lib/common.sh: 1: 1: parameter not set
<SpamapS> with -u, yes
<marcoceppi> OH
<SpamapS> ${1:-''}
<marcoceppi> pft, -u
<marcoceppi> Thank you!
<SpamapS> Its silly, but it forces you to think about whether or not it is optional.
<marcoceppi> in this case, it is
<marcoceppi> but still, good to know
<marcoceppi> I've been so honed in on this issue, I forgot what I was testing originally
<SpamapS> -u forces shell to be at least a *little* more like a real language
<SpamapS> marcoceppi: try and test that, you're bound to get served
<marcoceppi> SpamapS: it works now :)
<m_3> SpamapS: lovin... is what I got
<m_3> totally stuck in my head now, thanks
 * SpamapS can play the m_3-tar like a mutha-#$@!in riot!
<m_3> unhuh
<jrgifford> m_3: rvm or rbenv? I only use rvm, apparently rbenv is "nicer" though. . .
<m_3> jrgifford: either... same here, I've heard good things about rbenv but haven't used it yet myself
<SpamapS> man, I kind of want to write a charm in ruby now just because I'm tired of shell
<m_3> yeah, it's nice to have hashes, scope, and real fn args
<SpamapS> https://code.launchpad.net/~clint-fewbar/charm-tools/buildd-fixes-part-deux/+merge/86753
<SpamapS> Would appreciate a second pair of eyes on this
<SpamapS> nijaba: ^^ changes ch_peer_scp's API
<marcoceppi> m_3: Finally, phpmyadmin is done!
<m_3> marcoceppi: rockin!
<marcoceppi> I'd love a final look-over if you don't mind, before doing all that prog stuff
<m_3> love those commit msgs that start with "Apparently I smoke crack now..."
<SpamapS> :)
 * SpamapS would like to remind everybody that bzr *does* have a rebase plugin if you accidentally "drunk commit"
<jelmer> SpamapS: I thought drunk committing was the whole use case for DVCSes ?
<SpamapS> jelmer: its a corner case I'd say.. though, quite a lively corner.
<marcoceppi> SpamapS: It's too, non-intuitive. I like the way git handles it :)
<marcoceppi> Furthermore, all of my commits are drunken.
 * SpamapS has yet to find something he likes in git
<SpamapS> :-/
<SpamapS> I feel like I'm the only one.
<marcoceppi> SpamapS, you're the only one :)
<m_3> +1
<m_3> git fanboy parade
<SpamapS> some day you guys can show me why it doesn't suck :P
<mchenetz> git tulez!
<mchenetz> rulez!
<m_3> marcoceppi: so, in meta/<ip-addr>, you use "server_name"
<m_3> what you assign to it isn't a hostname though... it's the _service_ name
<marcoceppi> Right, it still uses the IP
<marcoceppi> I thought you could put a "nickname" for servers in PMA but you can't
<marcoceppi> so it's moot to have it, for now
<marcoceppi> but service name is better verbiage
<m_3> but server_name=${JUJU_REMOTE_UNIT%%/*} isn't going to be any kind of address
<marcoceppi> right, it's just the service name
<marcoceppi> m_3: I've renamed it to service_name
<marcoceppi> Though, it still not currently used. It's just there for future ideas
<m_3> ah, ok I was digging around through phpmyadmin config to see where it was used
<marcoceppi> m_3: I could have sworn you could set the "name" of a server in PMA config, but alas you can't
<marcoceppi> When/if I figure out a way I'd like upgrading to be easy for people :)
<marcoceppi> actually, maybe the file should be the name of the service.
<negronjl> SpamapS: I approved https://code.launchpad.net/~clint-fewbar/charm-tools/buildd-fixes-part-deux/+merge/86753
<m_3> marcoceppi: cool... looks good
<marcoceppi> Cool, I'm out for a drink, when I get home I'll prog it up, blog it up, and ping jcastro
<jcastro> marcoceppi: I'll be in the usual places
<jcastro> SpamapS: you still owe me a blog!
<robbiew> jcastro crackin da whip!
<SpamapS> jcastro: its in draft :)
<m_3> marcoceppi: finished... go ahead and promulgate please
<m_3> jcastro: phpmyadmin is out the gate
<jcastro> \o/
#juju 2011-12-23
<nijaba> SpamapS: your branch looks good to me, thanks
<SpamapS> nijaba: cool. Its tough to test really, because of the way openssh handles ~/.ssh
<SpamapS> I'm quite disappointed in that. :-P
<nijaba> SpamapS: yes.  indeed, I just checked my known hosts: what a mess!
<nijaba> and I thought I had protected it wit my cp and mv...
<SpamapS> nijaba: yeah I thought that would work ok too.. but its just too hard
<nijaba> SpamapS: why do you save the generated .ssh in a backup dir?
<SpamapS> nijaba: "just in case"
<nijaba> k
<SpamapS> I'm 99% sure that we won't delete somebody's data..
<SpamapS> but that 1% is *painful* to explain if it comes true
<nijaba> SpamapS:  ssh-agent!  that's what causing us all this pain
<SpamapS> jcastro: you still around?
<SpamapS> jcastro: I am about to post, but if you wanted to time it or anything, I'd be fine w/ holding off.
<SpamapS> nijaba: exactly
<SpamapS> nijaba: -B causes an error
<SpamapS> nijaba: instead of a prompt
<nijaba> SpamapS: I have update my peer-replay branch to the new API and fixes and resubmitted https://code.launchpad.net/~nijaba/charm-tools/peer-replay/+merge/86721
 * nijaba goes to bed now
<SpamapS> nijaba: cool, I'll check it out
<SpamapS> jcastro: blogged. hopefully you get this before getting on a boat
<marcoceppi> wait, jcastro is leaving!
<_mup_> juju/ssh-known_hosts r459 committed by jim.baker@canonical.com
<_mup_> First stab at Orchestra tests
<niemeyer> Good morning all!
<hazmat> g'morning
<niemeyer> hazmat: Morning!
<niemeyer> hazmat: How're things there?
<hazmat> niemeyer, restless, sleep is a valuable commodity i'm lacking
<hazmat> niemeyer, but otherwise awesome
<niemeyer> hazmat: I can imagine, hmmm.. or maybe I can't :-)
<TheMue> hazmat: morning, and my best wishes for you and your family
<nijaba> Hey robbiew!  how is the snow?
<robbiew> nijaba: snow?
<robbiew> no snow in Austin
<nijaba> robbiew: I heard you got snow in tx
<nijaba> robbiew: may not austin
<robbiew> nijaba: Texas is BIG ;)
<robbiew> probably near Dallas
<robbiew> north Texas
<nijaba> robbiew: I know :)
<robbiew> ; )  we get snow occasionally in Austin...but rare and never that much
<nijaba> too, bad! would have been fun for the kids
<robbiew> typically we won't see snow until mid-Jan to Feb...so there's still hope
 * robbiew remembers the blizzard that hit Dallas last year...was still pretty strong once it hit Austin...I had a snowman
<robbiew> lol
<jcastro> m_3: I'm going to organize the incoming new-charms to make sense
<jcastro> what did we agree on, removing the tag or setting the bug status?
<marcoceppi> I think it's now bug status
<marcoceppi> at least, from the last few i've seen
<m_3> jcastro: I thought we'd keep the new-charm and update bug status
<m_3> jcastro: but happy with something else... we just gotta pick
<nijaba> jcastro: yup, bug status seems more appropriate to be able to watch what is going on
<m_3> it's worked pretty well recently handing the bug back and forth with status
<nijaba> SpamapS: around?
<jcastro> nijaba: he's off today
<jcastro> m_3: ok, got it
<nijaba> jcastro: ah, too bad.  There is still a build failure on charm-tools because of sshd.  Not sure what to do...  I guess it will have to wait until the new year
<nijaba> Have a merry xmas everyone.  See you l8ter
<m_3> nijaba: you too!
<m_3> jcastro: bitlbee's out the gate
<jcastro> woo!
<m_3> we should make promulgate notify mup for this channel
 * jcastro nods
<_mup_> Bug #908198 was filed: open-port barfs on a port that was just closed <juju:New> < https://launchpad.net/bugs/908198 >
<SpamapS> nijaba: I'll look again
<SpamapS> m_3: great idea about promulgate. :)
<SpamapS> nijaba: aha, I think we can solve that with -o UsePrivilegeSeparation=no
<SpamapS> hrm that doesn't make any sense
<SpamapS> ah that dir is created in sshd's start script
<SpamapS> which is suppressed on the buildd
<jcastro> m_3: hey so in regards to hindsight about calling the reviewers "charmers"
<jcastro> we should have called them princes
<jcastro> prince charming
<robbiew> why does gwibber suck SOOO bad...every time I upgrade to a new release.<sigh>
<jcastro> I can envision a horrible analogy shirt that robbiew is likely prototyping as we speak
<jcastro> <--- EODing soon
<jcastro> m_3: robbiew: arosales: catch you guys in the new year, I'll be on a boat and away from internet.
<robbiew> jcastro: okay sladen
<robbiew> lol
<jcastro> not that kind of boat
<arosales> jcastro:  enjoy the boat :-) and have a merry Christmas and a happy new year
<robbiew> jcastro: (I know)
<jcastro> a boat with a casino, and pools, and stops at carribbean islands for days on end
<robbiew> heh
<jcastro> and lots of rum. :)
<robbiew> ah...a life w/o kids...I remember those days
<robbiew> :*(
<jcastro> well, my last holiday had parents
<jcastro> but I can't get rid of them. :p
<robbiew> ouch
<robbiew> fair'nuf
<robbiew> enjoy man!
<arosales> jcastro: catch you next year
 * robbiew will be on the metaphorical boat of in-law "happiness" and children-with-no-daycare "love"
<m_3> jcastro later man
<SpamapS> jcastro: indeed, enjoy the carribean. :)
 * SpamapS does not escape fully until next Wed. :p
#juju 2011-12-24
 * nijaba gets closer to taming the build. what a long and painful process
#juju 2011-12-25
<nijaba> SpamapS: if you read this at some point, could you add rsync as a build dep for lp:ubuntu/charm-tools ? thanks
#juju 2013-12-16
<arosales> Debug question: I am hitting: agent-state-info: 'hook failed: "config-changed"'
<marcoceppi> arosales: charm-tools 1.2.5 made it in to homebrew \o/
<arosales> marcoceppi, woot!
<arosales> osx users rejoice
<arosales> re my debug question
<marcoceppi> arosales: someone in the homebrew community helped fix the formula so it wasn't breaking everything
<marcoceppi> arosales: shoot
<arosales> I am running: juju debug-hooks trac/0 config-changed
<arosales> and then: juju resolved --retry trac/0
<arosales> in a separate window but now info is being shown in the tmux session
<arosales> go homebrew community!
<marcoceppi> arosales: close debug-hooks, run it without the hookname
<arosales> s/now/now
<marcoceppi> juju debug-hooks trac/0
<arosales> s/now/no/
<arosales> marcoceppi, ok I'll get that a try my previous "retry" seems to have fixed the error
<arosales> marcoceppi,  "juju resolved --retry trac/0 " still gives me nothing on my debug tmux when trying to debug  agent-state-info: 'hook failed: "config-changed"'
<marcoceppi> arosales: 1.16.5?
<arosales> correct
<arosales> marcoceppi, beside juju-gui are there any other charm store charms that have tests?
<arosales> marcoceppi, I didn't see wordpress with one . . .
<marcoceppi> arosales: postgres
<arosales> marcoceppi, any of them using amulet?
<beuno> noodles775 and sidnei have worked on adding tests to a few charms
<beuno> they may know
<arosales> beuno, thanks
<sidnei> haproxy, squid-reverseproxy, apache2, none using amulet
<sidnei> and those are only 'unit' tests, they don't test a juju deployment
<arosales> sidnei, gotcha and thanks for the info.
<arosales> sidnei, do these charms all function with "juju test"
<sidnei> arosales: never tried
<marcoceppi> arosales: if they don't have a tests dir, then now
<arosales> sidnei, ok and thanks for the info.  We are working on charm testing infrastructure with juju test looking in test sub dir. So we'll see how these tests arehandled
<marcoceppi> no*\
<sidnei> marcoceppi: they have a hooks/tests dir fwiw
<lazypower> have the docs for testing juju charms been updated?
<marcoceppi> lazypower: no :(
<lazypower> marcoceppi: Hit me up later this week and I'll lend a hand.
<marcoceppi> sidnei: if you made a file in tests/00-unittest you could have that bash script execute the unit tests in hooks/tests
<sidnei> marcoceppi: definitely
<arosales> sidnei, ah I see that for apache2 charm (ie hooks/tests/*)
<lazypower> I need to write tests for the errbit charm - may make for some good documentation coming from someone completely new to the system. We'll record it and transcribe into docs?
<marcoceppi> sidnei: that'd be a great test to include in addition to fucntional tests
<marcoceppi>  /me loves unit testing
<marcoceppi> arosales: thanks for doing a review, any bit helps empty the queue is appreciated
<arosales> marcoceppi, it is a very rookie review, just touching on the basics
<arosales> marcoceppi, but glad to help where I can
<arosales> sidnei, +1 for calling your testing for the test sub dir so we can test those in our charm testing automation
<InformatiQ> does every web app needs in metadata: "provides: website"?"
<marcoceppi> InformatiQ: it's not a requirement, but we highly suggest it
<InformatiQ> marcoceppi: marcoceppi but then i get "I: relation website has no hooks"
<marcoceppi> InformatiQ: you should have some relation hookos
<_bjorne> someone now why im alwas get this answer in apache logfile: /MAAS/metadata//2012-03-01/user-data HTTP/1.1" 404 200 "-" "Python-urllib/2.7" on the second and so on.. the first node is function not the others.
#juju 2013-12-17
<InformatiQ> it seems that when destroying a mysql relation and adding it again the smae databse name is reused, is that expected?
<_bjorne> and how i am fix that?
<InformatiQ> charms are not as simple as I thought they were
<_bjorne> and im need to make charms for get function in node2-XXX when node function good with juju status?
<_bjorne> and see all others node with juju status?
<_bjorne> this is happend when im install for the first time, for me that looks like bug in maas.
<_bjorne> the first node run dist-upgrade and install lxc and mongodb and the rest of nodes have problem to read user-data.
<arosales> InformatiQ, _bjorne: US folks are about end of day but some folks in later time zones should be coming on line shortly
<InformatiQ> arosales: my eyes are getting blurry i'll end my day too
<davecheney> _bjorne: hello
<davecheney> lets start from the top
<davecheney> 11:20 < _bjorne> and im need to make charms for get function in node2-XXX when node function good with juju status?
<davecheney> could you explain a little more what you want to do
<davecheney> _bjorne: ping
<lazypower> Can someone point me in the direction of a charm that consumes MongoDB so i can evaluate the relationship change hooks? I need some examples
<lazypower> Hey this handy pane in the charm store solves that, nevermind.
<noodles775> marcoceppi: So I've updated to amulet 1.1.2 and I still get the same error I mentioned last week (No such file or directory: 'precise/relation-sentry/metadata.yaml'). I'll fork and play around.
<noodles775> http://paste.ubuntu.com/6587980/
<aquarius> I have two subscrriptions in my Azure account. I deployed to the first subscription with juju, and now the Azure team have transferred all my VMs etc into the second subscription.
<aquarius> However, I now can't connect to my VMs with the juju command line util
<aquarius> it says "2013-12-17 09:22:01 ERROR juju supercommand.go:282 cannot obtain storage account keys: GET request failed: ForbiddenError - The server failed to authenticate the request. Verify that the certificate is valid and is associated with this subscription. (http code 403: Forbidden)"
<aquarius> I tried changing the "management-subscription-id" in ~/.juju/environments.yaml to be the new subscription ID but that hasn't helped.
<aquarius> what do I need to do to fix this?
<aquarius> aha! I need to edit .juju/environments/azure.jenv
<aquarius> and now it works, hooray :)
<noodles775> marcoceppi: https://github.com/marcoceppi/amulet/pull/3
<marcoceppi> noodles775: DOH, thanks
<noodles775> np :)
<marcoceppi> noodles775: I'll merge this and bump to 1.1.3
<noodles775> marcoceppi: there's no rush releasing for me - I can work from trunk (I'll probably have other changes later).
<marcoceppi> noodles775: cool, I'll wait till end of week then
<Informat1Q> what does a website relation needs to do in the case the app is not scalable ?
<ashipika> hi.. can somebody please explain which hook is run when i run destroy-service? or when i remove a unit?
<Informat1Q> ashipika: yo could always run juju debug-hooks unit and see what it wants to open there
<Informat1Q> ashipika: destroy-unit runs : database-relation-departed database-relation-broken and stop
<Informat1Q> i assume all other destroy do the same
<ashipika> thanks!
<Informat1Q> marcoceppi: if you feel like it you could look at my trac charm update
<marcoceppi> ashipika: destroy-service will break all relations, then execute the stop hook
<marcoceppi> Informat1Q: I see it's in the queue, I'll review it shortly
<ashipika> excellent.. so if i want to un-install anything this is the palace to do it
<jhf> hey jcastro just fyi I am rotating back to liferay/juju goodness. gonna update the charm today with the latest LR release and see about implementing (or at least POC'ing) your idea from oscon
<X-warrior> I have a subordinate charm (logstash-agent) i deployed it, and later I tried to add relation between it and one of my services... the subordinate service status on this service was pending for a long time, then I tried to remove the relation... but the subordinate keeps showing when I use juju status :S
<noodles775> marcoceppi: If I have a tests/00-initial-setup amulet test, and want tests/01-config-changes , can amulet pickup recreate it's deployment based on juju status, or do they need to be in the same file for now?
<marcoceppi> noodles775: the typical pattern for juju-test is to destroy and re-create before each test is run. juju-test can be configured to not do that, but they should be in the same file for now
<marcoceppi> noodles775: if you wanted, you could express your setup in like a helper/setup.py file within the tests dir, to keep from copying a lot of code around
<X-warrior> Checking the juju log file (the one names as logstash-agent) I see a lot of exec: /var/lib/juju/tools/unit-logstash-agent-0/jujud: not found
<noodles775> marcoceppi: the helper/setup.py is a good idea - let me try that. Thanks!
<jcastro> jhf, heya, I have some updates for you
<jcastro> jhf, if you have an updated "charm-tools" doing a "charm add readme" will add a new template.
<jcastro> I added places for you to put links to your webpage and a bunch of other stuff.
<jcastro> jhf, also, the designer of the juju store has told me that your icon is too square. :) But I have an inkscape  template for you if you want to give it a shot.
<jhf> hahahahaha
<jhf> too square. we can put your designers and our designers in a boxing ring and get some popcorn
<jhf> crap. the boxing ring would be square too
<jcastro> dude ours makes up words ... He says it needs to be a squircle.
<jhf> hahahahahahahahahaha
<jcastro> https://juju.ubuntu.com/docs/authors-charm-icon.html has the template
<jhf> I remixed our logo one time and got admonished bigtime
<jhf> they were all "this does not conform to branding" with a sad face
<jhf> ok thx I'll get cracking
<jhf> and blogging once I make progress on a nice clustered/haproxy'd POC I've been meaning to do
<jhf> wow. I thought you were kidding about squircles
<jcastro> I never kid when it comes to squircles
<X-warrior> marcoceppi: sorry to call you directly, but I'm stuck on this for a while. Are u busy? Could u give me some help?
<marcoceppi> X-warrior: if you're getting jujud not found, something went wrong during deployment
<marcoceppi> X-warrior: also, np on pinging me directly, I sometimes miss messages in here
<marcoceppi> X-warrior: do you have the latest juju 1.16.5?
<X-warrior> nope I'm still at 1.16.3
<marcoceppi> I think this was fixed in 1.16.5, but I can't be certain
<X-warrior> marcoceppi: should I do same way as last time? upgrade from 1.16.3 to 1.16.4 and then to 1.16.5?
<marcoceppi> X-warrior: you should be able to jump directly to 1.16.5, since it's all patch changes. However, to play it safe you may want to go .4 => .5
<marcoceppi> sinzui_: opinions on upgrading within the 1.16 line? ^
<X-warrior> marcoceppi: already update it
<X-warrior> is that --force option on 1.16.5?
<X-warrior> I have this logstash-agent subordinate as dying and never goes away, and the same to the 'deployed' logstash-agent...
<X-warrior> :S
<marcoceppi> X-warrior: can you --force destroy those?
<X-warrior> juju destroy-service logstash-agent --force?
<X-warrior> error: flag provided but not defined: --force
<marcoceppi> X-warrior: is your local juju 1.16.5?
<X-warrior> juju version say it is at 1.16.5
<marcoceppi> huh
<X-warrior> :S
<rick_h__> sinzui_: ping, got time to chat sometime today?
<sinzui_> rick_h__, in a meeting at the moment
<X-warrior> and if I try to reploy to 'override' it, it shows that the service already exists :S
<rick_h__> sinzui_: np, any time. No hurry at all. Even later in the week if that works.
<rick_h__> arosales: also, can I nab a quick call if you get time about this azure stuff.
<arosales> rick_h__, sure. I got time this afternoon if that works for you.
<rick_h__> arosales: sure thing, thanks.
<arosales> rick_h__, cool gcal invite sent
<rick_h__> arosales: thanks
<X-warrior> marcoceppi: is the only solution to destroy the environment?
<sinzui_> X-warrior, marcoceppi , juju 1.16.x is compatible between all patch-levels (0 - 5). Juju will always pick the newest patch-level (1.16.5 as of today) when bootstrapping a deploying
<sinzui_> X-warrior, marcoceppi  in CI we ensure the version under test by calling "juju upgrade-juju --version=1..16.<level>" which can downgrade as well as upgrade
<X-warrior> sinzui_: well I did upgrade from .3 to .4 and then to .5 it worked
<X-warrior> :D
<X-warrior> anyway thanks
<X-warrior> :D
<ekristen> I see linux-lxc containers are supported
<ekristen> are their plans to support docker?
<lazypower> ekristen: there is already a docker charm if that helps. But hooking into docker from what I can tell is under active dev
<ekristen> cool and cool
<ekristen> Iâm trying to understand how juju works with respect to how servers get stood up
<lazypower> I have a question relating to using chef during my runtime of the charm hooks. Chef solo is getting executed beautifully, however the hooks are somewhat limited from what i can tell
<ekristen> I see you can integrate with AWS
<ekristen> is each service deployed a server? or does juju re-use a server for multiple charms?
<lazypower> I've got an issue where including gems that are present in the global gemsets, but not from within the juju executed chef-solo instance and I haven't been able to put my finger on why. I have debug output in a bug filed against the charm skeletong i used.
<lazypower> ekristen: you can deploy multiple services to the same machine with the --to flag
<lazypower> eg: juju deploy wordpress --to 1
<lazypower> juju deploy mysql --to 1
<lazypower> however by default, it will deploy to seperate machines
<lazypower> https://github.com/Altoros/juju-charm-chef/issues/2
<ekristen> lazypower: how do new servers get setup and or when do new ones get added?
<lazypower> is the open debug output for chef
<lazypower> ekristen: its alll provisioned by juju during the dpeloyment phase. hang on i have a quick 1:1 with a co woker and i'll come back ot this.
<ekristen> lazypower: ruby is a pain
<ekristen> lazypower: depending on how it is setup the gem might not beavailable to the environment that chef is running in
<ekristen> but it is available to your user
<lazypower> Well i want to point a finger at bundler
 * lazypower snaps
<lazypower> i bet thats it, i bet its shelling out chef-solo using bundler. so its not in the gemset
<lazypower> Thank you!
<lazypower> ekristen: so, there's a few methods you can add machines to your juju environment
<ekristen> I found the initial part I was missing
<ekristen> juju bootstrap
<lazypower> you can manually bootstrap them, or let the juju provisioner handle it for you. Which environment will you be running?
<ekristen> AWS
<ekristen> how to I contorl instance sizes?
<lazypower> ok, is that after you've tested using the local provider? or do you want to do all your testing in AWS?
<lazypower> using the constraints, i found a good post on it, 1 sec and i'll fish it up for you
<lazypower> http://askubuntu.com/questions/52021/how-do-i-adjust-the-instance-size-that-juju-uses
<lazypower> ekristen: ^ thats for you
<lazypower> for example if you want to deploy a micro, its --constraints "cpu-cores=0"
<ekristen> well Iâm on mac, but I could spin up a ubuntu image to do local testing on
<lazypower> My suggestion is to either use vagrant, or if you have access to a ubuntu server on bare metal, go that route. LXC and the local provider makes testing a breeze
<lazypower> and the low cost alternative to using EC2 as your testbed
<ekristen> lazypower: how does it handle scaling a web app and routing between multiple endpoints?
<ekristen> or maybe it doesnât?
<lazypower> routing to multiple endpoints is dependent on your configuration, like if you're using haxproxy charm.
<lazypower> but scaling is as easy as juju add-unit service-name
<ekristen> so there are charms that I can use to build a relationship between multiple instances of a service?
<lazypower> and it handles scaling down in a similar fashion with juju remove-unit service-name
<lazypower> Correct
<ekristen> :)
<lazypower> ekristen: i want to make sure i'm ot leading you astray. Relationships define that, and juju relationships are added on the service level
<lazypower> I'm fairly certain that machine level relationships are supported but may take some configuration. Perhaps someone else would like ot step in on that statement for validation?
<ekristen> right, now is there a master juju server that gets created at bootstrap time?
<lazypower> There is, the juju controller occupies machine 0
<maxcan> hey marcoceppi, lazypower, you both have a paper trail charm in the store and as far as I can tell, you're partners.  is one of them preferred?
<ekristen> I keep getting âno public ssh keys foundâ when I try to bootstrap local
<ekristen> but I have a key
<_bjorne> Hello, why can im only see one node in juju status, that node runs dist-upgrade and install lxc and mongodb, and the other nodes is NOT run dist-upgrade and installing lxc and mongodb, that nodes cant find user-data.. only the first one can find it, have im doing some wrong or is that a bug in maas or juju?
<ekristen> once I expose something how to I get access to it? ie juju gui?
<bac> ekristen: 'juju status' will show its public ip address when it is started.
<ekristen> bac: Iâm using local for testing
<ekristen> so it has a 10 ip
<bac> ekristen: ok, can you go to that address in your browser?
<ekristen> whats the best way to get access to that since my network is no the 10 network, static routes?
<bac> ekristen: lxc will have created routes for the 10. network from the host machine
<ekristen> k
<ekristen> Iâm not using the host system to connect though
<ekristen> so Iâll have to setup some other routing
<_bjorne> why im alwas get this error: GET /MAAS/metadata//2012-03-01/user-data HTTP/1.1" 404 200 "-" "Python-urllib/2.7 from second node and up?!
<ekristen> hrm it wonât route my traffic right :/
<rick_h__> arosales: in call
<arosales> rick_h__, joining
<lazypower> maxcan: my charm is a s ubordinate service and it configures the remote_syslog gem for arbitrary logging and rsyslog/syslogng out of the box
<lazypower> maxcan: so feel free to use my flavor of teh charm and file any bugs you run into. Its working like a dream here but I dont know what your particular setup is so all issues / comments welcome
<maxcan> awesome
<maxcan> also, did you get my note the other day about getting a very rough MMS charm up on github?
<lazypower> I did not, i seem to have missed it
<lazypower> if you shoot me the link i'll watch the repository :)
<lazypower> and try to get it hooked into my juju managed mongodb stack here at work
<maxcan> https://github.com/docmunch/mongodb-management-service-charm
<ekristen> how do I search for charms via the cli? or can I?
<lazypower> maxcan: hey i like the groudwork here
<_bjorne> are that someone who now this: when you installing maas and juju, and begin to installs nodes, should nodes one after one, so i can see them in juju status? or is that only one node that coming there? or do need to do anything more for add the others nodes?`
<_bjorne> none who now my question?
<maxcan> lazypower: thank you sir
<maxcan> are you referring to the DRY SVC_NAME variables and things like that?
<maxcan> its because I wrote my internal charm that way so making new charms would be easy
<ekristen> juju seems to take a long time to stand up new charms with no feedback? system is sitting at 0.01 load average, nothing seems to be happening, is there a console or log that can be watched?
<ekristen> can someone explain to me why I have 3 machines now locally one being raring, the other being precise and now one for oneiric? is that because Iâve chosen to deploy some apps from different repositories that require different distros?
<ekristen> or is that an artifact of using the local lxc model vs AWS
<sarnold> _oneiric_??
<ekristen> test nodejs app?
<ekristen> Iâm just going by juju status
<marcoceppi> ekristen: lets take it one at a time. It seems you're using the local provider. You'll find logs for each of the units/machines in ~/.juju/local/log
<marcoceppi> ekristen: machine 0 will always be whatever version of Ubuntu your computer is, in this case raring. If you deploy a charm with an oneiric series, you'll get an oneiric machine. We recommend you not use oneiric charms unless you have to. Most all charms should be coded to use precise
<ekristen> it errorâd out anyways on the oneiric
<ekristen> so Iâll stick to precise ;)
<ekristen> is there docs on how relationships are defined? do they set environment variables in other apps?
<ekristen> and thanks marcoceppi
<marcoceppi> ekristen: no, relationships are defined in the metadata.yaml file, and data is sent/recv using special juju commands
<marcoceppi> ekristen: https://juju.ubuntu.com/docs/authors-charm-interfaces.html
<ekristen> but doesnât the relationship expose connection infromation?
<ekristen> where does the node.js app look for the mongodb connection information once the relationship is established? maybe thats a better question?
<marcoceppi> ekristen: using relation-get to pull the data
<ekristen> ah
<ekristen> so the app needs to know how to use relation-get
<ekristen> gotcha
<marcoceppi> ekristen: no, the charm needs to use relation-get
<ekristen> ok
<marcoceppi> ekristen: then it saves it to disk
<ekristen> ok
<ekristen> marcoceppi: so if had a webapp to deploy then Iâd need to create a charm around it
<lazypower> maxcan: yeah your variable structure and your thought patterns in hte hooks make sense to me
<maxcan> sweeter words, a developer will never hear
<lazypower> Flattery, one of the many services i offer. I'll be here all week.
<ekristen> another question â if I am using AWS and I deploy my node-app or rails app and I scale it to 5, how are the apps not interfering with each other
<ekristen> are they being put into lxc-containers? likewise if I stand up multiple mysql services
<ekristen> lazypower: if I have an node app do I need to create my own charm or can I leverage teh node-app charm that already exists, it seems like I should be able to leverage the existing one?
<lazypower> you can leverage the node-app charm as the framework tod eploy your application
<ekristen> if I want my devs and stuff ot be able to setup their own environments in the own local setup, would I need to create my own custom charm and host it somewhere then?
<lazypower> ekristen: if you deploy to aws and use unit-add to scale up your application, they all get their own application server unless you specify which unit to deploy to with --to, this may cause problems with some charms, it all depends on the underlying charm "recipe"
<lazypower> yeah, you can either have them deploy the charms from your local repository or push them to launchpad for deployment from there, it depends on your requirements.
<ekristen> really each gets their own ec2 instance :/
<lazypower> I hesitate to give you blanket answers ekristen because juju is very flexible.
<ekristen> fair enough, Iâm in the learning state right now
<lazypower> Again, it depends on your needs and how hte charm recipe operates. I'm not 100% familiar with the node charm. I'd b emore than happy to review it with you later this evening if you will be around.
<ekristen> ok, well Iâm going to dive into it more and learn about making charms
<ekristen> anyone in here a node.js + juju kung fu expert?
<lazypower> You'll yield better luck asking specific questions rather htan looking for someone thats an expert in the field :)
<ekristen> fair enough, just looking for advice or docs, or lessons learned on deploying apps using juju
<marcoceppi> ekristen: we have a node-app charm
<ekristen> I did see that, sorry, Iâm coming from a PaaS mentality like Cloud Foundry, or OpenShift, this is definitely different, so Iâm trying to understand how the whole thing works
<ekristen> the docs really do not talk about how charms are deployed, ie server per charm or do they share automatically, things like that
<marcoceppi> ekristen: so juju is not a paas. You deploy a charm as a service, then you can scale that service. If you want to deploy multiple node-apps you can, but they'll be on their own servers
<marcoceppi> ekristen: also, if you want to deploy cloud foundry, you can do that with juju too :)
<ekristen> I get that, Iâm honestly trying to figure out the best way forward for my company in terms of app deployment and scaling our apps in the cloud, Iâve used CF in the past, but its a pain to setup and supports a lot mroe then what we need right now
<marcoceppi> ekristen: well, let me know the specific questions you have, would be happy to help you sort them out
<ekristen> marcoceppi: is there any way to make juju deploy a service in lxc-containers on a machine, allowing you to more effectively utilize the hardware being provisioned?
<marcoceppi> ekristen: yes, it's still a little rough, but you can do it https://juju.ubuntu.com/docs/charms-deploying.html#deploying-to-machines
<marcoceppi> thumper: how is container support in juju w/t networking like now?
<ekristen> marcoceppi: the considerations at the bottom regarding working on containerizing everything is that just using lxc for everything or using docker?
<marcoceppi> ekristen: everything is with lxc at the moment. Support for other platforms is being added/considered
<marcoceppi> ekristen: but as it stands, the default action is always one machine per unit, unless you explicitly state containers
<ekristen> marcoceppi: ok, thanks, might I assume there is a way to specify instance size when deploying a unit?
<ekristen> regarding aws specifically?
<marcoceppi> ekristen: yes, using constraints, https://juju.ubuntu.com/docs/charms-constraints.html
 * ekristen goes to read
<marcoceppi> ekristen: at the moment, most constraints are generic, so you say how many cpu-cores and memory you want, juju will find an instance type that matches
<ekristen> oh interesting
<ekristen> ok
<thumper> marcoceppi: oh hai
<marcoceppi> o/
<thumper> marcoceppi: pretty much as it was, container networking still has work pending
<thumper> marcoceppi: works mostly on maas, but not too well on anything else
<marcoceppi> thumper: ah, gotchya. Same story with KVM re: networking?
<thumper> yep
<thumper> KVMs are now possible
<thumper> but communication is still limited
<marcoceppi> thumper: thanks for the update
<ekristen> yes thank you
<ekristen> does juju support aws vpc?
#juju 2013-12-18
<marcoceppi> ekristen: not at this time
<marcoceppi> ekristen: juju strives to remain cloud/provider agnostic
<ekristen> marcoceppi: alright, thats a bit of a bummer, but understandable
<lazypower> marcoceppi: I just wrapped my cut of the papertrail demo for the support guys over at papertrailapp.com
<ashipika> Hello.. a question about apache2 charm, which may be a question about juju underlying logic: is it possible to have multiple vhosts? for example, if i want to provide web interface to two different services?
<yolanda> hi, suddenly i started receiving this errors when bootstrapping juju: ERROR failed to GET object provider-state from container juju-4d005531aa4dcd1ff5c9ab94a3711a29
<yolanda> it was working fine until this morning
<mgz_> yolanda: what happens if you manually try and get that using the swift client?
<yolanda> mgz, sorry,how can i do it? however, i enabled debug on the call and i see: caused by: Authentication response not received in 1m0s.
<mgz_> yolanda: have you got python-swiftclient installed?
<yolanda> mgz_, yes
<mgz_> yolanda: then just do something like `swift list juju-4d005531aa4dcd1ff5c9ab94a3711a29` and see if it has a provider-state
<yolanda> http://paste.ubuntu.com/6593417/
<mgz_> yolanda: and does swift stat say that read acl is .r:*?
<yolanda>  Read ACL: .r:*,.rlistings
<mgz_> yolanda: okay, do `swift --debug stat juju-4d005531aa4dcd1ff5c9ab94a3711a29 provider-state`, then pick out the url for that object, and try just curling it
<mgz_> (without the auth token, is the relevent bit)
<noodles775> InformatiQ: Did you create a bug the other day for the charm caching on local provider? I'm seeing the same thing... (ie. new bootstrap, deploy, and get the old version of the charm, as if the machine-0 lxc container is re-used, although that sounds unlikely given that it should have been lx-destroy'd)
 * noodles775 searches
<InformatiQ> noodles775: no i didn't i was not sure it is my fault or no but  the --upgrade help avoid it
<noodles775> OK, I'll create one so it gets tracked.
<InformatiQ> noodles775: I actually found out that destroy-env does not clean lxc containers well
<noodles775> Ah - interesting, let me know if you'd prefer to create th ebug with those details...
<InformatiQ> that one i need to create today as it gets annoying when you want to scrap and recreate
<InformatiQ> noodles775: please do create a bug for the caching issue and I will add my notes as i verify them
<noodles775> Cool.
<noodles775> InformatiQ: https://bugs.launchpad.net/juju-core/+bug/1262144
<_mup_> Bug #1262144: Charm cached and re-used after re-bootstrap on local provider <juju-core:New> <https://launchpad.net/bugs/1262144>
<yolanda> mgz, ERROR:swiftclient:Container HEAD failed: https://swift.canonistack.canonical.com:443/v1/AUTH_24d5fd18826047c68f73e4faaba87b42/juju-4d005531aa4dcd1ff5c9ab94a3711a29 404 Not Found
<mgz_> yolanda: after swift list succeeded for the same container?
<yolanda> mgz_, mm, not found now
<yolanda> i think that previous test was incorrect because i also had some deployments in zone 1
<X-warrior> marcoceppi: yesterday I did an update from 1.16.3 to 1.16.5. It worked. but now checking a config file, I see that my db user has been changed. Could it be the update process? Other thing is the RSA fingerprint, does the update change anything like this?
<dpb1> marcoceppi, would you mind looking at the storage and swap charms that I have out there?  I submitted bugs for them and MPs, is there something else I should do?
<marcoceppi> dpb1: links?
<marcoceppi> dpb1: If they're not in https://manage.jujucharms.com/tools/review-queue I don't know about them
<dpb1> https://bugs.launchpad.net/charms/+bug/1260100
<_mup_> Bug #1260100: Create a simple subordinate swap charm <landscape> <swap> <Juju Charms Collection:New> <https://launchpad.net/bugs/1260100>
<dpb1> https://bugs.launchpad.net/charms/+bug/1259630
<_mup_> Bug #1259630: add storage subordinate charm <landscape> <Juju Charms Collection:New> <https://launchpad.net/bugs/1259630>
<dpb1> marcoceppi: they can't show up in that queue I guess since they are new charms
<marcoceppi> dpb1: they totally can, you just need to make sure charmers is assigned to the bug
<marcoceppi> err
<marcoceppi> dpb1: make sure charmers is subscribed to the bug
<dpb1> ok
<marcoceppi> dpb1: you also need to be assigned to the bug
<dpb1> I subscribed them to both
<dpb1> assigned myself to both
<marcoceppi> dpb1: https://juju.ubuntu.com/docs/authors-charm-store.html#submitting
<marcoceppi> dpb1: check back in about 6 mins, they should show in the queue
<marcoceppi> dpb1: I'll be doing review most of today to get the queue cleaned out by the end of the week
<rawang> HI, one quick question, is that possible to only sync tools against precise when I run "juju sync-tools --show-log"
<dpb1> marcoceppi: thx... missed that part on the docs
<rawang> sync the juju with all distro and all arches is so time-consuming
<marcoceppi> rawang: it looks like you can only sync specific versions, sync will always move all available tools series over
<marcoceppi> rawang: you could do --version 1.16 to speed it up
<rawang> marcoceppi, i think by default  it will sync the latest version
<rawang> marcoceppi, but i use precise amd64 , I don't want raring, saucy tools, neither i386 tools
<marcoceppi> rawang: there doesn't seem to be a way to filter past that constraint at this time. If you open a bug against juju-core on lp, it'll be evaluated as a feature
<rawang> marcoceppi, ok, i will find a time to do it, meeting atm :)
<mgz_> marcoceppi: are you free to answer some amulet questions?
<marcoceppi> mgz_: yeah
<mgz> so, vila and I are trying to use amulet as part of some test setups
<mgz> and have hit various issue
<mgz> we've got a couple of changes that seemed to help, but amulet is still trying to create a sentry for a subordinate unit, which breaks
<mgz> are the sentry parts meant to be usable currently?
<marcoceppi> mgz: they are, but I can see how a sentry for a subordinate would be a bad idea
<marcoceppi> mgz: I'll add a clause to not create a sentry per subordinate, and to have the subordinate's sentry entry use that of the parent unit
<marcoceppi> mgz: are you using the packaged version or trunk?
<mgz> marcoceppi: trunk
<marcoceppi> mgz: from github, correct?
<mgz> no....
<marcoceppi> mgz: the trunk on lp is pretty far behind
<mgz> you leave a stale launchpad branch around? :)
<mgz> what's the actual trunk then?
<marcoceppi> mgz: I was syncing them, but it became too tedious
<marcoceppi> mgz: here, for the time being, https://github.com/marcoceppi/amulet
<marcoceppi> that still doesn't fix your problem but I can have it patched relatively soon
<mgz> marcoceppi: I'll also port across the stuff we noticed
<marcoceppi> mgz: please!
<lazypower> marcoceppi: couldn't you set up a githook to call bzr and publish your changes into launchpad?
#juju 2013-12-19
<lazypower> Excellent. Turns out it was due to bundler scoping the env, awesome.
<lazypower> sorry - being unable to call pry in the chef cookbook during runtime. The charm skeleton was doing best practice by piping the chef-solo run through the bundle
<lazypower> How can I tell if my unit already has a relationship with another charm? I'm seeing a way to get the relation ids, and the list, but I'm looking more to see if it has an implicitly defined relationship with mongodb
<lazypower> since thats defined in the yaml, i assume its got a boolean call to discover if relation-get('mongodb') exists?
<marcoceppi> lazypower: I use dot files to track when relations are created, etc
<lazypower> That works, thanks
<marcoceppi> lazypower: I'll also stuff data in there, so I don't have to call the relation commands, I can just read the contents of the dot file
<lazypower> i was thinking about that, using it as a storage unit.
<noodles775> jam: RE the cached charms when deploying locally, is there a way I can work around that (other than --upgrade)? I want to re-run an amulet test on my bootstrapped env (which doesn't use --upgrade when deploying).
<jam> noodles775: I don't know of a way offhand, I didn't find where they were being cached
<noodles775> jam: when running locally, is machine-0 even an lxc? It doesn't seem to be, perhaps it's talking to a mongodb somewhere that I need to clear.
 * noodles775 looks around.
<jam> no
<jam> machine-0 runs mongodb on the local system
<mgz> noodles775: one option there is to have your setup in amulet using a juju-deployer config, rather than doing deploy() calls and so on
<mgz> so, you can then run the same thing again (which juju-deployer copes with), and just have the assertions changed
<noodles775> OK, thanks mgz.
<mgz> noodles775: I'd love to see your test stuff if you can point me at it
<noodles775> mgz: http://bazaar.launchpad.net/~michael.nelson/charms/precise/elasticsearch/trunk/files
<mgz> noodles775: thanks!
<mgz> marcoceppi: are you aware of any charms actually using the python-django application charm thing? I'm trying to find an example.
<marcoceppi> mgz: cjohnston might know. I think he was using it
<marcoceppi> but he's not in the channel
<mgz> marcoceppi: I think I'm looking at his code, and it's just doing the use-this-launchpad-branch thing
<mgz> marcoceppi: put up a pull request for amulet on python 2 btw
<marcoceppi> mgz: Thank you! I've been meaning to this for a while now
<mgz> if you're curious about what we've been up to as well, see:
<marcoceppi> mgz: I'll make sure it gets packaged python and python3
<mgz> <http://bazaar.launchpad.net/~canonical-ci-engineering/ubuntu-ci-services-itself/trunk/view/head:/tests/ppa_assigner/test.py>
<marcoceppi> o/
<rbasak> jackweirdy, marcoceppi: o/
<sinzui> marcoceppi, I see intermittent failures deploying to mysql on HP. I wonder if the machine is under powered. Do you think 2G for mysql + juju agent is low?
<marcoceppi> sinzui: this is a problem with a specific region of HP Cloud
<marcoceppi> I think az2
<marcoceppi> I haven't been able to pinpoint. Works flawlessly in az1
<marcoceppi> and az3
<sinzui> marcoceppi, I see the problem on az-3. I just changed CI to use more ram and didn't see the mysql state error. I will let CI run a while to confirm the failure has become rare
<marcoceppi> sinzui: thanks
<rick_h__> sinzui: just a heads up, still would love to chat a bit if you get time this week
<sinzui> rick_h__, sure. maybe in an hour or so.
<sinzui> rick_h__, fate is conspiring against me. My wife's car is misbehaving. I don't have any meeting tomorrow. Ca we talk in the morning?
<rick_h__> sinzui: sure thing, no hurry
<_bjorne> can someome explain for me why im alwas get this from node 2 and up?!?!?!?! GET /MAAS/metadata//2012-03-01/user-data HTTP/1.1" 404 217 "-" "Python-urllib/2.7
<_bjorne> and im not get that on node 1
<_bjorne> what im doing wrong?
<_bjorne> no one here?
<natefinch> _bjorne, try #maas you might get more luck.
<_bjorne> natefinch should all nodes from scratch, can i see them in juju status or do im do anything more?`
<natefinch> _bjorne, you will need to do juju add-machine (or juju-deploy, which will add a machine and deploy a service to it) in order to see machines in juju status.
<_bjorne> if im not do add-machine? im see only the first node/machine?
<natefinch> _bjorne, yes, that's the correct behavior.  We only acquire machines as necessary.
<_bjorne> ok and after that, machine 2 runs dist-upgrade and install lxc and mongodb?
<_bjorne> can you tell me how im write add-machine a example? :) im new on this :/ and not new with computers and linux :)
<_bjorne> are that like this only im need to write if im want to add a new machine?  juju add-machine lxc
<natefinch> _bjorne, it should just be a matter of "juju add-machine"  All that really does is requisition a machine from MAAS and start it running.
<_bjorne> okey
<natefinch> _bjorne, add-machine lxc will start a new machine and put an empty lxc container on it.  Containers are optional, you don't need to use them unless you want to for some reason.  by default, things deploy just to the base machine
<natefinch> _bjorne, the usual way to use juju is to set up your ~/.juju/environments.yaml with the right information for your environment.  Then do juju switch maas (to make your maas environment the default one you're working with).  Then you do juju bootstrap to start up the environment (this deploys node 0).  You can then deploy services with juju deploy <servicename>.  That'll requisition new machines, start them up, and deploy the s
<natefinch> ervice to them.
<_bjorne> im using default config
<_bjorne> my problem was from the beginning, im cant get user-data on from the second machine, the first was function good.
<_bjorne> agent-state-info: '(error: cannot run instances: gomaasapi: got error
<_bjorne> back from
<_bjorne> and what is that?
<_bjorne> hmm if machine dont find user-data that is not installs lxc and mongodb? or im do that with add-machine?
<natefinch> _bjorne, I'm ont sure what it means not to find user data.  I'm better at juju than maas.  The guys on #maas will be more useful with errors coming out of maas, which is what this sounds like
<_bjorne> okey :) i will try to ask there again.
<_bjorne> and know time to sleep :) up and working tomorrow... :/ drive that f*cking truck in Gothenburg :)
<thumper> o/
<_bjorne> havey 60tom 25.25meter long :)
<natefinch> yikes, good luck, _bjorne
<sarnold> wow, what a different kind of problem ;) hehe
<_bjorne> im wish im working inside :) today that was rain :( and not fun to be out then.
<sarnold> :(
<dpb1> Can juju use custom images?
<dpb1> I guess I would need to maintain my own simplestreams map?
<natefinch> dpb1, you mean machine images?
<dpb1> natefinch: cloud images
<natefinch> dpb1, ok, so, right now, no.  We always use an ubuntu cloud image
<dpb1> natefinch: OK.  if I wanted to snapshot an assembled ubuntu cloud image and maintain a simplestreams directory, would that work?
<dpb1> or is there more to it than that.
<dpb1> natefinch: I'm launching ci slaves with juju, and I get tired of the 15-20 minutes spin-up time because of all the software we need to install.
<natefinch> dpb1, understandable.  I'm actually not sure if you can usurp the regular image for another ubuntu image with stuff pre-installed.  thumper - would you know if that's something that could be done?
 * thumper notices the name
 * thumper reads
<thumper> dpb1, natefinch: at this time, I think that only the standard ubuntu-cloud image is supported
<thumper> but I may be wrong
<thumper> dpb1: on which provider?
<thumper> dpb1: regarding the simplestreams work ,that may well work, check with wallyworld_ when he is around
 * wallyworld_ reads backscroll
<wallyworld_> dpb1: juju has tools for maintaining simplestreams metadata for using your own images. see "juju help metadata"
<wallyworld_> you basically generate the json files and put them in your cloud storage (or elsewhere and then use image-metadata-url to point to that location)
<wallyworld_> see also the 1.16 release notes for a little more information
<dpb1> thumper: openstack
<wallyworld_> i'm not sure how up-to-date the online docs are yet
<dpb1> wallyworld_: thanks, I will read that.
<wallyworld_> if openstack, easiest to put the custom metadata in the "control buket"
 * dpb1 nods
<wallyworld_> i'll be afk for 30 mins or so soon but can answer any questions when i get back
<natefinch> wow, that was actually a lot more positive that I expected :)  That simplestreams stuff is pretty sweet :)
<thumper> natefinch: sinzui
<thumper> ugh
<thumper> EWRONGCHAN
<dpb1> thx all... I'll ping back if I run into issues.
<natefinch> thumper: I'm just going to keep switching channels for the fun of it
<maxcan> hey
<maxcan> i have a question about writing a charm which will run a docker container
<maxcan> the docker instructions say that on ubuntu precise, you need to upgrade the kernel and reboot to install docker, but doing that inside a juju install hook seems wrong
<maxcan> is there a "right way" to do this?
<maxcan> alternatively, is it possible/safe to have juju agents running newer versions of ubuntu than precise?
<maxcan> marcoceppi, lazypower, if you're around :)
<marcoceppi> maxcan: you can write your charm for any series of Ubuntu, precise, raring, saucy, and now trusty
<marcoceppi> maxcan: we have a few charms that do reboot servers, though it's not exactly a recommended practice
<marcoceppi> maxcan: juju agents should pick up where they left off with hook execution, though it'll attempt to re-run the install hook (since it never completed) you'l have to have idemopotency guards to make sure it doesn't loop reboot
<maxcan> marcoceppi: so is there anything i need to do besides putting it in a raring/ or saucy/ directory instead of precise?
<marcoceppi> maxcan: some of the openstack charms do reboots for kernels
<maxcan> got it
<maxcan> ty sir
<maxcan> so one of my other developers was wondering if its possible to use custom AMIs with juju.
<marcoceppi> maxcan: no, charmers are guarenteed to get the Canonical blessed image for each cloud
<lazypower> +1 to that
<lazypower> https://lists.ubuntu.com/archives/juju/2013-April/002389.html
<marcoceppi> maxcan: whatever customizations you do to the AMI should just be included in the charm
<maxcan> sounds good to me
<lazypower> ^ this suggests it was on its way back in but the tribunal has ruled against it?
<lazypower> marcoceppi: wait, so with that being said, does that mean it's a safe assumption that my charm's are going to be deployed on ubuntu only, and if i make that assumption just plug it into the readme and go?
<marcoceppi> lazypower: charms are currently tied to a series
<lazypower> Oh man, i love that
<lazypower> i dont know why i didn't think of that earlier, i was trying to get heady with supporting some really ancient stuff.
<marcoceppi> lazypower: we may be adding additional support for OS outside of Ubuntu, but that's why charms are locked to a series branch, ie precise
<marcoceppi> lazypower: either way, charms will always denote what platoform they support
<lazypower> code cleanup incoming in light of recent news.
#juju 2013-12-20
<ray> Hi, guys, sync-tool give me the latest version is 1.16.5, but upgrade-juju give me 1.16.3, how does that happen? can I specify the juju version to upgrade to?
<ray> ok, --version give me that,  on the other hand, --upload-tools should not be used
<InformatiQ> does juju work with cloudstack?
<InformatiQ> was just talking about juju with a guy using cloudstack and wasn't sure if it worked or no
<natefinch> InformatiQ: as far as I know, no, it won't work.
<InformatiQ> thanks natefinch i thought so too
<marcoceppi> jamespage: https://code.launchpad.net/~james-page/charms/precise/nova-cloud-controller/havana-bind/+merge/198910 LGTM, wanted to make sure it was safe to merge
<jamespage> marcoceppi, I've tested it in HA mode - worked for me :-)
<marcoceppi> jamespage: good enough for me
<jamespage> marcoceppi, how do bundles appear in the charm store? I've written and openstack-on-openstack one but its not appearing?
<marcoceppi> jamespage: you need to push to lp:~USER/charm/bundle/BUNDLE-NAME/bundle to have them show up
<jamespage> marcoceppi, yeah - I have
<marcoceppi> jamespage: past that, you'll have to search for either your username or the bundle name. Searching and sorting bundles in gui isn't a strong story yet.
<jamespage> marcoceppi, https://code.launchpad.net/charms/bundles
<jamespage> marcoceppi, well I can't figure it out
<marcoceppi> jamespage: looks good, doesnt' appear to be in the gui, let me see if I can find it in the API
<jamespage> marcoceppi, the bundles.yaml contains several targets but I read that should be ok
<rick_h__> jamespage: does it pass proof?
<marcoceppi> jamespage: yeah, that should be fine. Each target will appear as it's own bundle
<jamespage> rick_h__, proof?
<rick_h__> jamespage: like charm proof. It also proof's bundles
<marcoceppi> jamespage: install charm-tools; run `juju bundle proof`
<rick_h__> jamespage: if it doesn't pass it doesn't get ingested like a charm
<marcoceppi> rick_h__: oh god, proof just blew up for me
<rick_h__> marcoceppi: on this bundle or in general?
<jamespage> marcoceppi, which charm tools version do I need
<marcoceppi> rick_h__: in general
<rick_h__> marcoceppi: :/
<marcoceppi> jamespage: at least 1.2.0, 1.2.5 being the latest
<marcoceppi> rick_h__: it seems to be having a hard time parsing the json from the api. Not sure what changed, let me poke with a sharpe stick
<rick_h__> marcoceppi: the thing I see is a syntax issue on line 18 of bundles.py
<rick_h__> a , vs a %
<marcoceppi> rick_h__: yeah, I sorted that locally
<marcoceppi> now getting an unable to parse json error
<rick_h__> heh, and not I'm getting a json parse error
<marcoceppi> rick_h__: so, a problem with local proof, it doesnt' take in to consideration inheritance at all
<marcoceppi> :\
<marcoceppi> :/
<rick_h__> nice, server error wheee
<rick_h__> marcoceppi: the server response is a 500 server error
<marcoceppi> rick_h__: yeah, I'm not catching status_code in requests, should probably check that
<marcoceppi> rick_h__: I've got a patch for the inheritance issue, I'll have it released in 1.2.6
<rick_h__> marcoceppi: jamespage ok, so I don't believe proof supports inheritance right now. I'm not sure if charmworld does at all. There's a card to look into it, but not been high priority yet.
<jamespage> rick_h__, OK
<rick_h__> marcoceppi: jamespage that causes this bundle to go boom. I'll open a bug with it and the bundle file as an example file, but this is why it's not in the store, it can't ingest it
<marcoceppi> rick_h__: is this with the remote proofing?
<rick_h__> marcoceppi: yes, but it's a basic proofing error. It gets to the raring-grizzly and decides it has no services and hits a failed loop that dies
<jamespage> rick_h__, OK _ I can work around that for now
<marcoceppi> rick_h__: right, I threw my hands up for the local proof portion and said "Oh, you have an inherit key, well we'll just press on"
<jamespage> rick_h__, will any E cause a failure? proof is not so keen on the ntp suborinate I've using with evertyhgin
<marcoceppi> rick_h__: you probably have to do a lot more checking
<rick_h__> jamespage: yes, an E causes it not to ingest
<jamespage> rick_h__, E: openstack: The two services ntp:nova-compute share no common interfaces.
<jamespage> that uses the implicit juju-info relation
<jamespage> so it won't ever match up
<rick_h__> jamespage: hmmm, that should work. We allow for the implicit juju-info relation. I remember working around a bug on that.
<rick_h__> jamespage: are they specified in the bundle?
<jamespage> rick_h__, no
<jamespage> rick_h__, if I add :juju-info it errors that does not exist
<rick_h__> jamespage: try to specify it and see if it works. I know we auto 'trust' any juju- relations
<rick_h__> jamespage: k, sec looking
<rick_h__> I know we dealt with this in some form. Checking the tests
<jamespage> E: openstack: Invalid relation requested: :juju-info
<rick_h__> jamespage: paste me the bundle file please? There code is there to auto trust provides/requires that start with juju-
<jamespage> rick_h__, http://paste.ubuntu.com/6605939/
<jamespage> rick_h__, I think I see something similar when I import the bundle in the juju gui
<jamespage> no relations get created after the first subordinate one gets parsed
<rick_h__> jamespage: hmm, we use some bits from the deployer to parse relations so maybe there's a raw issue there.
<jamespage> rick_h__, maybe - I tested using deployer
<rick_h__> jamespage: oh hmm, well the juju- realations need to be specified as the type before it'll auto pass them
<rick_h__> it doesn't auto assume the interface in that case which is why this is getting that error at least
<rick_h__> jamespage: http://paste.ubuntu.com/6605995/ gets rid of the juju-info relation issues
<jamespage> rick_h__, yeah - got that
<jamespage> just trying to sort out the other suboridnate one I have
<rick_h__> jamespage: k, I'm missing some charms used so I'm getting proof errors in my local dev env on those. Updating my ingested charms now (which takes a bit) and will try again
<jamespage> rick_h__, is there a keyboard shortcut to clear the build area on jujucharms.com
<jamespage> ?
<rick_h__> jamespage: reload, ctrl-r :)
<jamespage> rick_h__, so I discover!
<rick_h__> pure demo baby
<jamespage> rick_h__, OK _ the gui accepts that branch bundle as an upload now
<jamespage> although proof was still complaining but meh
<rick_h__> jamespage: k, did you update the yaml?
<jamespage> rick_h__, yes
<rick_h__> jamespage: if so paste me the update please so I can make sure we get that in as a bug and get proof fixed
<rick_h__> jamespage: so far bundles haven't stretched our code as you've so awesomely done :)
<jamespage> rick_h__, http://paste.ubuntu.com/6606034/
<rick_h__> and I'd like to make sure we get more awesome
<jamespage> that's what works
<jamespage> I still see
<jamespage> E: openstack: The requested relation nova-ceilometer to nova-ceilometer is incompatible between services.
<jamespage> but it does exist
<jamespage> 19 services
<jamespage> noce
<rick_h__> ok, yea proof is purely on the charmworld manage.jujucharms.com side
<rick_h__> so it'll 'work' in the gui just fine. But to get it listed we'll have to fix that
<hazmat> jamespage, there's a short hand for one thing relates to lots of others.  ie  - [blog, [db, memcached]]
 * hazmat peaks at ostack on ostack bundle
<jamespage> hazmat: oh - nice
<dpb1> marcoceppi: what am I doing wrong here? http://paste.ubuntu.com/6606922/
<dpb1> marcoceppi: storage is a new subordinate I'm writing
<marcoceppi> dpb1: this is a problem with subordinates, I'm working on a fix atm
<dpb1> marcoceppi: ok
<marcoceppi> dpb1: I managed to get this far without ever writing a test that included subordinates. So it's trying to proxy the subordinate relationship which just doesn't work
<dpb1> marcoceppi: is there a way to turn that off so I can proceed a bit?  Or is that needed for the rest of amulet to "work"?
<marcoceppi> dpb1: it's only needed for sentry stuff
<marcoceppi> dpb1: if you're not going to use any of the sentry things, you can pass sentries=False to the Deployment() call
<dpb1> marcoceppi: I mean, I would like to eventually since this is communicating data on the relation, and I would like to test it, but I can do that just to move on.
<dpb1> thx
<marcoceppi> dpb1: line ubuntu = d.sentry.unit['ubuntu/0'] in your test file won't be valid anymore, but everything else will work
<dpb1> right
<dpb1> understood
<dpb1> subordinate relation question:  anyone see what I'm doing wrong?  http://paste.ubuntu.com/6607104/
<natefinch> dpb1: Friday afternoons are tough on the juju channels... It's  Saturday in Australia and the Europeans are all having friday dinner.  That leaves pretty much just me, and my knowledge of charms is pretty limited, I'm afraid
<sarnold> .. and today is liable to be last workday of the year for a few..
<adam_g> dpb1, wouldnt it be add relation  storage:block-storage ubuntu:block-storage ?
<marcoceppi> adam_g: no, he's got that part right
<marcoceppi> dpb1: I think you need to reverse the provides/requires
<marcoceppi> dpb1: hum, nevermind, that doesnt' seem to be the case
<marcoceppi> dpb1: does add-relation with --debug --show-log illuminate anything?
<dpb1> marcoceppi: checking
<dpb1> adam_g: no, I tried that too
<dpb1> marcoceppi: debug show-log just dumps out my environment data as a json and some connection information, nothing interesting in there
<dpb1> let me try and blow it away and re-do it
<dpb1> marcoceppi/adam_g: can't repeat it on a new environment.  I'm suspecting a stale charm.
<dpb1> natefinch: hah, no worries.  I didn't know you were us based.  I might ping you more now! :)
<natefinch> dpb1: I'm the sole Juju dev who is US based.  We are looking to hire more though :)  Other people who know stuff are also US based, though, like Marco
<dpb1> natefinch: ya, I bug marco a lot already. :)
<natefinch> dpb1, me too ;)
<ashipika> hi guys.. wondering if you could answer a conceptual question about juju.. is the idea of juju to have one charm per machine? or is it "allowed" to deploy multiple charms to a single machine?
<natefinch> ashipika: you can have multiple.  Most of the time it'll work, but you have to watch out for things stomping on each other's data and ports etc
<natefinch> ashipika, you can also deploy to containers, which helps a lot with the stomping problem
<ashipika> natefinch: my thought exactly... i'm writing a charm for openfoam and i'm wondering what i should do in a stop hook.. if i try apt-get purge everything i installed i might unintentionally uninstall something another charm needs..
<ashipika> natefinch: containers won't do in my case.. openfoam, hpc.. those guys want as little as possible between their SW and HW
<natefinch> ashipika, it's probably not worth worrying about.  If people want it to be safe to deploy multiples, they should use containres
<ashipika> natefinch: true.. :)
<natefinch> ashipika, sorry, gotta run
<dpb1> marcoceppi: at the end of a test, should I have a "juju-deployer -T" equivalent?  Is there something that amulet provides?
#juju 2013-12-21
<marcoceppi> dpb1: there's actually a plugin, juju-test, that creates and destroys environments between each test run
<dpb1> marcoceppi: thx
#juju 2014-12-15
<Odd_Bloke> aisrael: I've been poking at this Squid issue, and I'm finding that a "curl http://archive.ubuntu.com" is really slow (and is spending a lot of time resolving DNS); can you repro that?
<Odd_Bloke> (http://stackoverflow.com/a/22625150 is a good way of spitting out how long different bits of the transfer are taking)
<Odd_Bloke> aisrael: http://paste.ubuntu.com/9528021/ is what I'm seeing.
<Odd_Bloke> So my theory is that this is a DNS issue; Squid is timing out when making DNS requests and so 503'ing.
<Odd_Bloke> I'll see if I can up Squid's timeout to confirm my suspicion.
<Odd_Bloke> aisrael: It's actually worse than that, Squid seems to be caching the DNS failure.
<HorzA> how do i uninstall openstack?
<aisrael> Odd_Bloke: That does look consistent with what I am seeing
<marcoceppi> HorzA: how did you install openstack?
<Odd_Bloke> aisrael: Cool, thanks for checking.
<aisrael> Odd_Bloke: I told squid to use 8.8.8.8 for dns, and no longer throws 503's at me
<aisrael> Odd_Bloke: so you're definitely on the right track
<ackk> hi, could someone please point me to where should I look to get the info shown in "state-server-member-status" from the delta stream?
<marcoceppi> ackk: might want to ask in #juju-dev
<ackk> marcoceppi, thanks
<jcastro> marcoceppi, man, awesome, I'd love to go to chicago to give a juju talk
<marcoceppi> jcastro: yeah, I was abou to reply but knew you were a lot closer
<thebozz> Hi guys, we're having trouble deploying Openstack over MAAS using openstack-install. We're using this tutorial: http://www.ubuntu.com/download/cloud/install-ubuntu-openstack . We're at step 4, and we're getting this output: http://pastebin.com/Byaxct7c
<marcoceppi> thebozz: looks like you're hitting a timeout, where the deployment is taking too long to run
<marcoceppi> if you run the openstack-installs script again it should pick up where it left off
<designated> can someone please tell me what I'm doing incorrectly?  "juju deploy --config local.yaml --to 19 cs:~openstack-charmers/trusty/percona-cluster mysql" works just fine but I want to add additional service units to specific machines and the following is failing "juju add-unit --to 20 cs:~openstack-charmers/trusty/percona-cluster mysql" with error: unrecognized args: ["mysql"]
<lazyPower> designated: your close
<lazyPower> designated: its juju add-unit -n # --to # mysql
<lazyPower> you dont need to specify the cs charmpath for adding units - the state server has already loaded that charm source under the alias "mysql" for your deployment
<designated> lazyPower: so after specifying the cs path during deployment, it isn't required for future service unit additions...nice thank you.
<lazyPower> Thats correct ;)
<Odd_Bloke> aisrael: Turns out Virtualbox historically has some issues with DNS servers on 127.0.[01].1; there is a workaround that works which I'm about to push up. :)
<Odd_Bloke> aisrael: http://bazaar.launchpad.net/~ubuntu-on-ec2/vmbuilder/jenkins_kvm/revision/552 is the fix; am rebuilding vivid images now, will let you know when I new one is available to test.
<Odd_Bloke> aisrael: Working (for me) images now available at http://cloud-images.ubuntu.com/vagrant/vivid/current/
<Odd_Bloke> aisrael: Let me know if they work for you and I'll kick off builds for trusty and utopic.
<designated> I'm following https://wiki.ubuntu.com/ServerTeam/OpenStackHA . I have deployed 4 instances of mysql on 4 separate nodes, but I have a question about "hacluster mysql-hacluster" charm.  Does this only deploy mysql-hacluster on a single node?
<designated> or can I deploy the "mysql-hacluster" charm on all 4 nodes as well?
<designated> when attempting "juju deploy hacluster mysql-hacluster --to 19" I receive the following: ERROR cannot use --num-units or --to with subordinate service
<designated> is there another way to specify a specific machine when deploying a subordinate service?
<aisrael> Odd_Bloke: Excellent! Grabbing the image to test now.
<lazyPower> designated: subordinate services by design get deployed into scope:container when you relate them to the service
<lazyPower> designated: so you dont need to deploy them --to anything
<designated> lazyPower: ahh so if I just deploy the subordinate service it will get installed to all nodes neccesary when the relation is built?
<lazyPower> designated: correct. if subordinates are not related to anything, they are transient "unplaced" services
<lazyPower> and only exist on the bootstrap node as a deployment alias, ready for integraiton when you decide to relate it :)
<designated> lazyPower: fair enough.  thank you for the explanation.
<lazyPower> designated: no problem. Have you had a chance to run through any of the charm schools or juju videos?
<designated> lazyPower: not yet but I will.  is the a recommended place to start?
<designated> is there*
<designated> lazyPower: also, will this cause problems with other services deployed in HA mode later on?  I expect these openstack services to run on the same 4 nodes all in HA mode.  I've built it this way manually, just don't know if some of the charms require separate physical machines.
<lazyPower> designated: there's an overview here - https://juju.ubuntu.com/resources/videos/ - but a lot of the charm school videos are deeper subject matter more on charm construction, how to write them, test them, and what options are available to you as a user to troubleshoot an environment should something go awry
<lazyPower> designated: i'm considering making a video aimed at brand new users to go from install to orchestrated stack and covering the different methods to get from A to Z - as i think that would be useful, covering core concepts behind the differences in charms and subordinates, etc.
<lazyPower> but thats a fairly large project and I dont have an ETA on if/when that would be done
<designated> lazyPower: as an example, the provided local.yaml show a different VIP for each service.  I want them all to be accessible from the same VIP.
<lazyPower> designated: well, when you do the --to, which we have dubbed hulk smash mode
<designated> lazyPower: thanks for the link, bookmarking now.
<lazyPower> you can run into issues down teh road in terms of scale. We actually recommend you use the --to lxc:# or --to kvm:# - which will isolate the service in a vm/container respectively - but there's an end of the sidewalk with that as it stand today
<lazyPower> the networking story between containers and vm's is being worked on this cycle
<lazyPower> but if you're planning on keeping those services colocated - and not doing much in terms of scale you're fine to continue colocating with --to
<lazyPower> marcoceppi might have additional details in that department. I myself hulk smash to save $$ when i'm deploying my own projects, but i'm small potatoes - if you're setting up say, a telecommunications network, I would def. want to place services on proper machines so scale out is a snap
<designated> lazyPower: I'm deploying openstack and basically want the same 4 controllers to provide all services in
<designated> HA mode.
<designated> it's just not feasible to have a separate physical machine for each service.
<lazyPower> Completely understood, and i think that's an acceptable route to take.
<lazyPower> its kind of dependent on your networking setup, and how its all configured - but i'm not an openstack expert - What i suggest is to export your bundle when you've completed your deployment - scrub any sensitive details out of the config options and post it ot the list and ask for a review - if it looks feesable and resilient enough to change
<designated> lazyPower: am I correct in understanding, you're recommending deploying each of these services to LXCs on each node?
<lazyPower> one of our OpenStack engineers should be able to give you feedback and insight as to your deployment configuration
<lazyPower> designated: well thats a blanket statement when it comes to co-location of services. LXC containers or KVM vm's will isolate the services and provide density.
<marcoceppi> o/ designated reading scrollback
<marcoceppi> designated: is this for a private openstack deployment?
<marcoceppi> on physical hardware with maas?
<designated> marcoceppi: yes, it is a private deployment on metal using MAAS.
<designated> marcoceppi: why do you ask?
<marcoceppi> designated: you should really use isolation, like lxc: / kvm: when deploying
<marcoceppi> designated: I figure you'll be using 4 nova-compute nodes, as well?
<designated> marcoceppi: okay, I'll do that.
<designated> marcoceppi: I'll actually have 28 compute nodes
<designated> marcoceppi: what is the advantage of using kvm over lxc or vice versa?
<designated> marcoceppi: the compute nodes will each run on dedicated hardware.  I just want all of the other openstack and supporting services to run on 4 physical nodes (openstack controllers).
<aisrael> Odd_Bloke: The vivid image looks good! DNS looks good, apt-get is happy.
<designated> when deploying to an LXC, can you still specify a physical NIC in the charm's configuration?
<marcoceppi> designated: not quite, but you can set up a bridge network to the nics you care about for lxc containers in maas
<marcoceppi> maas is the best supported substrate for containerized deployments
<marcoceppi> and that's what you'll want to do
<marcoceppi> I just need to look that up, one min (maybe 10)
<designated> marcoceppi: I deployed mysql to bare metal and it worked fine, when I do the same thing but deploy to lxc on each of the 4 nodes, it never finished, it just sits in a pending state.  I'm guessing it has something to do with specifying physical interfaces in the configuration.  Is the charm supposed to build the bridge, or is this something I must do manually?
<marcoceppi> designated: this is something either maas or you will need to do prior to deployment
<designated> marcoceppi: thank you
<designated> marcoceppi: If I deploy all openstack supporting services to lxc on 4 nodes, will it be alright install neutron-gateway directly to the same 4 nodes outside of an lxc, to avoid networking issues?
<marcoceppi> designated: I'm not sure, that ventures in to depths of permetations I have not yet tried
<marcoceppi> you might want to email openstack-charmers and ask them
<marcoceppi> https://launchpad.net/~openstack-charmers
<designated> marcoceppi: thank you
#juju 2014-12-16
<designated> i don't understand the configuration of juju-br0 with relation to deploying to lxc.  lxc seems to create a lxcbro interface that doesn't get bridged with any other interface.  Is this documented somewhere?  I'm unable to find it.
<jose> designated: that's the LXC network, which is local only
<erkules> ahoi is there docker support for juju?
<lazyPower> erkules: do you mean orchestrating docker with juju?
<lazyPower> erkules: or do you mean a docker container that would serve as your workstation that you could get moving quickly with juju?
<sebas5384> lazyPower: we have a docker image with juju in it?
<sebas5384> o/
<lazyPower> sebas5384: not officially no
<lazyPower> i was asking for clarification
<lazyPower> we have some preliminary experimental stuff that we've been doing with docker + juju, but nothing official that I would recommend to anyone.
<sebas5384> lazyPower: hmmm liked the ideia
<sebas5384> did you use juju to orchestrating docker? how well is playing?
<designated> lazyPower: can you explain the purpose of juju-br0?  this interface seems to be causing some problems, chiefly with trying to deploy to lxc and certain charms.
<lazyPower> designated: lxc-br0 is a bridge device - its a virtual ethernet adapter required by the lxc configuration
<lazyPower> you can bind it to another adapter and disable the internal DHCP stuff if thats the issue
<lazyPower> sebas5384: nothing noteworthy to speak of at the moment
<sebas5384> oh ok, I was excited to see activity with docker + juju :D
<lazyPower> designated: http://blog.dasroot.net/making-juju-visible-on-your-lan/ - i wrote a blog post about making the LXC containers bridge with a physical ethernet adapter (using the local provider- but the steps should be very similar for other environments)
<designated> when deploying percona-cluster, it configures the gcomm:// portion with addresses from the juju-br0 interface instead of what I have configured in my local.yaml file for the following:  ha-bindiface,vip_iface,access-network
<lazyPower> designated: that sounds like it may be a charm bug :(
<sebas5384> lazyPower: just the post I was needing!
<lazyPower> sebas5384: that was written against the 1.18 provider - if anything's moved keep an errata for me so i can update
<sebas5384> lazyPower: did you create a vagrant box with this?
<designated> lazyPower: I'll take a look because I had given up on deploying to lxc due to the fact I'm trying to use an already configured bridge and it wasn't working...it kept trying to use juju-br0 but that's is associated with the wrong interface
<sebas5384> lazyPower: ok o/
<lazyPower> sebas5384: negative, this was purely for fun - my 2u originally started its life as a local provider, then moved to MAAS and is now decomissioned in leu of an intel NUC that is serving as my juju-box on the cheap.
<lazyPower> designated: ah - well if you already have a virtual adapter you can change the lxc adapter in those networking config files
<sebas5384> lazyPower: sweet
<lazyPower> designated: i have indeed done this in the past with success
<lazyPower> sebas5384: i got sick of the fan noise and the 480w power draw
<lazyPower> sebas5384: if you ever feel like hacking up a nuc cluster let me know i'm getting fairly proficient at it
<lazyPower> and they stack so nicely
<sebas5384> good to know lazyPower
<sebas5384> yeah, i always wanted one of those in house
<sebas5384> a nice lean stack
<sebas5384> just to play
<lazyPower> pick up some i7's and 32gb of ram - slap in a MSATA and SSD and you've got yourself a cheap in-house server with plenty of resources
<lazyPower> has ~ 25w of power draw
<sebas5384> thanks for the tip ;)
<lazyPower> if you awnt to go the MAAS route and orchestrate them - you'll want to talk to marco or dustin - as they require a special series of the NUC
<lazyPower> i didnt go for the ones with AMT support, i actually went with an off-brand gigabyte BRIX system
<lazyPower> works just as well for my needs :)
<designated> lazyPower: I'm not deploying to a local environment, I'm trying to deploy to lxc on a separate physical node.  Will the last part of your blog post be neccesary?
<lazyPower> i'm thinking a paif of these pre-loaded for big data deployments would be nice demo-ware hardware.
<lazyPower> designated: you can omit editing your environments.yaml, but the /etc/lxc/ stuff will be of interest to you
<sebas5384> lazyPower: ;)
<designated> lazyPower: is LXC_DHCP_RANGE required in /etc/default/lxc-net?  If so...why?
<lazyPower> designated: its a phaux DHCP configuration - if you're binding to an interface that has an attached DHCP provider you can omit it
<designated> I do not have a DHCP daemon running on the network I intend to use, it's all static.
<lazyPower> you'll need to provide that DHCP range then - as the machines are not configured for static networking
<lazyPower> s/machines/containers/
<sarnold> would the manual provider kinda let that work?
<lazyPower> sarnold: only if you were going to create/enlist the lxc containers as a sep. juju environment
<designated> lazyPower: I don't understand why it's required.  what does it actually do?  Do services that come up in an lxc pull from that pool via dhcp?  will the pool need to be the size of the expected number of containers to be used?
<lazyPower> sarnold: aiui designated is using a maas on metal provider.
<lazyPower> designated: correct - each host will assume 249 addresses on 10.0.3.x network by default.
<designated> will pool have to be different across each of the nodes?
<lazyPower> well since you're bridging, it introduces a new mindset - and there is a chance they might collide with one another
<lazyPower> since they dont talk to a centralized DHCP server - you're going to wind up having race conditions between hosts as you add ocntainers
<designated> lazyPower: more than a chance...I would say it will most certainly cause a conflict as it is all layer 2
<lazyPower> there's a 1/244 chance that they will pick the same ip (if you give it 245 addresses in the pool)
<sebas5384> lazyPower: i'm planning to do a vagrant file with a bridge network created by virtual box, and then configure lxc + juju, so in that way from the host i could reach the charm's units
<lazyPower> designated: there are some constraints that are beign introduced that are definate concerns - if your lxc ip's collide, the container will never fully spin up and be stuck in 'pending'
<sebas5384> lazyPower: do you think this is possible?
<lazyPower> as is the behavior of juju when unexpected things happen with containers, it just kind of sits there dumbfounded and waits for something to happen with the agent reporting in.
<lazyPower> sebas5384: not sure what you're alluding to - the virtual adapter being bridged - doesn't this already happen in vagrant? Host only bridge networking or NAT host bridge networking?
<lazyPower> sebas5384: it almost sounds like what you *really* want is a VPN style connection into the vm
<sebas5384> yeah but you cant reach the container from the host
<sebas5384> lazyPower: yeah
<lazyPower> which is what sshuttle provided you prior to the yosemite  update
<lazyPower> now it just sadly dumps core
<lazyPower> sebas5384: without fiddling with low level virtual interfaces, my first thought is to find a lightweight and lean VPN you could add tot he vagrant box - do some testing and submit a feature request with your findings to get it pressed in officially
<sebas5384> sshuttle wasn't an elegant solution
<sebas5384> hehe
<lazyPower> i agree, we're solving a problem that has no good options - think about the portability of your device fix
<lazyPower> that will work on posix systems
<lazyPower> what about our windows counterparts?
<lazyPower> surely there are windows devs in the drupal community - I stand by the light weight VPN service being the route to go
<lazyPower> as that will work on everything. ubuntu, osx, and windows
<sebas5384> lazyPower: hmmm vagrant isn't dealing with portability?
<lazyPower> maybe i missed something
<lazyPower> i had 2 conversations running at once, let me scroll back up and read
<sebas5384> hehe sorry to flood you
<lazyPower> sebas5384: so if i understand correctly
<lazyPower>  i'm planning to do a vagrant file with a bridge network created by virtual box,
<lazyPower> you're looking at doing this
<lazyPower> host => virtualbox bridge => lxc bridge => containers
<sebas5384> yeah!
<lazyPower> might work, i ahven't tested it
<sebas5384> lazyPower: I would love to spend a time doing that
<sebas5384> today for me a pain of every day
<lazyPower> sebas5384: yeah the blog post i linked should help then
<sebas5384> *is a
<lazyPower> so long as you have enough addresses on your DHCP server to give out - you're going to be sharing the IP's with your parent network
<sebas5384> lazyPower: ;)
<lazyPower> when it sends that DHCP broadcast, its looking @ your router and skipping the phaux dhcp server given with juju
<sebas5384> lazyPower: so in theory every container will have a new ip naturally?
<lazyPower> correct
<sebas5384> \o/
<lazyPower> if you're in a large organization, its not a very elegant solution
<lazyPower> as you'll exhaust ip's pretty quickly in a large formation
<sebas5384> i'm going to work one that and let's see what happens
<sebas5384> in my local ?
<lazyPower> but for normal @ home use, unless you're running an IOT hive - you should be fine.
<sebas5384> it's only for local
<lazyPower> yep - if you think about it, every container is going to get an ip from your DHCP servers configured range.
<lazyPower> so say you and 5 co-workers are on wifi
<sebas5384> ok
<lazyPower> and you each deploy a 10 node cluster
<lazyPower> thats 50 ip's zapped, + the 5 for your laptops, thats 55 ip's in one swoop
<lazyPower> so be careful about the recommendation and make sure it has a caveate attached to it - as i can see that in itself being problematic
<sebas5384> i was thinking in privet host
<lazyPower> with that being said - a VPN would eliminate the need for that ;)
<sebas5384> hehe
<sebas5384> lazyPower: yeah but shuttle have's some caveats
<lazyPower> sebas5384: i dont recommend sshuttle to anyone but my worst enemies @_@
<sebas5384> like slowness and gives kernels panics
<sebas5384> hehe
<sebas5384> lazyPower: I will give it a try, if it solves the problem for me and my team
<sebas5384> i will let you know :D
<designated> lazyPower: the whole lxc thing is confusing me, mainly the networking portion.  according to https://help.ubuntu.com/lts/serverguide/lxc.html you have a couple of recommended options, iptables with port forwarding, or bridges.  it's recommended not to use the macvlan option.
<designated> lazyPower: this part is especially confusing "A NIC can only exist in one namespace at a time, so a physical NIC passed into the container is not usable on the host"
<lazyPower> designated: thats correct - when you bridge the ethernet device - you're essentially dedicating it to anything consuming that bridge
<lazyPower> i don tknow what macvlan is - so that confuses me too
<lazyPower> designated: and iptables with port-forwarding is kind of a reverse NAT work around - that while it works it can be super complicated to setup and the source of many curse words and grey hairs before its configured properly
<designated> lazyPower: this is my scenario, multiple 10Gbe bonded interfaces with vlan tags (bond0.10, bond0.20, etc...).  If I'm understanding correctly, I have to create a bridge and map it to bond0.x for lxc to work properly?
<designated> which would prevent the host from further use of bond0.x
<lazyPower> designated: correct - whichever ethernet device is the one that will serve as your 'public' and 'private' network interface is the one you want to bind to.
<lazyPower> and  you wont want the host to have any use of that ethernet device outside of dedicating that traffic to your LXC containers - the host basically loses any control over it once its bridged - it becomes a gateway into the network
<lazyPower> the only things you can really do with it at that point is edit /etc/network/interfaces and change the networking config - and edit the bridge settings - outside of that, it wont use it for network comms of the host for any reason. its dedicated at that point.
<designated> lazyPower: that seems like it puts me right back in the original predicament
<designated> the whole point of using lxc is to put more services on the same physical nodes.  according to the limitations of lxc with regards to networking, I fail to see the benefit
<lazyPower> designated: I feel like at this point it would be prudent to bring in someone like jamespage that has a background in doing openstack configuration and deployments.
<lazyPower> designated: i'm far from an openstack expert, the reason why we blanket state that deploying to lxc on a host is for a few things 1) isolated deployments 2) cleanup from a failed deployment is simple 3) density out of the box - its possible to add more network interfaces to teh lxc configuration but thats outside my scope of knowledge.
<designated> lazyPower: unless I'm missing something it doesn't seem like using lxc in my situation is the best option.
<lazyPower> designated: its 11:30 here though and i'm about to call it in for the day - I'd be happy to resume troubleshooting and attempt to get more eyes on this when i get in ~ 9am
<designated> lazyPower: that would be awesome if you have the time.  I'll be around :)
<designated> lazyPower: thank you for all of your help so far.
<lazyPower> no worries - if i dont ping you dont hesitate to ping me
<lazyPower> :)
<erkules> ahoi lazyPower I would like to orchestrate docker with juju
<Odd_Bloke> aisrael: Great! Have kicked off Trusty and Utopic builds.
<HorzA> Whem im adding a node i get "curl: (7) Failed to connect to streams.canonical.com port 443: No route to host", it`s downloading everything else. Cant figure the problem...
<marcoceppi> HorzA: do you have a proxy setup?
<HorzA> no
<marcoceppi> what environment is this?
<HorzA> maas and running sudo juju bootstrap --debug
<HorzA> err. remove sudo
<HorzA> can fetch it from the maas server but the node isn`t downloading it, running 2 network cards, ome to the nodes an the other to internett
<HorzA> even downloaded to /var/lib/juju/tools/1.20.14-trusty-amd64/juju-1.20.14-trusty-amd64.tgz
<HorzA> (on the maas server)
<marcoceppi> HorzA: well, by default, all traffic is routed through the maas server for traffic
<HorzA> is port 443 blocked or cant it connect with https?
<marcoceppi> HorzA: start a node in maas then ssh in to it and try to curl https://streams.canonical.com
<HorzA> im trying to connect but does maas/juju add secret password on it?
<lazyPower> HorzA: nope. It will however load the ubuntu user on the host up with whatever credentials you have placed in maas
<lazyPower> and in terms of juju, it loads up a juju specific ssh keypair that reside in ~/.juju/ssh
<HorzA> just run "juju sync-tools" and it worked :)
<marcoceppi> oh, well that helps!
<sebas538_> lazyPower: ping
<lazyPower> sebas5384: pong
<sebas5384> lazyPower: I tried to make the network solution in the vagrant flow
<sebas5384> but I think I'm missing something
<sebas5384> because the container is failing to start :(
<lazyPower> That's not good
<sebas5384> yep Â¬Â¬
<lazyPower> have something for me to look at? I dont promise i have the answer but i can take a look
<sebas5384> lazyPower: well
<sebas5384> i tried the instructions of your post
<sebas5384> but i think there are some missing steps
<sebas5384> because after setting the bridge in the interfaces file and restarting the networking isn't getting up the brige
<sebas5384> *bridge
<lazyPower> sebas5384: disclaimer - that was written against 1.18
<sebas5384> something like ifup
<sebas5384> i think
<sebas5384> yeah I remember
<sebas5384> :P
<sebas5384> but
<lazyPower> but everything you need to edit is basically in /etc/lxc/
<sebas5384> what i'm talking about is not related to juju, yet...
<sebas5384> but who is getting the interface up?
<lazyPower> did you add a secondary network interface to the vbox or are you trying to hijack the default virtual eth device?
<lazyPower> and the ifup would be the bridge device
<sebas5384> I added a host-only private network
<sebas5384> like an eth1 with some other ip
<sebas5384> so I tried to create a bridge linked to the eth1 but I had no luck with that
<sebas5384> the eth1 was loosing it's ip range
<lazyPower> hmmm
<lazyPower> I've got a meeting coming up in 5 minutes - link me at a repository that you've got running and i'll take a look later today
<lazyPower> but without knowing whats going on its hard to say
<sebas5384> lazyPower: thanks!! I will ping you later
<sebas5384> would be nice if we could talk, and show you what I have done
<sebas5384> lazyPower: we could do it together if you like the ideia :)
<sebas5384> i'm trying to do this a long time now Â¬Â¬
<sebas5384> lazyPower: http://containerops.org/2013/11/19/lxc-networking/ pretty neat!
<designated> who can I talk to about the percona-cluster charm?
<designated> Anyone want to take a stab at this one? http://pastebin.com/ptmHHpiZ  Is it possible this function is failing because I specified a bridge or bonded interface insteal of a physical interface?
<designated> The procedure described here: https://wiki.ubuntu.com/ServerTeam/OpenStackHA for installing MySQL (Percona XtraDB Cluster) are inconsistent with the charm's README(http://bazaar.launchpad.net/~openstack-charmers/charms/trusty/percona-cluster/trunk/view/head:/README.md).  The service units must be deployed one at a time, not all at once.
<designated> Is there anyone knowledgeable enough with the percona-cluster and hacluster charms that could help troubleshoot why the servers are not clustering?
#juju 2014-12-17
<blr> Noticed when creating a new charm with the python template, charmhelpers are installed via pypi. Does that obviate the need for charm_helpers_sync and charm-helpers.yaml?
<lazyPower> sebas538_: want to see something cool?
<designated> According to: http://www.percona.com/doc/percona-xtradb-cluster/5.5/installation.html, percona-xtradb-cluster 5.5 does not work with app armor, yet there is an app armor profile created when deploying percona-cluster charm.  Could this possibly be the reason why my cluster is not coming up?
<lazyPower> designated: its doubtful thats a core openstack-charmers charm
<sarnold> designated: check for DENIED lines in the logs
<designated> sarnold: which logs specifically?
<sarnold> designated: /var/log/syslog or /var/log/audit/audit.log (if auditd is installed)
<designated> also it doesn't matter what I configure ha-bindiface with, it still seems to use the addresses from a different interface when configuring wsrep_cluster_address=gcomm:// in my.cnf
<designated> sarnold: auditd isn't running and there are no DENIED messages anywhere in /va/log/syslog
<sarnold> designated: okay, then it's not apparmor's fault :)
<LinstatSDR> Evening everyone.
<designated> can anyone confirm whether the configuration of "ha-bindiface" within the charm is in any way associated with what's supposed to get configured for wsrep_cluster_address in my.cnf?
<designated> the charm seems to be configuring wsrep_cluster_address with the addresses resolved from the hostnames, which may be a problem with the multicast requirement.
<designated> also, should corosync_bindiface under the hacluster charm match the vip_iface for the percona-cluster charm?
<designated> i need more documentation.
<LinstatSDR> https://bugs.launchpad.net/charms/+bug/1245095 ???
<mup> Bug #1245095: rabbitmq-server charm ha-bindiface default breaks rabbitmq-hacluster subordinate charm <openstack> <Juju Charms Collection:Opinion> <https://launchpad.net/bugs/1245095>
<LinstatSDR> Maybe or not maybe?
<designated> LinstatSDR: possibly, I'll look into that.
<LinstatSDR> Okay. Sorry I cannot help you designated.
<marcoceppi> .
<mwak> hi
<marcoceppi> hi mwak o/
<mwak> how are you marcoceppi ?
<marcoceppi> good, an you?
<mwak> good
<mwak> looking to have snappy on online labs
<schkovich> jcastro: im going to have a conferece call with rackspace enterpise account lead on using juju for deployment on rackspace cloud. im wondering if there is any progress on that topic?
<schkovich> jcastro: im referring to question and information you provided on askubuntu http://askubuntu.com/questions/166102/how-do-i-configure-juju-for-deployment-on-rackspace-cloud
<marcoceppi> schkovich: Rackspaces API is still too far off trunk AFAIK
<schkovich> marcoceppi: they are suggesting using heat instead of juju
<schkovich> however in my understanding those are different tools
<marcoceppi> schkovich: I'm sure they are, and it is a bit different. Heat is openstack specific for starters, it's more like cloud formations for amazon
<schkovich> and i don't like to be pushed ;)
<marcoceppi> there's a bit of overlap, sure, but that's because we're both operating in the orchestration name space
<cjohnston> Is it possible to change the timestamp in Juju logs from UTC to the TZ used by the machine?
<schkovich> yeah, there is overlap no doubt
<schkovich> what i will try to find later today is if rackspace private cloud would play nicely with juju
<schkovich> otherwise i will have no other option but to persue my company to move to ubuntu cloud ;)
<rbasak> wallyworld: I'm not really convinced that https://github.com/juju/juju/pull/1323 really fixes the problem.
<rbasak> wallyworld: the code still assumes that the ubuntu user uses /home/ubuntu, for example. It should use ~ubuntu, etc.
<rbasak> wallyworld: and IIRC, the original issue is that the "ubuntu user" in a local environment means something completely different. It should be ignored completely in the local environment case.
<wallyworld> rbasak: if fixes the issue of determining if the ubuntu user exists before doing a chown. in the master branch "id ubuntu" is used instead of grepping the passwd file. but i see that ~ubuntu is better than /home/ubuntu
<rbasak> wallyworld: it should not be attempting to do a chown on anything in ~ubuntu (or /home/ubuntu) whether or not the ubuntu user exists, when in a local environment.
<rbasak> In a local environment, the "ubuntu" user is not special. It's just another user.
<rbasak> OTOH, in a cloud environment, the "ubuntu" user definitely is special and it's fine for Juju to use/clobber it.
<rbasak> wallyworld: you're just swapping one failure case for another here.
<wallyworld> i see, that does make sense. it may not be trivial to implement
<rbasak> wallyworld: now, if I add "adduser ubuntu" on my laptop, but try a local environment from my "rbasak" user, it'll still fail.
<wallyworld> that's sort of an edge case you think?
<wallyworld> ie i would prefer not to block 1.21
<rbasak> I think it's probably more common that you expect.
<wallyworld> we can fix for 1.22
<rbasak> For example, when running the installer for a desktop system, I might just type "ubuntu/ubuntu" to get started. I used to do that, actually.
<rbasak> The failure case that caused people to hit this bug seems to be similar.
<marcoceppi> schkovich: you could still use RackSpace, you'd just have to write some code around juju to talk to their API
<marcoceppi> but that's a bit of extra work
<rbasak> wallyworld: sure, I'm not asking you to block anything. Just please consider that patch to be a workaround that swaps one failure case for another, and not a proper fix.
<schkovich> wallyworld: sorry to pop into conversation but perhaps uid=$(id -u ${jetty_user}) could be more suitable then to grep the passwd file
<wallyworld> rbasak: given 1.21 is already really late, we will definitely fix properly for 1.22
<rbasak> The standard way is "getent passwd <user>"
<rbasak> That's quite common in maintainer scripts.
<schkovich> marcoceppi: im using manual environment for the moment which is working
<wallyworld> in master, i use "id ubuntu", but can change to getent
<rbasak> I don't see an actual grep in the password file though.
<rbasak> id should be no worse I think.
<marcoceppi> schkovich: right, so you could build around that, there's examples of this with DigitalOcean and Online-Labs
<marcoceppi> schkovich: https://github.com/kapilt/juju-digitalocean
<wallyworld> schkovich: yeah, the grep passwd file is a bit hacky
<wallyworld> rbasak: so to summarise, no chown for local provider
<marcoceppi> schkovich: I mean, it's more work but it's possible to build on top of juju for stuff not directly supported in juju yet
<rbasak> wallyworld: for now, that's fine. In the long term, don't touch the ubuntu user or ~ubuntu at all in the local provider.
<schkovich> marcoceppi: i will take a look into that
<wallyworld> rbasak: ok, will do. what will ship in 1.21 is that the chown will still be done, but based on the ubuntu user existing, not a /home/ubuntu check. agreed that's sub optimal as you say
<rbasak> wallyworld: ack. Thank you for working on this!
<wallyworld> will fix properly in 1.22
<schkovich> marcoceppi: unfortunately there is a preasure to get things done :(
<wallyworld> np, sorry for not getting it right first up
<wallyworld> it was a last minute fix based on comments isw in the bug
<marcoceppi> schkovich: that's understandable, I may take a look at this over the holiday break myself, but I don't ahve a rackspace account atm
<schkovich> marcoceppi: i can't give u access to the company account but sounds as interesting project on which i could work in my free time
<marcoceppi> schkovich: oh, I wouldn't need/want access. I'd just open an account. Simply stating it would be a learning curve
<schkovich> marcoceppi: if i do please contact me, i would luv to get involved
<schkovich> marcoceppi: same applies other way around, if i start working on rackspace plugin i will contact you :)
<marcoceppi> schkovich: awesome, I'm always in here, feel free to give me a ping
<schkovich> marcoceppi: i will, since im not regular here u can google me by nick
<jcastro> you could do the manual provider with rackspace
<jcastro> but then again, it's manual and that takes away like half the reason
<schkovich> jcastro: i already did that :)
<schkovich> jcastro: and i agreed with marcoceppi that it would be nice to have rackspace plugin
<schkovich> jcastro: we might start the project over comming holidays
<schkovich> jcastro: i will try to get as much information as possible later today while on call with rackspace guys
<schkovich> jcastro: information on rackspace api of course :)
<schkovich> brb
<jcastro> if you need help the core guys are in #juju-dev
<schkovich> jcastro: thank you for the tip :)
<LinstatSDR> Morning guys.
<marcoceppi> o/ LinstatSDR
<LinstatSDR> hi :)
<lazyPower> mwenning: ping
<mwenning> lazypower, pong
<mwenning> lazyPower, pong
<lazyPower> ahoy mwenning, are you still working on teh dell openmanage charm?
<mwenning> lazyPower, I've been tied up with other stuff.  When I get a chance to try it, juju usually foils my attempts :-(
<lazyPower> aisrael: ^
<lazyPower> thanks mwenning, was just circling back as we came across teh bug during triage
<aisrael> mwenning: Would it be okay to assign the open MP to you in Launchpad?
<aisrael> mwenning: if so, what's your lp name?
<mwenning> lazyPower, understand.  I'm not happy about it, but Dell certs and bugs are 1st priority.
<mwenning> mwenning
<mwenning> MP?
<lazyPower> mwenning: judgement free zone here, i completely understand priorities :)
<mwenning> lazyPower, 1) what is MP , 2) any progress on the amulet bug?
<lazyPower> 1) Merge Proposal - but i think aisrael meant bug.
<lazyPower> 2) i dontrecall teh bug - can you refresh me?
<aisrael> mwenning: lazyPower: Yes, sorry. https://bugs.launchpad.net/charms/+bug/1325700
<mup> Bug #1325700: New Charm: Dell OpenManage Server Administrator (OMSA) <Juju Charms Collection:In Progress> <https://launchpad.net/bugs/1325700>
<mwenning> lazyPower, https://bugs.launchpad.net/amulet/+bug/1375344
<mup> Bug #1375344: Amulet fails to bring up a machine to run relation-sentry running openmanage charm <Amulet:New> <https://launchpad.net/bugs/1375344>
<lazyPower> mwenning: id say so! amulet no longer uses relation sentries.
<lazyPower> tvansteenburgh: we need to do a triage on teh launchpad bugs for amulet
<mwenning> lazyPower, okeydokey.
<tvansteenburgh> lazyPower: ack
<mwenning> lazyPower, IA I can give it a try this week again.
<lazyPower> mwenning: sorry about the lack of response on that bug - i think we moved all the bugs over to github
<sebas5384> lazyPower: o/
<lazyPower> sebas5384: o/
<lazyPower> sebas5384:  did you see the video i shot to the list? Seems like its right up your alley
<sebas5384> lazyPower: didn't see it :(
<sebas5384> paste it here again please :)
<lazyPower> https://www.youtube.com/watch?v=bCvl-TsxVXA&feature=gp-n-y&google_comment_id=z12rdtcw0zyxifibb04cfv0pbwq4h5jy1j4
<sebas5384> lazyPower: oooh yes! i sow your email about it
<sebas5384>  but didn't sow the video yet
<sebas5384> :)
<sebas5384> i'm gonna watch it then
<jcastro> lazyPower, did we put your new video up on insights yet?
<lazyPower> jcastro: not that i'm aware of
<jcastro> lazyPower, always ping me when you push a new vid so I can add it
<jcastro> lazyPower, any plans on adding etcd and flannel charms to proper trusty?
<lazyPower> ack, will do jcastro. i'll add it to my workflow
<lazyPower> yep, its part of a master plan thats brewing
<sebas5384> lazyPower: nice!!
<lazyPower> sebas5384: glad you liked it :)
<sebas5384> lazyPower: do you think flannel can do the networking of the containers created by the juju in the vagrant flow ?
<sebas5384> lazyPower: i tried some other stuff but, i can't make it work
<sebas5384> definitively my knowledge about networking is really poor
<lazyPower> sebas5384: it only enables private networking via the tun/tap device - it hasn't solved public-interface reachability. And its using the same basic princial you were describing to me
<lazyPower> i think the better bet here, thats fully portable with our vagrant experience is a vpn service on the vagrant machine
<lazyPower> aisrael: you've recently done some work on this, what do you think?
<sebas5384> lazyPower: yeah, i installed this https://openvpn.net/index.php/access-server/download-openvpn-as-sw.html
<lazyPower> sebas5384:  aisreal recently published an article about networkign with vagrant on yosemite, did you see it?
<sebas5384> but i'm didn't test it yet
<sebas5384> lazyPower: no oO !
<sebas5384> where!?
<lazyPower> http://www.adamisrael.com/blog/2014/12/12/sshuttle-workaround-for-os-x-10-10-yosemite-juju-and-vagrant/
<lazyPower> looks like neither option are required on osx
<lazyPower> its routing
<sebas5384> hummmm
 * sebas5384 reading
<sebas5384> lazyPower: so after that route i can ping the private container ip ?
<lazyPower> sebas5384: as i understand it, its setting up a route that will direct all 10.0.3.x traffic to the LXC bridge in the vagrant image
<lazyPower> i haven't tested it myself, but its generated a bit of buzz since he published the article
<sebas5384> lazyPower: of course!! it's what I'm looking for since i run the first vagrant up with juju in it
<sebas5384> hehe
<sebas5384> i'm going to test it!
 * sebas5384 testing
<lazyPower> let us know how it works out for you - if it performs as expected - lets get some feedback on the list :)
<lazyPower> or maybe some of that social network lovin <3
<sebas5384> lazyPower: yeah! sure :)
<aisrael> lazyPower: sebas5384 Yes, please let me know if you run into any trouble with it!
<Tug> Hi, I have an idea for a new charm
<Tug> I'm using MMS Automation Agent to deploy and manage my mongodb cluster. juju could be providing the machines, install the mms agent and configure it
<marcoceppi> Tug: it's completely possible
<Tug> I was using the mongodb charm but it still isn't stable enough for me. MMS proved to work really great
<Tug> and then I have access to the monotoring and backup services so that's a bonus
<Tug> marcoceppi, yes and it's a really simple charm as there is a debian package for the agent. The charm could then check that each machine can communicate with each others, that the directory for the database is created etc.
<lazyPower> Tug: that would be an excellent charm for the store, i'm sure 10gen would love to see something like that
<Tug> the problem is on optimizing the machine power
<lazyPower> How so?
<Tug> config servers could be deployed on less powerful machines
<Tug> mongod needs persistent storage and lots of RAM
<Tug> whereas mongos might be optimized for cpu
<lazyPower> well, thats part of the benefit of using constraints when you're deploying your machines - if you were to build the MMS Agent charm - you can then specify lower constraints for the config servers
<lazyPower> and make that the standard by offering up a bundle of hte configuration
<lazyPower> juju deploy my-mms-charm configsvr --constraints="Mem=1gb root-disk=8gb" is an easy way to specify this declaratively on the command line
<Tug> ah yes you can have multiple services defined for the same charm, I forgot
<lazyPower> you're still deploying the same charm, you just have a different name - so your peering will be different, but if you're exposing the relationships properly between the services shouldn't be an issue at all. And I do believe that MMS configures all this during runtime anyhow as they're doing a reconciler based mongo orchestration.
<Tug> one last issue is that the type of instance that will be deployed on the machine is not configurable by the agent. It can only be done from the mms web interface at the moment.
<Tug> maybe we should ask for this feature to mongodb first
<lazyPower> Tug: sounds reasonable
<Tug> lazyPower, I'm going to fill the request in mongodb's jira right now :)
<lazyPower> hey jcastro
<lazyPower> look at this https://github.com/rethinkdb/rethinkdb/issues/3410
<jcastro> yeah I suggested that
<lazyPower> oh, i thought this was organic
 * lazyPower snaps
<lazyPower> i got real excited there for a second
<sebas5384> lazyPower: It Freaking Works !!
<lazyPower> GREAT SUCCESS \O/
 * sebas5384 excited!
<sebas5384> now that's what i was talking about
<sebas5384> :D
<sebas5384> this is going to change everything around here
<sebas5384> :)
<aisrael> sebas5384: Excellent!
<sebas5384> thanks aisrael !!!
<aisrael> sebas5384: My pleasure! I love how fast it is interacting with my juju containers now, too.
<sebas5384> that should be in the juju vagrant box
<aisrael> sebas5384: That's something I'm going to look into.
<sebas5384> aisrael: yeah i would love to see more love around containers with juju
<lazyPower> sebas5384: oh yeah?
<sebas5384> aisrael: good to know
<lazyPower> sebas5384: hang out with us in #juju-edge, we're talking about workloads and containers and that story
<sebas5384> lazyPower: yes! like using the lxd directly or something like that
<sebas5384> lazyPower: done!
<drbidwell> On a MAAS server where can I find the partman-auto/method rules referenced in /etc/maas/preseed/pressed_master?
<marcoceppi> drbidwell: no idea, they may be stored in the datastore (postgresql)
<sebas5384> aisrael: what would be the best approach to ssh into the containers? because the ssh keys aren't in the host :P
<aisrael> sebas5384: I'm still doing that from inside vagrant. There might be a way of adding the ubuntu user key to your local keys, but I haven't explored that yet.
<sebas5384> aisrael: yeah I think there's a way to add an ssh key for juju's to manage it
<sebas5384> https://juju.ubuntu.com/docs/howto-authorised-keys.html ?
<sebas5384> it's not clear to me how to use it
<aisrael> I know the vagrant image uses an insecure key, so in theory you could copy the keys to your local ~/.ssh, ssh-add them, and ssh directly into the containers
<aisrael> Yes, that'll work.
<marcoceppi> sebas5384: you should be able to add your personal key to the deployment
<aisrael> I copied the ssh keys from the vagrant user, renamed to id_vagrant and ssh-added them.
<aisrael> I can then ssh ubuntu@10.0.3.x and access a container
<sebas538_> so you are using like ssh -i .... ?
<sebas538_> marcoceppi: yeah! but how
<sebas538_> ?
<aisrael> after copying and renaming the keys (id_rsa, id_rsa.pub) and copying to ~/ssh, run ssh-add id_vagrant
<sebas538_> sorry for the noob question
<sebas538_> aisrael: ohhh I see
<drbidwell> marcoceppi: Any idea where I could find information about MAAS internal workings short of reading all of the code?
#juju 2014-12-18
<skay> I'd like to use juju with a rackspace account. based on a quick search, people use manual provisioning?
<skay> if there is another approach, or if someone has tips, please let me know!
<marcoceppi> skay: not at the moment. The Rackspace openstack setup is to heavily modified from upstream openstack so our openstack provider code won't work against it
<marcoceppi> skay: it's possible, with some code, to wrap the rackspace API and provide a "manual provider" like was done with digital ocean, but someone would have to do that
<skay> marcoceppi: I may not bother for the rackspace stuff. thanks for telling me about it
 * skay has donated rackspace services to work with
<arbrandes> Hey guys!
<arbrandes> Is there a reason why many Juju/OpenStack/HA guides recommend Percona over, say, MariaDB or MySQL?
<captine> Hi all.  Am a bit of a tech hobbiest and am looking at using a mac mini server for either a hypervisor like proxmox to play with containers and vms, or installing MAAS and learning a bit of juju.  anyone done anything like this and have advice?
<jcastro> captine, we've used juju and maas with intel nucs before
<jcastro> minis should work fine if it's similarly powerful hardware
<captine> jcastro, mini has bios based raid0 2x1TB HDD, 16Gig ram and i7 processor.  only have 1, so hence was thinking of using proxmox to then run 3 or so VMs to mimic MAAS.
<jcastro> yeah that sounds much more powerful than the i5 nucs we have
<captine> can MAAS and juju give me similar virtualization ability to a hypervisor?
<jcastro> I've not done that personally
<mbruzek> captine: MAAS can *manage* those VMs that you create on the mini, and by that I mean install Ubuntu on them when the boot pxe
<mbruzek> captine: Once juju is orchestrating the MAAS you can deploy charms and or bundles to them.
<captine> mbruzek, thanks.  I think i will go with a hypervisor + some "MAAS" vm's.  that way, if I understand you correctly, I can run a windows vm or other linux distro's/ubuntu flavours which doesnt sound possible with MAAS only.
<captine> appreciate the responses all.
<mbruzek> captine: Your original idea looked fine to me, I have 2 intel NUCs (i5) and created 8 VMs on one of them.  Then set up MAAS to manage those VMs.  Then I have juju controlling the MAAS
<mbruzek> captine: I believe the latest version of MAAS can do other linux distros, but you will have to check the documentation on that, I haven't played with that yet.
<mbruzek> captine: I am not a MAAS expert, but I have set it up on my NUC machines, several versions ago.  For more information on that you might want to ask in #maas
<captine> mbruzek, thanks a mil.  what were you using for hosting the vms?  e.g. hypervisor wise?
<mbruzek> captine: I used KVM.  But as long as the VM can boot pxe (from network) and MAAS controls that network interface it will set up the VMs for you.
<mbruzek> captine: So my setup is:  NUC1 Ubuntu 14.04 with Juju and MAAS installed.  NUC2 Ubuntu server 14.04 with KVM, and 8 VMs created with 2GB of RAM each.  The two NUCs are connected via a switch and MAAS controls NUC1's eth0 adapter.
<mbruzek> captine: NUC1 has a separate wireless adapter that I use to connect to the Internet, and all traffic is routed through there.  In the MAAS documentation you will see it recommended to have more than 1 network adapter.
<mbruzek> captine: It is worth noting that MAAS can be installed on a VM itself, but again needs to control a network interface so it can send boot images over pxe.  I have not done this, but version 2 might be set  up with MAAS in a VM.
<captine> awesome info.  thanks
<marcoceppi> mbruzek: captine you'll need more than pxe boot because Maas needs to be able to turn the vms on. So you'll need anything that works with libvirt/qemu
<designated> I have a service in a dying state that will not remove.  What can I try besides destroying the machine?
<designated> I've tried "juju destroy-service ceph" and "juju destroy-unit ceph/0", neither produce a result or any logs.
<marcoceppi> designated: is it in an error state?
<designated> marcoceppi: agent state is started
<designated> marcoceppi: life shows dying
<marcoceppi> designated: okay, was anything related to it?
<designated> nope
<marcoceppi> designated: can you pastebin your juju status output?
<designated> marcoceppi: http://pastebin.com/Mm3Tg4ar
<designated> marcoceppi: I recently deployed ceph-osd but no relationship was built between ceph and ceph-osd
<designated> marcoceppi: this all started out of the ceph charm not forming a ring due to it not finding the keyring.  So I tried to destroy the ceph service and reinstall.
<designated> well tried to destroy, have to get past that first.
<marcoceppi> designated: there are probably hooks still running in the machines
<designated> marcoceppi: it's been at least an hour
<marcoceppi> You can be patient (lame) or terminate-machine --force 2 3 4
<marcoceppi> designated: a him might be stuck and blocking
<marcoceppi> That will destroy the service since there are no units at that point and the service is dying
<designated> marcoceppi: i want to avoid destroying the machine if possible as this will not be a suitable solution in production.
<designated> marcoceppi: so i have to destroy the whole machine because one service messed up?
<designated> For anyone that might be interested, SSHing into the machine and restarting the problem juju agent allowed me to resolve the unit and eventually destroy the service as a whole.
<designated> does james page hang out in here?
#juju 2014-12-19
<lazyPower> designated: he does, he's UK based - so timezone offeset
<lazyPower> *offset
<tvansteenburgh> dpb1: bundletester 0.4.4 up on pypi
<lazyPower> \o/
<tvansteenburgh> jose: ping
<noise][> hi, i'm having a problem where a previously working local juju environment suddenly won't bootstrap anymore
<noise][> getting: "start: Job is already running: juju-agent-bret-local
<noise][> Bootstrap failed, destroying environment"
<noise][> but no juju procs running, nothing in lxc-ls
<marcoceppi> noise][: have you tried `juju destroy-environment --force local`
<noise][> marcoceppi: yes, i started with a running env, destroyed it to start clean w/that command, then it failed to bootstrap
<marcoceppi> noise][: what dose `sudo initctl list | grep juju` show?
<noise][> marcoceppi: juju-agent-bret-local start/running
<marcoceppi> noise][: do this, `sudo stop juju-agent-bret-local`
<marcoceppi> noise][: then `sudo rm -f /etc/init/juju-agent-bret-local.conf`
<marcoceppi> then try to bootstrap
<noise][> marcoceppi: that worked, thanks for the quick help!
<marcoceppi> noise][: no worries, I'm working on a "juju local provider power plugin" which will make these weird edge cases easier to detect and fix in the future
<noise][> excellent :)
#juju 2014-12-20
<lazyPower> Have a great holiday everyone that's still poking about. o/
#juju 2014-12-21
<jumpkick> .
<jumpkick> I feel like an idiot, I can't figure out how to tell Juju to bring up a down unit
<jumpkick> - juju-gui/0: 10.0.3.151 (down) 80/tcp, 443/tcp
<jumpkick> Can anyone hit me with a clue?  I'm searching the docs and "juju run" isn't it thats for running stuff on the units
<jumpkick> there's no "juju start" or "juju up"
<X-Rob> jumpkick: I think that means the agent is down
<X-Rob> I could be wrong though
<X-Rob> do a 'juju status' of the node
<X-Rob> uh service
<jumpkick> X-Rob: the agent-state is down, and it doesn't respond to ping
<X-Rob> jumpkick: so, go push the power button, however you do it
<jumpkick> exactly what I don't know how to do
<X-Rob> walk over to the machine and push the button on the front that says 'power'
<X-Rob> It often looks like a circle with a line through the top
<jumpkick> I'm on the host
<jumpkick> I don't want to reboot my workstation because an LXC container didn't autostart
<X-Rob> So it's a virtual machine?
<X-Rob> Right
<X-Rob> you want to know how to start a LXC container
<jumpkick> I figured juju would have a way to manage the start up of the container, since juju created it and juju was supposed to see that it was started
<X-Rob> https://help.ubuntu.com/lts/serverguide/lxc.html
<X-Rob> Something turned it off
<jumpkick> machine-0: 2014-12-21 03:59:41 WARNING juju.worker.instanceupdater updater.go:247 cannot get instance info for instance "user-local-machine-1": no instances found
<jumpkick> this is probably what shut it off
#juju 2015-12-14
<icezimm> hi guys, I'm trying to install openstack using autopilot and when juju is going to install landscape server, I'm with a lot of messages like this 'machine-0: 2015-12-14 13:25:12 WARNING juju.state allwatcher.go:355 getting a private address for unit "landscape-server/0" failed: "private no address"', for private and public address.. if someone could point me on the direction of fixing this, I do really appreciate, thank you :)
<icezimm> sorry about using guys, hello everybody :)
<lazypower> icezimm: which version of Juju? 1.25 i assume?
<jamespage> gnuoy`, I think logging options could push down into the base layer
<jamespage> they are common across principle and subordinate charms I think
<gnuoy`> ack
<icezimm> lazypower: exactly, 1.25.0-wily-amd64
<lazypower> icezimm: interesting, when you provision a node with maas/juju - do you see the same error output that it's unable to find the public/private addressing of the unit? or is it only that one node in maas?
<icezimm> lazypower: don't know exactly, I'm really new to thisâ¦ I'm following the instructions here: http://www.ubuntu.com/download/cloud/install-openstack-with-autopilot
<lazypower> icezimm: try destroying the juju environment `juju destroy-environment maas` and then stand it backup with `juju bootstrap` and try `juju deploy ubuntu`
<lazypower> icezimm: once you've done juju deploy ubuntu, tail the logs while the unit provisions - `juju debug-log`
<lazypower> icezimm: i'm also making the assumption you've got nothing else in the environment, so you're free to nuke whats there and start from scratch
<icezimm> lazypower: I have this config.yaml and running the command on install.sh https://gist.github.com/fernandes/e055827d8ef8c9715a54
<icezimm> sure, I'm using these machines as testsâ¦ can nuke without any problem
<icezimm> ERROR cannot read environment info: environment "maas" not found
<icezimm> ~/.cloud-install/juju/environments/ is empty
<icezimm> export JUJU_HOME=~/.cloud-install/juju
<icezimm> and now its bootstrapping
<icezimm> after bootstrap
<icezimm> Bootstrap agent installed
<icezimm> WARNING expected one instance, got 2
<icezimm> Waiting for API to become available
<icezimm> Bootstrap complete
<icezimm> just this warning, but bootstrap ok
<lazypower> icezimm: so far so good
<icezimm> I'm watching the juju/all-machines.log
<icezimm> lazypower: https://gist.github.com/fernandes/e055827d8ef8c9715a54#file-all-machines-log
<icezimm> in case can help debugging something
<icezimm> but juju status show as agent started...
<icezimm> juju debug-log is the same as ssh logging on all machine and concatenate juju/all-machines.log ?
<lazypower> yep
<icezimm> good to know :)
<lazypower> you can also pass filters to juju debug-log with -i and -x so you can target specific machines
<icezimm> Added charm "cs:wily/ubuntu-1" to the environment.
<icezimm> great!
<icezimm> heheh
<icezimm> seems juju deploy ubuntu acquired a new machine from my maas ppol
<icezimm> *pool
<jamespage> gnuoy`, https://code.launchpad.net/~james-page/charm-helpers/mitaka/+merge/280449
<gnuoy`> jamespage, +1
<icezimm> lazypower: ubuntu seems it was deployed
<lazypower> icezimm: no errors in the log? Also, did maas chose the same node? :)
<lazypower> *same node as you were trying to provision for landscape
<icezimm> hummm actually no
<icezimm> sudo openstack-install --openstack-release liberty --edit-placement --headless --debug --series wily -c config.yaml was booting machine 1
<icezimm> bootstrapping juju
<icezimm> and then deploying services as containers
<icezimm> now juju deploy ubuntu got a new bare metal machine and installed on it
<icezimm> not as a container
<Prabakaran> Hi kwmonroe, Good Morning... How to have a check for the value getting from the config.yaml file in the decorated pattern. Like i am facing a scenario wherein i will have to get EULA value from the user as True or False. If EULA value which I am getting it from config.yaml file is true i will have to install IBM java SDK else it will uninstall the product. So I have used something like that, it was not working. Can you please suggest
<Prabakaran> this?
<Prabakaran> javasdk_license_accepted=`config-get accept-ibm-javasdk-license` @when 'java.connected' 'java.installed' '$javasdk_license_accepted== 'False'
<Prabakaran> javasdk_license_accepted=`config-get accept-ibm-javasdk-license` @when 'java.connected' 'java.installed' '$javasdk_license_accepted== 'False'
<mbruzek> Hello Prabakaran.  The decorator does not work on configuration options.  cory_fu correct me if I am wrong.
<mbruzek> Prabakaran: What I have done is create a method that will be called on "config-changed" such as:
<mbruzek> @hook('config-changed')
<mbruzek> def config():
<mbruzek> Prabakaran: Then you can check the configuration for accept-ibm-javasdk-license and set a state that your charm could react to.
<mbruzek>     accepted = hook.config().get('accept-ibm-javasdk-license')
<mbruzek>    
<mbruzek> Now if accepted is true you can set_state("license.accepted')
<mbruzek> And other methods could use:
<mbruzek> @when('license.accepted')
<mbruzek> but kwmonroe may have more experience with this so I defer to him
<mbruzek> Prabakaran: Does that make sense?  Do you have any questions?
<Prabakaran> mbruzek , @when('license.accepted') here how to get this license.accepted value from config.yaml file?
<mbruzek> Prabakaran: Are you using python or bash?
<Prabakaran> here i think we have to change ...accepted = hook.config().get('accept-ibm-javasdk-license')
<Prabakaran> bash
<mbruzek> Prabakaran: Oh OK. I gave you an example in bash
<mbruzek> I mean python
<mbruzek> OK so you already listed how to get the value from the config.
<mbruzek> javasdk_license_accepted=`config-get accept-ibm-javasdk-license`
<Prabakaran> s
<mbruzek> I don't think you can not use that variable in a @when clause though,  cory_fu would know for sure.
<mbruzek> Prabakaran: so you would need to create a hook for config-changed, read the value and then you can set a reactive state when the value is true or set a different state when false.
<mbruzek> Prabakaran: then your methods could react to that state
<mbruzek> if [ $javasdk_license_accepted == "True" ]; then
<mbruzek>   set_state 'license.accepted'
<mbruzek> else:
<mbruzek>   set_state 'license.not.accepted'
<mbruzek> fi
<mbruzek> Something like that.  I have not tested that code.
<mbruzek> after you set the state then you can use that state in a @when or @when_not clause
<Prabakaran> k let test this
<Prabakaran> k thanks...
<mbruzek> Prabakaran: but do that confg-get in the "config-changed" hook
<Prabakaran> let me test it and come back
<mbruzek> OK
<lazypower> mbruzek: no your suggestions are correct. ou cannot use a @when decorator with config, you would  instead check on the hook contest for config-changed, and set/remote a state depending on the value of the config option.
<lazypower> *context
<Prabakaran> before i have implemented something like that.. but while testing when i set EULA value to true it was installing but again i set EULA value to false it was not uninstalling...http://paste.ubuntu.com/14005951/
<Prabakaran> i think i should not have a check for EULA in this http://paste.ubuntu.com/14005951/
<lazypower> Prabakaran: you need to have a decorated method to uninstall when the value is false
<lazypower> Prabakaran: @when_not('license.accepted') def uninstall_ibm_jdk(): # uninstall the jdk
<Prabakaran> <lazypower> is it in python? or bash?
<Prabakaran> because i am writing in bash
<lazypower> Prabakaran: the example i just gave was python, but its very similar for bash
<marcoceppi> aisrael: siege, cassandra-stress, monogdb, pts, mysql-benchmark - am I missing any?
<mbruzek> Prabakaran: you still need to check configuration parameters in config-changed that is the ONLY hook that is run when configuration changes.
<mbruzek> kwmonroe: feel free to chime in here with some JDK knowledge
<Prabakaran> k <lazypower> and <mbruzek> .. Thank you so much for this suggessions and explainations..let me implement and test my charm and come back to you if i have any doubts
<mbruzek> Prabakaran: happy to help
<Prabakaran> lol
<mbruzek> Prabakaran: I understand the reactive stuff is new, but it is very powerful
<mbruzek> Prabakaran: I have written charms much faster and they are much smaller because I only react to the states that this layer needs
<mbruzek> Prabakaran: I hope you find the same benefit
<Prabakaran> i want to read more about this ..can i have any links for the same?
<Prabakaran> i googled i have got some links but if u feel something good that can be shared to me ..
<icezimm> lazypower: was supposed to deploy on a container? or should I try to deploy openstack?
<Prabakaran> I am back again with one question .. using charm build command i have generated deployable charm which contains config changed hook in python.. can u please help me in writing code to have a check for EULA ..http://paste.ubuntu.com/14006238/
<lazypower> icezimm: i would deploy landscape to a physical unit, and use that to stand up openstack w/ autopilot
<lazypower> icezimm: but admittedly, i have no experience with our openstack installer you were using
<lazypower> icezimm: disclaimer - i work in the eco, and i haven't touched every nook and cranny of the openstack suite we have :)
<icezimm> lazypower: eco you mean? heheh
<icezimm> no problem, thanks for the help, not I know (at least) juju is being bootstrapped correctly
<lazypower> icezimm: ah, im a juju charmer, and i work in the broader ecosystem. I've got some experience with openstack - but mostly i look at workload charms. App Container focused charms as it were.
<icezimm> hummm interesting hehehe
<icezimm> so a juju question hehehe
<icezimm> landscape exists only for trusty
<icezimm> no way to run on wily?
<icezimm> I mean, deploy
<marcoceppi> icezimm: there is a way, but it's not the prettiest
<icezimm> cool
<icezimm> because I'm asking openstack installer to use series wily
<marcoceppi> icezimm: you need to download the charm to your machine, and use deploy local:
<marcoceppi> icezimm: ah, from the openstack installer I don't know/think so
<icezimm> and I think it's trying to deploy landscape-server to wily
<icezimm> let me force series trusty
<cory_fu> mbruzek: Sorry I'm late to the discussion, but I think what you suggested was correct.
<cory_fu> kjackal: So, you were asking about https://github.com/juju-solutions/charms.reactive/blob/master/charms/reactive/relations.py#L498 and why remove_state calls set_state...
<cory_fu> kwmonroe, admcleod1: ^ in case you're interested
<cory_fu> kjackal: So, the answer is that it's because a state can be set for multiple conversations.  You'll notice that there's a "conversations" list in the state value.  That holds all the conversations that the state applies to, not just this one.  So remove_state removes the current conversation from the list, and either updates the state with the new, shorter list, or removes it if it was the only one in the list to start with
<cory_fu> So, that really should be "update_state"
<cory_fu> But set and update are the same thing in this case.
<kjackal> let me digest this
<gnuoy`> jamespage, two new layers as discussed http://paste.ubuntu.com/14006647/
<kjackal> cory_fu: So in my case the fact the state in not removed is because it was added actually two times, while it gets removed once?
<cory_fu> kjackal: Correct.  Which is what the fix in https://github.com/juju-solutions/charms.reactive/pull/41 is intended to rectify
<cory_fu> kjackal: The "conversations" list was originally a set() object but then I found out that doesn't serialize properly.  :/
<kjackal> I see, that makes sense, because i see the state value increasing instead of decreasing
<kjackal> cool
<lazypower> cory_fu: i filed a bug against what i pinged about re: charms.reactive all_states here: https://github.com/juju-solutions/charms.reactive/issues/42
<jamespage> gnuoy`, took a run through those layers - did a few tweaks and tidied a bit
<jamespage> specifically
<jamespage> base_charm -> charm
<jamespage> dropped tox and test-requirements from higher layer charms
<jamespage> added metadata.yaml to openstack-api layer so inheriting charms don't have todo interfaces for db, messaging and identity.
<jamespage> pushed all that back to the repos...
<beisner> jamespage, mp for review @ https://code.launchpad.net/~1chb1n/charm-helpers/os-amulet-test-mitaka/+merge/280480
<cfx> mbruzek: ha, looks like I'm not the only one irrationally resistant to layers (but I'm coming around)
<bdx> marcoceppi, coreycb: hey whats going on? I am trying to add a wheel to the wheelhouse and have it install alongside the other default wheels in the wheelhouse on bootstrap of the charm.
<bdx> marcoceppi, coreycb: Is this an reccomended best practice for installing python packages inside the context of the charm?
<bdx> marcoceppi, coreycb: I also see the charmhelpers function from charmhelpers.contrib.python.packages import pip_install
<cory_fu> lazypower: Replied to your ticket.  I can't reproduce.  :(
<bdx> marcoceppi, coreycb: I have had no luck using either method.........might you bestow upon me the knowledge needed to make this happen?
<marcoceppi> bdx: what version of charm-tools do you have? `charm version` ?
<bdx> charm-tools 1.10.1
<bdx> marcoceppi:^
<marcoceppi> bdx: how are you adding the wheel?
<bdx> marcoceppi: git clone https://github.com/locustio/locust.git, cd locust, python setup.py sdist
<marcoceppi> bdx: okay, normally wheelhouses are included by defining them in a wheelhouse.txt file
<bdx> marcoceppi: cp dist/locustio-0.7.3.tar.gz charmdir/wheelhouse/
<bdx> ok
<marcoceppi> cory_fu: would have better guidance, not sure if that works, but I suppose it should
<bdx> marcoceppi: Is there yet a standardized "best" way to install python packages from pip?
<bdx> cory_fu, coreycb:^
<cory_fu> bdx, marcoceppi: Yeah, I would recommend adding the requirement line to wheelhouse.txt (you can point it at a git URL just fine) and let the build process manage it for you.  You *could* manually put the file into the wheelhouse but you'd want to make sure it was not platform specific.  We don't actually use wheels because of this, and instead just include source .tar.gz files
<marcoceppi> bdx: define them in the wheelhouse.txt https://github.com/juju-solutions/reactive-base-layer/blob/master/wheelhouse.txt
<cory_fu> And to use a git URL, the format is: -e git+https://github.com/locustio/locust.git#egg=locust
<cory_fu> (The -e, git+, and #egg=<foo> are all important)
<cory_fu> You can also include @branch or @sha right before the #egg to use a specific branch or commit
<bdx> cory_fu: awesome....it seems some pip packages (locust) have a requirement on python-dev ..... how would this be handled, if at all using wheelhouse?
<bdx> python packages*
<bdx> errrrr^, how are system level level deps handled* ?
<cory_fu> bdx: Currently, it installs pip with all the recommended packages, so it pulls in python3-dev as well.  There was some discussion about making that a layer option so that charms that don't use Python libs with compiled bits could install faster
<lazypower> cory_fu: ugh :\
<cory_fu> bdx: What other system-level deps do you mean?
<bdx> lazypower, cory_fu, marcoceppi: locust for example only supports python2.7
<bdx> and requires python-dev as a system level deb
<bdx> dep
<cory_fu> lazypower: TBH, I don't see how that could possibly happen.  all_states doesn't modify anything at all, it just calls get_states and makes an assertion about the result.  :/
<marcoceppi> bdx: is locust required for your hooks to run?
<marcoceppi> or is it part of the software you're installing?
<bdx> marcoceppi: it is the primary software pkg I am *trying* to get installed
<cory_fu> Yeah, what marcoceppi is getting at is that the wheelhouse is only intended for *charm* deps.  i.e., libraries that are required for your charm code to run, not the the thing it's deploying
<cory_fu> bdx: You shouldn't use the wheelhouse for that, then.
<lazypower> ^
<marcoceppi> bdx: in your install decorator, just do subprocess.check_call(['pip', 'install', 'whatever']) Or, git clone/installing
<bdx> lazypower, cory_fu, marcoceppi: ok, thats what I was thinking....but it needs python2
<bdx> *python2.7*
<cory_fu> bdx: I'd recommend using charmhelpers.fetch.apt_install
<marcoceppi> bdx: yes, pip is python2, pip3 is python3, you can use the charmhelpers.fetch.apt_install to install python-dev
<lazypower> marcoceppi: does that change w/ xenial?
<bdx> cory_fu, marcoceppi: got it, but then I can't install the python2 pkg
<bdx> no matter what
<lazypower> as in, will pip be python3 pip, or is it still py2 pip (which... is no longer a thing i hear?)
<marcoceppi> lazypower: no idea
<bdx> even if I ssh into the box and install from the box
<cory_fu> apt_install(['python-dev', 'python-pip'])
<cory_fu> subprocess.check_call(['pip2', 'install', 'locustio'])
<marcoceppi> lazypower: python2 is still athing
<lazypower> ok i'll mak eit a point to find out
<marcoceppi> lazypower: it's just not installed by default
<marcoceppi> there's a difference :)
<lazypower> i was inferring from stubs comments about py2 deprecation on a system level that we're headed for heartache in xenial
<cory_fu> lazypower, marcoceppi: You can always be explicit and use pip2
<lazypower> i may have mis-read into it
<marcoceppi> yesh
<cory_fu> bdx: What do you mean you can't install the python2 package?
<bdx> using from charmhelpers.contrib.python.packages import pip_install
<bdx> or just in the terminal
<bdx> when ssh'd into the box
<bdx> cory_fu: although, I was running "pip install", not "pip2 install" ..... should "pip2" be the answer then?
<cory_fu> bdx: I don't understand why you think that wouldn't work?
<cory_fu> bdx: I'm pretty sure that even with python3 installed, "pip" is still the same as "pip2"
<bdx> cory_fu: let me recreate, and grab you some hard data on this.
<cory_fu> But being explicit isn't a bad thing, either
<bdx> cory_fu, marcoceppi, lazypower: so whats up with "from charmhelpers.contrib.python.packages import pip_install" this only works for python3/pip3 pkgs?
<marcoceppi> bdx: hooks run as python3, so probably
<bdx> marcoceppi: how to you feel about modifying the pip_install function to take an optional bool arg for pip2?
<marcoceppi> bdx: sounds fine
<bdx> marcoceppi, cory_fu, lazypower: It doesn't look like pip2 is a thing .....
<cory_fu> bdx: Your reality does not seem to be the same as mine: http://pastebin.ubuntu.com/14011024/  :)
<bdx> crazy
<cory_fu> Also, it looks like pip_install only uses subprocess if it's creating a venv, for some reason.  It should just always use subprocess: https://bazaar.launchpad.net/~charm-helpers/charm-helpers/devel/view/head:/charmhelpers/contrib/python/packages.py#L67
<bdx> cory_fu: my bad...didn't have python-pip as a dep
<cory_fu> bdx: That'll do it.  :)
<bdx> marcoceppi, cory_fu, lazypower: I think I'm g2g now. Thank you all!!
<cory_fu> bdx: Glad to help!
<bdx> cory_fu, marcoceppi, lazypower: Is charmbenchmark the best way to get stdout from an action?
<bdx> cory_fu, marcoceppi, lazypower: Also, if charmbenchmark is used, should it then be added to the wheelhouse?
<marcoceppi> bdx: charmbenchmark is a depricated library
<marcoceppi> bdx: charms.benchmark is the new library
<marcoceppi> bdx: but it doesn't get stdout from an action, it uses action-get and action-set to send and recieve action data
<marcoceppi> bdx: it's meant as an easy wrapper for benchmark actions
<marcoceppi> bdx: charmhelpers.core.hookenv has an action_get, action_set, and action_fail method
<bdx> marcoceppi: gotcha, I see that.... I'm trying to return a few values to the user after the action is ran, what is the way in which I should go about this?
<marcoceppi> bdx: action_set('key', value)
<bdx> marcoceppi: but action_set and action_get must be called from the action.....right?
<marcoceppi> bdx: yes
<bdx> marcoceppi: How can I return values to the user executing the action?
<marcoceppi> action_set
<marcoceppi> bdx: action_get is used to recieve the parameters a use has set for the action, action_set returns data to the user from that action
<marcoceppi> both can only be run from an action
<bdx> marcoceppi: e.g.  I want my users to run "juju action do locust/0 run-tests --params params.yaml"
<bdx> marcoceppi: following that command, I want to return a ip:port to the user
<marcoceppi> okay, you have to use action_set to send the data, eg: action_set('address', ip:port)
<bdx> marcoceppi: I get that....where does that send the data?
<marcoceppi> bdx: the user has to run juju action fetch <UUID>, the UUID will be presented when they do juju action do
<bdx> marcoceppi: ok, awesome, thats what I was looking for! Thank you
<marcoceppi> bdx: sure, np!
<Icey> how can I handle sharing functionality between reactive handlers and action handlers without resorting to weird hacky things like messing with the load path?
<lazypower> Icey: path :cop: approves of this question ^
<marcoceppi> cory_fu: ^?
<cory_fu> Icey: There is an open issue (https://github.com/juju-solutions/charms.reactive/issues/11) related to this.  Currently, there is no built-in support for actions in charm-build nor in reactive.
<cory_fu> I think that we should do it, but charm authors will need to be aware that *all* handlers whose conditions match will be run.  So if you don't guard properly, you could have actions doing things like restarting your service because you assume "hook run means something changed"
<lazypower> cory_fu; wait so build doesn't merge actions.yaml?
<lazypower> good to know. i had not considered that when building out my layers
<cory_fu> lazypower: No, it doesn't.  :(
<cory_fu> At least, I'm pretty certain it doesn't
<Icey> I generally think that the actions should NOT share functionality with Hooks, but that Hooks and Actions should both call helper functions to handle their shared functionality ;-)
<lazypower> that'll change at some point i'm willing to bet
<marcoceppi> lazypower: that's more a charm-tools issue, but it's imporant
<lazypower> marcoceppi: oh i agree, and i said 'build' :)
 * marcoceppi misread
<cory_fu> lazypower: We need an ActionYAML that is a trivial subclass of YAMLTactic in: https://github.com/juju/charm-tools/blob/master/charmtools/build/tactics.py#L622
<marcoceppi> lazypower cory_fu: https://github.com/juju/charm-tools/issues/82
<cory_fu> But if we want to have proper reactive support, it will also need to build the hooks out
<lazypower> cory_fu: is that a prompt for me to get un lazy and go contribute?
<lazypower> i can see merging the actions yaml and including w/e is in actions/*
<lazypower> i'm undecided on if actions in reactive is a good thing
<lazypower> i'm already generating a script that matches the definition in actions.yaml, i dont know that generating them with decorators really saves me anything other than creating the file
<lazypower> it actually limits me in what my action is written in if i'm mixing bash and python actions
<Icey> lazypower I'd like actions to be a lot like old school hooks
<Icey> you can have bash scripts
<lazypower> or maybe not even a script at all, maybe i stuff in a binary that ships w/ whatever service and convert the flags to options that it passes to the binary
<Icey> you can have an actions.py with links
<lazypower> or maybe i'm just pulling stuff out of the air now
<marcoceppi> I think actions in reactive is the right way forward, tbh
<marcoceppi> but I am in the minority
<lazypower> marcoceppi: to you, whats the benefit of actions in reactive?
<marcoceppi> lazypower: I think for now, just having it merge the yaml is enough
<lazypower> i'm asking more for my education
<lazypower> as i've noodled this topic for about, 40 seconds.
<lazypower> clearly i'm an authority
<marcoceppi> lazypower: one place to manage my code, the model is all reactive, and I can more easily assert and manage states in actions
<lazypower> hmm
<lazypower> thats fair
<marcoceppi> lazypower: however
<lazypower> @when('backup.is_complete')
<marcoceppi> I think there's a middle ground
<lazypower> actually
<lazypower> whats stopping you from doing that today?
<lazypower> you can call charms.reactive set_state backup.is_complete and still handle it on your next update-status run
<marcoceppi> lazypower: actions are not hooks
<marcoceppi> oh, sure, but I also have to mung paths
<marcoceppi> the source tree isn't as clean
<lazypower> path :cop: disapproves of path munging
<marcoceppi> lazypower: I think the way forward is, if actions/<action_name> exists, leave be, otherwise auto-generate stub and assume it's reactive
<Icey> +1 to that marcoceppi
<marcoceppi> lazypower Icey however, the second half of that is a bit more complicated to produce, since it requires changes to the reactive framework
<lazypower> that makes sense
<cory_fu> marcoceppi: Eh, not much.  Mostly just adding an @action decorator.  I don't think it needs anything else?
<marcoceppi> cory_fu: okay, maybe it's not hard
<lazypower> and yeah i'm 100% for getting the yaml merge first, hten tackling the reactive bits in tandem wl/ the generator(s)
 * marcoceppi was just guessing
<cory_fu> And you could probably use @hook in the meantime
<Icey> can I access config inside of an action?
<marcoceppi> Icey: you should be able to
<lazypower> its an anonymous hook context, so sure
<Icey> :)
<marcoceppi> cory_fu: depends on how "hook name" is determined
<cory_fu> marcoceppi: It uses $0
<marcoceppi> oh, cool
<cory_fu> Technically, it looks for $JUJU_HOOK_NAME and falls back to $0, but JUJU_HOOK_NAME is only set in debug-hooks
<cory_fu> And presumably wouldn't be set for an action even during debug-hooks
<marcoceppi> nope
<cory_fu> So @hook should really Just Work, but we need to have an alias so that it's clear that it's intended for actions
 * marcoceppi acks
<marcoceppi> Maybe I'll take a stab at that over the holidays
<cory_fu> marcoceppi: If you merge https://github.com/juju/charm-tools/pull/75 it should be pretty trivial
<marcoceppi> cory_fu: merged, this also has conflicts now https://github.com/juju/charm-tools/pull/68
<cory_fu> marcoceppi: Well, I guess it'd need a little refactoring; the DynamicHookBind class would need a prefix option that could be overridden to switch "hooks" for "actions"
<marcoceppi> cory_fu: I'll be looking to release 1.11.0 this week
<cory_fu> Nice
<lazypower> marcoceppi: movin right along man! we've got a nice rel cadence going with c-tools
<lazypower> hattip @ you and the contributors
<marcoceppi> lazypower: the day releases slow down, is the day cory_fu stops making charm build better ;)
<lazypower> cory_fu: i will bribe you with as much pizza as you can carry
<lazypower> cory_fu: and scotch
<cory_fu> marcoceppi: Resolved
<cory_fu> marcoceppi: So yeah, if you want to take a stab at adding generated actions now, just look at how it's done now for StorageBind.  You'll need a new subclass of DynamicHookBind and a similar method in build/__init__.py:Builder.plan_{interfaces,storage,actions} (maybe those could be refactored)
<marcoceppi> cool
<cory_fu> As I said before, DynamicHookBind will need to override the dir prefix, and the HOOKS list for ActionsBind would just be ['{}']
<cory_fu> (i.e., use the action name as the file name, no suffix)
<cholcombe> i have a juju action parameter that needs to be any type.  Can i just use type: object for that?
<marcoceppi> cholcombe: why not string?
#juju 2015-12-15
<cmars> anastasiamac, can I get a review of http://reviews.vapour.ws/r/3385/diff/# ?
<cmars> sorry, wrong channel
<cholcombe> marcoceppi, i think string is fine.  just wondering if it'll be weird for people wanting to enter an int for the same field
<anastasiamac> cmars: looking
<anastasiamac> cmars: lgtm \o/
<blr> does anyone have any thoughts on the best way to manage state in between hook runs? (other than updating the juju config)?
<blr> or alternatively, is there any way to introspect which hooks have run, assuming juju maintains that state?
<lazypower> blr are you using the traditional charming method or are you working with reactive?
<marcoceppi> lazypower: we should just start calling it "Classic Charming"
<lazypower> hmm, ok
<lazypower> marcoceppi: bruzer and I are talking about the path forward with k8's. We've reached feature parity with our existing charms, and are thinking about deprecating.  The thing is, the older charm shares less than 10% of what the current charms do.. so we cant really deprecate any existing deployed systems
<lazypower> are we forced into waiting for a series change to promote the new charms?
<lazypower> its in a namespace, so we can be shifty if required
<mbruzek> marcoceppi: The old charms are only in a personal namespace so I believe we can deprecate the old charms and replace them with the new k8s charm
<marcoceppi> deprecate away, it's personal namespace
<lazypower> welp
<lazypower> here goes something :)
<cfx> mbruzek: I'm in a meeting right now so I haven't had time to really go in-depth yet... but the commit looks really good from what I've read so far!
<mbruzek> cfx: Thanks! I am working on event cycle now
<cfx> awesome. :)
<cfx> I hope to get through the next section -- and review today's changes -- later on this evening. My Juju work is primarily outside of office hours for now.
<mbruzek> cfx thanks again for the feedback and the detailed review
<cfx> my pleasure sir
<lazypower> axw_ : storage hooks run before install, correct?
<beisner> thedac, requesting a cross-review if you will ... see my final comment @ https://code.launchpad.net/~pjdc/charms/trusty/rabbitmq-server/no-more-guest-user/+merge/276831
<thedac> beisner: I'll take a look shortly
<beisner> thedac, much thanks.  actually last 2 comments.  i shifted my position slightly.
<Prabakaran> Hello Team, I am writing ibm java sdk layer charm, Reactive deployable charm contains auto generated config-changed hook which is written on python. It has some pre-written code as wellâ¦ So to make use of the EULA value getting from config.yaml file in the decorated pattern, I will have get value from config.yaml file in the config-changed hooks.
<Prabakaran> I will have to include the below code in the config-changed hookâ¦.can anyone please help me how to insert the below line of codes in the link..  http://paste.ubuntu.com/14006238/
<Prabakaran> @hook('config-changed')
<Prabakaran> def config():
<Prabakaran>      accepted = hook.config().get('accept-ibm-javasdk-license')      if accepted = False:          set_state("license.accepted')     else:         set_state("license.not.accepted')
<kwmonroe> hey Prabakaran, in the reactive model, you no longer have to worry about writing individual hooks.  the 'charm build' process will create the correct hook for you. you should instead focus on the state of the charm to do your logic.
<kwmonroe> so in your case, in your ./reactive/<source> file, you probably want:
<kwmonroe> @when 'java.connected'
<kwmonroe> @when_not 'java.installed'
<kwmonroe> function do_something() {
<kwmonroe>   if check_eula() == good; install()
<kwmonroe> }
<kwmonroe> you can get an idea of the install procedure with the openjdk reactive charm:
<kwmonroe> https://github.com/juju-solutions/layer-openjdk/blob/master/reactive/openjdk.sh#L18
<kwmonroe> i would start with that source and simple add the eula check just before the actual install.
<Prabakaran> Hi kwmonroe, Good Morning... How to have a check for the value getting from the config.yaml file in the decorated pattern. Like i am facing a scenario wherein i will have to get EULA value from the user as True or False. If EULA value which I am getting it from config.yaml file is true i will have to install IBM java SDK else it will uninstall the product. So I have used something like that, it was not working. Can you please suggest
<Prabakaran> javasdk_license_accepted=`config-get accept-ibm-javasdk-license` @when 'java.connected' 'java.installed' '$javasdk_license_accepted== 'False'
<kwmonroe> Prabakaran: see the config check for 'install-type' on the openjdk charm: https://github.com/juju-solutions/layer-openjdk/blob/master/reactive/openjdk.sh#L21
<kwmonroe> you would do the same, but instead of 'install-type', make it 'accept-ibm-javajdk-license'
<kwmonroe> then see the conditional for openjdk: https://github.com/juju-solutions/layer-openjdk/blob/master/reactive/openjdk.sh#L29
<kwmonroe> do something similar, if accept-ibm-license == True, apt-get install ibm-java; else, apt-get remove ibm-java.
<Prabakaran> i have impletmented in that same way but.. If EULA value which I am getting it from config.yaml file is true i will have to install IBM java SDK else it will uninstall the product.
<kwmonroe> ok cool - that sounds right
<mbruzek> Hello Prabakaran welcome back.  When you say it was not working can you explain ?
<kwmonroe> Prabakaran: perhaps a link to your reactive source so we can take a look?
<Prabakaran> i was just explaining the scenario what i am facing to kevin...  As discussed with u .. i was tryin to get EULA value from config.yaml file in the config-changed hook
<Prabakaran> like that
<Prabakaran> but Reactive deployable charm contains auto generated config-changed hook which is written on python. It has some pre-written code as wellâ¦ So to make use of the EULA value getting from config.yaml file in the decorated pattern, I will have get value from config.yaml file in the config-changed hooks.
<Prabakaran> @hook('config-changed') def config():      accepted = hook.config().get('accept-ibm-javasdk-license')      if accepted = False:          set_state("license.accepted')     else:         set_state("license.not.accepted')
<Prabakaran> my actual config-changed hooks is http://paste.ubuntu.com/14006238/
<Prabakaran> so i will have to set_state in here..
<mbruzek> Prabakaran: OK what you have in the paste bin is a generic python charm hook that allows the system to run the reactive code.
<mbruzek> Prabakaran: you should not edit the config-changed file in this case.  You can decorate a config-changed hook.  Or as kevin pointed out, the charm code can react to different states and check the configuration value at those times.
<Prabakaran> k .. thn so i will have to include this in reactive/install.sh file?
<mbruzek> Prabakaran: so this pastebin was config-changed, but what does your reactive/install.sh look like?
<Prabakaran> http://paste.ubuntu.com/14005951/
<mbruzek> let me ask you Prabakaran is it a requirement to uninstall the java if they decline the license?  I know this is a time-honored convention for IBM charms, but is this a requirement?
<mbruzek> Prabakaran: If it is not a requirement to uninstall, we could simply this code to only install when/if they accept the license, after that the user can not change their mind, and reject the license
<Prabakaran> ya we need to uninstall the product if the EULA is FALSE
<mbruzek> Prabakaran: OK understood.
<thedac> beisner: A few things. One, this MP needs to be against next. Two, after NotImplementedError we cannot assume no clustering for juju < 1.23. Three, +1 to needing tests although that may fall to you to implement :). Do you want these comments on the MP?
<Prabakaran> Outside of decorated pattern.. i have written like that..
<Prabakaran> if [ $javasdk_license_accepted == "True" ]; then set_state 'license.accepted' else set_state 'license.not.accepted' fi
<mbruzek> Prabakaran: OK what is not working then?
<beisner> thedac, thx, i've got it.  i just got so excited to have tests complete!
<thedac> ha
<Prabakaran> As discussed with u.. i thought i will have to get config values from config-changed hook... that is where i confused..now i am clear ...
<Prabakaran> i will deploy and test my code... and come back if i have any doubts... thank u all for ur help...
<mbruzek> Prabakaran: You showed me the generated config-changed hook, but you can implement a bash layer of the config-changed hook in your install.sh file if you need to
<mbruzek> the reactive.main() method will invoke functions with @hook 'config-changed' at the appropriate times
<mbruzek> when configuration changes
<mbruzek> Prabakaran: let me or kwmonroe know if you have any further questions after testing.
<beisner> thedac, ps fyi, following the cdo-qa sprint, this guy right here will be taking a strong stance on tests-should-accompany-changes-or-additions. ;-)   as much as i do enjoy that part, i can easily get sucked into writing test coverage for features that others land (or more likely/dangerous:  not add test coverage for a feature that someone has landed).
<thedac> +1. I'll back you up on that.
<beisner> thedac, so i understand the other thing raised on that mp ... so the concern is that this assumes LE?
<marcoceppi> jhobbs: the django layer has a bit of support for python3, it was made to support this: https://code.launchpad.net/~ubucon-site-developers/ubucon-site/ubucon-layer so there's room to grow it
<jamespage> cory_fu, lazypower: hey - so what do you find your 'final layer' charm source repo is looking like?
<thedac> beisner: Right. Which I go back and forth on whether that is acceptable.
<jamespage> our first versions as not the charm per say, but the bits to make the charm
<beisner> thedac, err nvm.   i grok.
<thedac> beisner: and in this case we cannot use the legacy is_newer() because that assumes it is in a relation hook.
<jhobbs> marcoceppi: oops, was talking in other room
<jhobbs> marcoceppi: ok, i'll go with mine for now just to get everything working and then come back and look into yours more
<Prabakaran> ya sure <mbruzek>
<marcoceppi> jhobbs: no worries, this just does gunicorn and django. It calls pip isntall for gunicorn and the pip should be determined by what the user put int he parent layer
<marcoceppi> jhobbs: IE, pip: '/usr/bin/php3' would get you a python3 gunicorn
<blr> lazypower: this is a 'classic' charm (not one I've written) unfortunately.
<jhobbs> marcoceppi: how's that work? You're calling 'pip' directly from the OS
<marcoceppi> jhobbs: it's a bug
 * lazypower reads backscroll - sorry blr  i lost context 1 sec
<lazypower> blr ah!
<blr> lazypower: throwing the state in juju config would certainly work, it just seems a bit ugly.
<lazypower> so if you need to manage local state in a classic charm, use the charmhelpers.unitdata.kv storage helper
<marcoceppi> jhobbs: line 49 should be doing what;s in this line: https://github.com/marcoceppi/layer-django/blob/master/reactive/django.py#L143
<blr> this charm isn't even using charmhelpers :(
 * marcoceppi patches
<lazypower> its specific to the unit, and gives you a consistent interface to store data.
<lazypower> blr: thats a simple import away though :)
 * marcoceppi writes an email to the list to announce the layer so it has more visibility
<jhobbs> cool, well i'm glad i know about it now; i checked on the site when i started this but that was more than two weeks ago
<beisner> thedac, thx, re-commented.  reviewed as re-submit.
<jhobbs> thanks for the heads up
<blr> lazypower: true, it is just going to make our eventual diff for upstream require more explanation, but that's okay.
<lazypower> blr: which charm?
<blr> lazypower: thanks, that kv store sounds perfect
<blr> lazypower: squid-forwardproxy
<lazypower> aahhh ok.
<blr> it really should be rewritten
<lazypower> layers are a thing :)
<blr> right
<lazypower> having a squid-common layer, then a layer for the different proxy types would be stellar
<blr> it would!
<lazypower> it would certainly ease your maintenance burden... might be worth the effort if you have the project scope to do it blr
<Prabakaran> Hi <mbruzek>, Unfortunately uninstallation part was not getting called while setting EULA value to False.
<Prabakaran> First I deployed my charm and set EULA value to true. Installation was successful.
<Prabakaran> I have written codes for install and uninstall decorated method in this link http://paste.ubuntu.com/14031988/  .. please correct me if I am wrongâ¦
<cory_fu> jamespage: Sorry, was on a call.  I'm not sure I understand your question?
<cory_fu> Prabakaran: Your "else" condition should instead be this:
<cory_fu> remove_state 'license.accepted'
<cory_fu> Instead of: set_state 'license.not.accepted'
<Prabakaran> k <cory_fu>.. let me change my code and try with this
<mbruzek> cory_fu: Prabakaran wants to have a license.not.accepted because he wants to tack action to uninstall in that case
<cory_fu> mbruzek: I understand he wants to install when the license is "unaccepted" but what that really means is that "if installed and not license-accepted" do the install.  So, in reactive, that's: @when('java.installed') + @when_not('license.accepted')
<cory_fu> mbruzek: So, then, instead of adding a new state for "unaccepted" you would just react to the accepted state no longer being there.  But, then, you have to remove the accepted state instead of adding a new state
<mbruzek> cory_fu: Yes I have some pseudo-code here
<mbruzek> http://paste.ubuntu.com/14032853/
<cory_fu> mbruzek: Did I explain that clearly?
<mbruzek> Prabakaran: something like that.
<cory_fu> mbruzek: The problem with your code is that you could end up in a situation where *both* states are set
<cory_fu> mbruzek: Prabakaran's pastebin was actually closer to correct, save for my one suggested fix
<cory_fu> mbruzek: With your code, if the user accepts the license, then ibm.javasdk.license.accepted gets set, and the java installed.  But if they then unaccept the license, then ibm.javasdk.license.declined gets set (but ibm.javasdk.license.accepted is *still* set!) and now both blocks will run!
<mbruzek> cory_fu: it was just pseudo-code to show Prabakaran how to decorate a config-changed hook
<cory_fu> mbruzek: Yes, but the thing you called out (having a "declined" state) is wrong.  :)
<mbruzek> I wrote it while working on something else, so the logic may be off
<mbruzek> cory_fu: thanks for pointing that out.
<Prabakaran> finally.. got worked out .. my code is running successfully.. Thank u all for the ur help and ur kind support...
<mbruzek> Prabakaran: I defer to cory_fu on the reactive logic
<cory_fu> mbruzek: Also, while the @hook 'config-changed' wrapper does make it more clear what is triggering that code, it's technically unnecessary.  Without any @something wrapper, the code will *always* execute, which is actually ok for that particular block.
<Prabakaran> Thank u so much <mbruzek> , <cory_fu>
<cory_fu> Prabakaran: Glad to hear it.  :)
<cory_fu> And no problem
<lazypower> cory_fu: that technical detail though, is probably not somethign we want ot promote
<lazypower> "dont decorate anything, and it runs"
<lazypower> i would rather advcoate for having highly detailed charms with decorators as to when something should run
<cory_fu> lazypower: I tend to agree, yes
<Prabakaran> should i remove @hook 'config-changed' decorator
<cory_fu> Prabakaran: It would be better to include it, because it makes your code more self-documenting
<Prabakaran> k thanks <cory_fu>
<icezimm> lazypower: I made more tests on juju bootstrapping
<icezimm> seems the problem was on networks, but still can't solve how to setup correctly
<icezimm> lazypower: on juju bootstrap it allocate a machine on MAAS, my private network has internet access because I did these procedures ( http://askubuntu.com/a/499311 ) but containers do not get a public/private ip address according to this gist https://gist.github.com/fernandes/b9196da2d09059f60bdd#file-juju_error-log-L221-L239
#juju 2015-12-16
<jamespage> gnuoy, hows the barbican charm looking?
<gnuoy> jamespage, well, from a using layers to build a charm perspective: great! from a functioning service pov: less great
<jamespage> gnuoy, packaging issues?
<gnuoy>  5 barbican package bugs so far ( http://paste.ubuntu.com/14047472/ )
<gnuoy> and even working around those the token from keystone is still be rejected by barbican
<gnuoy> jamespage, tbh, I'm conflicted on how much time to spend working on barbican itself as opposed to charm/layers stuff
<jamespage> gnuoy, I can have that lot fixed in two shakes of a stick...
<gnuoy> jamespage, they are not blocking me, they are easy to work around
<jamespage> gnuoy, what's the right way to run barbican then?
<gnuoy> jamespage, Using the previous version of barbican (2014.2) the charm works and you can retrieve and store secrets. With the liberty package I'm still trying to get it to work at all
<gnuoy> jamespage, https://github.com/cloudkeep/barbican/wiki/Integration-with-Apache2 is what the charm should probably do eventually but right now I'm trying to get it to work at all
<jamespage> gnuoy, https://launchpad.net/~james-page/+archive/ubuntu/liberty-testing
<jamespage> updates for liberty will appear here once they build
<gnuoy> jamespage, fantastic, thanks
<jamespage> gnuoy, btw I'd add python-pymysql to the package list for barbican
<gnuoy> yep, I wont rely on recommends
<jamespage> gnuoy, that's a nice example of release specific behaviour - python-mysqldb -> python-pymysql
<jamespage> kilo -> liberty
<jamespage> gnuoy, ok prep done for sru as well; once we're ok with my ppa package I'll upload
<jamespage> okay all built
<jamespage> gnuoy, ^^
<gnuoy> jamespage, yep, I'm giving it a spin at the moment, thanks for all your fixes
<jamespage> gnuoy, np we'd have todo them anyway for the MIR
<gnuoy> jamespage, barbican  charm is now functional with liberty rc1, thanks
<jamespage> gnuoy, oooo
<jamespage> awesome
<icezimm> a quick question, how do I create a database on juju mysql? I've searched but found nothingâ¦ is it possible to create only via charms relationships?
<rick_h_> icezimm: it's setup to do that automatically on the charm relations.
<marcoceppi> icezimm: at the moment, yes. the MySQL charm will only create database schemas when a realtion is made
<rick_h_> icezimm: you could juju ssh to it and run normal mysql commands
<marcoceppi> icezimm: however, the root password is available if you wish to use it out of band of Juju
<icezimm> I understand I can juju ssh mysql/0 then mysql -u root -p `sudo cat â¦`
<icezimm> hummmm
<icezimm> so I'd never find how to create using juju heheh
<icezimm> thank you very much rick_h_ and marcoceppi :)
<rick_h_> icezimm: it might make an interesting juju action to support creating on the fly dbs
<marcoceppi> icezimm: well, it's not available yet, but you could add an action to do this
<marcoceppi> rick_h_: man, I'm slow today ;)
<icezimm> hahahha
<icezimm> rick_h_ is fast like bullets flying ;)
<rick_h_> marcoceppi: :P
<icezimm> just to make sure, you're talking about this:  https://jujucharms.com/docs/1.25/actions right?
<Icey> icezimm yes
<icezimm> hummm great, I'm new to jujuâ¦ just started this week, getting used heheh
<icezimm> Icey: thank you
<marcoceppi> icezimm: yes, so ideally you'd do something like this `juju action do mysql/0 create-db name=<name-you-want>` and it would reply back with all the details you need
<marcoceppi> icezimm: welcome!
<Icey> marcoceppi another use case for synchronous actions :)
<marcoceppi> icezimm: however, someone would have to create that action and add it to the charm
<icezimm> I deployed a mysql, but running `juju action defined mysql` as described on documentation shows `No actions defined for mysql`
<icezimm> marcoceppi: thank you :)
<marcoceppi> icezimm: yeah, so the action doesn't exist yet, someone would have to create it, but that's the mechanism you'd use
<icezimm> I mean
<icezimm> not the create db action
<icezimm> https://jujucharms.com/docs/1.25/actions#action-commands
<marcoceppi> icezimm: yes, mysql doesn't have any actions defined at the moment
<icezimm> `juju action defined mysql` was supposed to return backup, benchmark, dump, restartâ¦ no?
<icezimm> hummmmâ¦
<marcoceppi> icezimm: hum, maybe
<marcoceppi> icezimm: looking at the charm, there are no actions
<marcoceppi> icezimm: I see how this is confusing, since the documentatoin says so
<icezimm> hahahah no problem
<marcoceppi> icezimm: those are theoretical responses, not actually what is reality.
<icezimm> i understand
 * marcoceppi opens a bug
<icezimm> where are you opening so I can follow?
<bloodearnest> marcoceppi, hey there. So, I want a charm to use the python cryptography library, which wraps openssl, but trying to figure out how to install in the charms virtualenv
<bloodearnest> . The latest charm build does source only wheels, so I can't include in wheelhouse.txt, as it won't install correctly.
<marcoceppi> icezimm: https://github.com/juju/docs/issues/759
<icezimm> I have a background on debian and puppetâ¦ no evaluating ubuntu/autopilot/juju so I'm really lost atm heheheh
<icezimm> GH workflowâ¦ great!
<marcoceppi> icezimm: yeah, most of the Juju stuff is on github, with everything making it's way over slowly
<marcoceppi> icezimm: if you have any questions please feel free to let us know here :)
<bloodearnest> marcoceppi, Ideally, I'd like to install from archives and use that (to support multiple arch). Is there a way to do that with the charm virtualenv (i.e. include system site packages)
<marcoceppi> bloodearnest: the source wheel should be unpacked and installed on the remote unit, you'll just need to make sure openssl-dev, etc are installed
<bloodearnest> marcoceppi, ah, k
<marcoceppi> bloodearnest: well, no, but you don't need to include it in the wheel at all
<marcoceppi> bloodearnest: the wheel is just charms hook deps, tbh
<marcoceppi> bloodearnest: you can just, in the method you've wrapped with @hook('install') call out to charmhelpers.fetch.apt_install('yo-pkg')
<bloodearnest> marcoceppi, my charm hooks use cryptography to generate a self signed certificate
<icezimm> marcoceppi: I'd like to add another provider to juju deploy, could you point me on the direction? a documentation link, github link to codeâ¦ anything can help ;)
<lazypower> bloodearnest - wait
<lazypower> bloodearnest - we have a layer to help you with that
<marcoceppi> icezimm: I'll dig up some docs, wwitzel3 might be able to help while I look. Providers are written in Golang. Which are you looking to add (for curiosity)
<icezimm> hummm great
<lazypower> bloodearnest - give this a look and see if its what you're looking for. we have the interface impl for peering, which sets up a CA and does PKI / CSR for a service pool https://github.com/mbruzek/layer-tls
<marcoceppi> icezimm: https://github.com/juju/juju/wiki/Implementing-environment-providers
<lazypower> https://github.com/mbruzek/interface-tls - and this is the interface repository
<icezimm> I found the implementations
<icezimm> https://github.com/juju/juju/tree/master/provider/ec2
<icezimm> this doc is amazingâ¦ thank you very much marcoceppi
<wwitzel3> icezimm: don't use ec2 as a reference, use gce https://github.com/juju/juju/tree/master/provider/gce
<wwitzel3> icezimm: also hi :)
<icezimm> hello wwitzel3!
<marcoceppi> icezimm: no worries, you may want to join the juju and juju-devel mailing lists (https://lists.ubuntu.com/mailman/listinfo/juju and https://lists.ubuntu.com/mailman/listinfo/juju-dev) if you haven't already
<wwitzel3> icezimm: that overview doc covers most of what you'll need, you should be able to fill in the holes referecing the gce provider. You'll also want to join the juju-devel list as marcoceppi mentioned.
<bloodearnest> lazypower, so, that looks like a different tools from what I'm working on. AIUI, it's for distributing a cert between service units, so they can tls there traffic to each other, right?
<icezimm> marcoceppi: now I'm in
<icezimm> :)
<bloodearnest> I'm working on public facing tls certs
<bloodearnest> the kind you put in apache
<lazypower> bloodearnest: this works for that as well, as they are self signed either way they are going to raise an issue w/ a browser.
<lazypower> bloodearnest: and these certs generated here will work in an apache vhost
<icezimm> just curiosity, why gce and not ec2? (using deprecated api, code not so clear?)
<bloodearnest> lazypower, one particular use case I'm trying to solve is multiple tls certs, doesn't look like this supports that?
<marcoceppi> icezimm: the ec2 was one of the first providers we wrote, since then we've gotten better at coding them, so it kind of uses a lot of older, outdated environment designs
<icezimm> ahhhh what I suspected heheh
<lazypower> bloodearnest: lets hop on a hangout and riff over your use cases
<marcoceppi> icezimm: GCE was written against that document so it'll line up better
<bloodearnest> lazypower, plus, it git clones easyrsa, which means we can't use it atm
<bloodearnest> lazypower, sure
<icezimm> my idea is to work on softlayer provider
<icezimm> but I know zero of go lang hahah (a good reason to start learning)
<icezimm> ;)
<lazypower> bloodearnest:  https://plus.google.com/hangouts/_/canonical.com/container-cats
<marcoceppi> icezimm: I was under the impression that softlayer was moving to OpenStack?
<bloodearnest> 434644
<icezimm> marcoceppi: no
<icezimm> ibm acquired blue box to provide "openstack as a service" for hybrid workloads
<icezimm> but softlayer public cloud has its own api, and no intention to change on near future (afaik)
<marcoceppi> icezimm: ah, that's where I'm confused. Well it looks like there's a few golang softlayer APIs already, so at least that work is already done
<icezimm> I'm the maintainer for fog-softlayer and have my own softlayer clientâ¦ but in ruby hahah
<marcoceppi> icezimm: awesome!
<icezimm> at least I'm very used to the api
<marcoceppi> icezimm: yeah, so you only just need to wrap your head around golang and marry the two ;)
<icezimm> yeah hahah
<icezimm> https://github.com/sudorandom/softlayer-go
<icezimm> sudorandom is softlayer staff
<icezimm> I'm gonna check this, play a little then check how to marry with juju heheh
<marcoceppi> icezimm: awesome, well if you have any questions or need help, feel free to ping in here!
<icezimm> awesome.. thank you very much
<icezimm> too many information/new stuff, need to study and learn a little bit more to come with new questionsâ¦ hehehe
<icezimm> marcoceppi rick_h_ wwitzel3 lazypower thank you for the help
<bloodearnest> lazypower, lp:~bloodearnest/charms/trusty/x509-cert
<icezimm> lazypower: I work arounded in the network problem
<icezimm> but juju is still only configuring and up the private network on machines
<icezimm> going lunchâ¦ brb
<marcoceppi> cory_fu kwmonroe admcleod1 bigdata-devs apache-hadoop-plugin, that's just a charm we created, it's not really a apache/hadoop service, right?
<cory_fu> Correct
<admcleod1> right
<marcoceppi> cool, thanks guys
<cory_fu> Why do you ask?
<marcoceppi> cory_fu: I'm documenting the benchmarking in apache-hadoop-plugin and am trying to get a description for it
<cory_fu> marcoceppi: Also, we're going to be phasing it out with the conversion to layers, because layers provide a better solution to the problem it was addressing
<cory_fu> Though that does mean we'll need a new home for the benchmark actions, hrm.
<admcleod> client
<marcoceppi> cory_fu: http://8e421f99.ngrok.io/benchmarks/#apache-hadoop-plugin that's fine, I'm just trying to fill this in like the other examples
<cory_fu> admcleod: Yeah, probably.  Though I could also see them living on ResourceManager
<marcoceppi> cory_fu: we can updtae the page when it finds a new home
<admcleod> cory_fu: hm yes that would be better actually, that is more intuitive
<marcoceppi> cory_fu admcleod I'd also love to put spark-bench on here :)
<cory_fu> marcoceppi: "Apache Hadoop Plugin subordinate is provides both a connection point for the Apache Hadoop cluster as well as installation and management of the Apache Hadoop libraries and configuration for its principal service."
<cory_fu> s/is//
<marcoceppi> cory_fu: awesome, thanks!
<marcoceppi> way better than what I was cobbling together
<cory_fu> :)
<bloodearnest> lazypower, https://github.com/bloodearnest/plugins/tree/juju-local-dns
<Muntaner> hello to everyone!
<Muntaner> I had a juju bootstraped openstack environment, amazingly working.
<icezimm> Muntaner: I know how is this sensationâ¦ just got mine working today ;)
<Muntaner> I bootstraped it from my laptop, and I cloud do "juju status", "juju deploy" and so on without problems. By the way, I was forced to format my laptop... now I don't have an ubuntu distro anymore, and I need to "talk" with the juju client with that environment another time
<Muntaner> I backupped all the .juju folder - with all the ssh stuff, .jenv and so on - in order to do this on another VM which runs an Ubuntu distro
<Muntaner> what should I do? simply install the juju client on this new virtual machine and then copy the .juju folder content which I backupped and should I see the environment again?
<icezimm> about networking with juju, I have a MAAS with eth0 192.168.0.0/24 (public unmanaged) and eth1 10.1.1.0/24 (private managed), when deploy a new node it configures the private network and juju-br0 on eth1, but I can access my services because they should be accessible via eth0 and juju is not handling itâ¦ is it ok?
<marcoceppi> Muntaner: basically
<lazypower> Icey https://github.com/juju-solutions/charms.reactive/issues/32
<lazypower> Muntaner: the .juju directory is portable, so you should be able to just drop that in on any system, osx, ubuntu, et-al. and it should "just work"
<Muntaner> lazypower, great!
<Muntaner> you gave me a great new
<icezimm> I got landscape server running, but juju is exposing the service via my private network interface hahaha
<icezimm> any suggestion on how handle to expose or via both, or via public one?
<lazypower> dpb1 - ^
<dpb1> lazypower: you would probably know more than me there. :(
<lazypower> last i saw the landscape server doesn't bind to any specific ip
<lazypower> icezimm: did you juju expose the servie?
<lazypower> *service
<icezimm> lazypower: noâ¦ I'm following the instructions
<icezimm> theres nothing about exposing heheh
<icezimm> lazypower: you can see my juju status
<icezimm> https://gist.github.com/fernandes/71e36bb897d348b2f0b1
<icezimm> exposed: false
<icezimm> hummmm
<icezimm> makes sense
<icezimm> its not exposed
<lazypower> icezimm: yeah, def juju expose landscape
<lazypower> then give it a go
<icezimm> lazypower: should I expose landscape-server or haproxy?
<lazypower> icezimm: haproxy
<lazypower> sorry this is off the cuff, i haven't looked @ the status output
<lazypower> but iirc, landscape runs behind haproxy so you can scale it
<icezimm> yeah
<icezimm> here we go
<icezimm> now I have haproxy as exposed
<icezimm> but still public-address: 10.1.1.110 is what maas provided from its dhcp (private network)
<icezimm> I entered on machine-0 and enabled eth0 (public network)
<lazypower> icezimm: i'm headed out for lunch, i can help troubleshoot in an hour when i get back.
<icezimm> but I think juju-br0 that connect to containers is only set on private
<icezimm> lazypower: perfectâ¦ I do really appreciate, enjoy your lunch ;)
<lazypower> well, juju-br0 isn't accessable outside the host unless the newer networking code landed
<lazypower> i know that dimitern has done work here, and i'm sketchy on the details of whats landed and what hasnt
<icezimm> no problem, atm I put a ethernet cable from my machine to private switch (nasty work around hahahaha)
<lazypower> but container networking, if its still in the state that i last checked, is only accessable on the host unless you use some SDN charm(s) to modify that. if the HAProxy node is deployed on a principal unit, and not a container, that is co-located with landscape, connectivity shouldn't be an issue.
<icezimm> I can work next hour while you lunchâ¦ I'm pretty well
<lazypower> sounds good icezimm, see you in a bit o/
<icezimm> thank you! \o
<cory_fu> Question for anyone.  The way reactive decorators work, @when(true, true) fires, but @when(true, false) and of course @when(false, false) do not.  @when_not(true, true) clearly should not fire, and @when_not(false, false) clearly should.  What do you expect @when_not(true, false) to do?
<jhobbs> when_all and when_not_all would be clearer
<jhobbs> maybe :)
<jhobbs> python has all() and any(), and you can negate those. that makes sense.  when_all(), when_any(), when_not_all() and when_not_any(). when just when_not() there isn't enough information
<cory_fu> So you would expect @when_not(true, false) to fire, because at least one is false?
<jhobbs> i would have to look it up
<mbruzek> tvansteenburgh: is there a way to find the leader in Amulet code?
<marcoceppi> icezimm: I think you need to enable a new feature, let me check
<marcoceppi> icezimm: since you're on MAAS, expose has no real affect since MAAs doesn't have a firewaller
<icezimm> hummm interesting
<icezimm> expose if just a iptables accept?
<icezimm> expose is just like a iptables accept?
<marcoceppi> icezimm: yes, but we don't use local iptables, instead we use the providers firewaller, ie security groups
<marcoceppi> icezimm: I think you need to enable a special networking feature for MAAS which makes containers addressable
<marcoceppi> icezimm: yeah, it's "EXPERIMENTAL" in 1.25, but check out the 1.25.0 section here https://jujucharms.com/docs/devel/reference-release-notes specifically "Support "devices" on MAAS 1.8+"
<marcoceppi> icezimm: that's what you need
<lazypower> marcoceppi: ta, i was looking for that and didn't find it
<jrwren> mbruzek: thanks for the merge.
<mbruzek> jrwren: Yeah it was a net gain, but the tests still appear to suffer from race conditions
<jrwren> mbruzek: indeed. I never set out to fix that or any of those tests ;_;
<tvansteenburgh> mbruzek: re amulet and leadership, not directly, although it would be a simple add. for now you could use something like this http://paste.ubuntu.com/14056416/
<tvansteenburgh> (not tested)
<mbruzek> tvansteenburgh: thank you
<icezimm> marcoceppi lazypower interestingâ¦I'm gonna try this
<icezimm> a little questionâ¦ if I order bare metal machines on a provider, they have static ip address, is it possible to use under maas?
<icezimm> wondering because on this container stuff I need to add a subnet routable to vlan on maas, so I can access the containers
<icezimm> but thanks for pointing me in this direction, I can make more tests here
<icezimm> and btw, now I'm running openstack :) amazing!
<marcoceppi> icezimm: not sure about the baremetal providers, you "should" be able to, but I think you'll still need them to set up a vlan, it might be easier to instead use the "manual" provider which would allow you to just "add" machines to juju by doing `juju add-machine ssh:user@ip` and then you can deploy to that machine
<marcoceppi> icezimm: also, not sure where you're located, but we're having a Juju Charmer Summit the first week of February where a bunch of us, the community, and core developers will be http://summit.juju.solutions/ registration is free and is colocated with FOSDEM and cfgmgmtcamp
<marcoceppi> icezimm: here's the Manual Provider: https://jujucharms.com/docs/stable/config-manual
<marcoceppi> icezimm: ie: juju bootstrap -e manual; juju add-machine ssh:user@machine; juju deploy mysql --to lxc:1; since the user@machine will now be machine 1
<marcoceppi> not nearly as smooth as using a cloud provider, but it allows you to use "any old host" and as many or little servers as you want
<ancaemanuel> Hi
<marcoceppi> ancaemanuel hello, welcome!
<ancaemanuel> do you have any plan for the next version of go ?
<marcoceppi> ancaemanuel: great question, I know we're discussing moving to 1.5 of golang, but there are some considerations there
<ancaemanuel> like an ppa for testing ?
<marcoceppi> ancaemanuel: was there anything in particular you were looking for?
<ancaemanuel> go 1.6 beta 1 will be released tomorrow, https://groups.google.com/forum/#!topic/golang-dev/6Ga5o2Ao2WM
<marcoceppi> ancaemanuel: I don't think we're tracking that at all, so juju is being targeted for the golang version in Xenial, which is 1.5
<ancaemanuel> it will be nice to test it and report bugs, if any
<marcoceppi> ancaemanuel: well, we're not really responsible for golang packaging, I imagine someone will upload it somewhere though
<ancaemanuel> then who is responsible ? Michael Hudson-Doyle ?
<ancaemanuel> ok, I found him on twitter: https://twitter.com/ancaemanuel7/status/677250522701778945
<marcoceppi> ancaemanuel: yeah, we really just make use of golang, but we target whatever is in the stable LTS for Ubuntu, not really bleeding edge
#juju 2015-12-17
<icezimm> marcoceppi: just want dinner, now I'm back, thank you for all your informationâ¦ I can order a vlan on softlayer (private vlans are cheap - if not free, not sure hehehhe)
<icezimm> would be easier to configure instead of manual provider (but sure is really great where you can't get a vlan)
<icezimm> opsssâ¦ order a subnet, vlan is already set
<marcoceppi> icezimm: cool, a subnet would be the way to go if you want to use MAAS
<icezimm> great
<marcoceppi> icezimm: a blog post on the setup would be good too, I'm sure there are others looking to replicate the setup
<marcoceppi> icezimm: also, if you need any help while working on it, let us know!
<icezimm> on SL I can access the private networking using a VPN, would be easy to access the containers
<icezimm> you man setup where? like we did in our lab?
<icezimm> marcoceppi:
<marcoceppi> icezimm: I mean the setup on SL
<icezimm> marcoceppi: sure
<asheesh_> I am trying to follow guide here: https://help.ubuntu.com/lts/clouddocs/installer/en/single-install.html to setup openstack private cloud for setting up staging environment and developer VMs
<asheesh_> But can't get it to work as of now http://pastebin.com/w6zGXykw
<asheesh_> this is the commands.log output
<asheesh_> just getting started with openstack, will appreciate any help
<jamespage> thedac, https://code.launchpad.net/~james-page/charms/trusty/neutron-api/lp1527230/+merge/280834 if that looks ok to you
<jamespage> picked that up during the midonet charm review testing.
<marcoceppi> asheesh_: are yoiou still around?
<asheesh_> yes marcoceppi, I'm still waiting for some help
<asheesh_> repeating the whole install process again
<marcoceppi> asheesh_: I see a KeyboardInterrupt, did you cancel this during the run?
<asheesh_> that was the very first time, I tried reinstalling after that
<marcoceppi> asheesh_: what version of Ubuntu is this?
<asheesh_> I am doing the whole process from beginning, should be able to give you a cleaner log in case I run into problem again
<asheesh_> 14.0.3 LTS Server
<asheesh_> *14.04.3
<marcoceppi> asheesh_: okay, great
<asheesh_> Thanks marcoceppi, appreciate the response
<marcoceppi> asheesh_: no worries, sorry you're having troubles!
<marcoceppi> asheesh_: it looks like just a few gremilins in the lxc stuff, hopefully it was just a hiccup
<marcoceppi> :w
<asheesh__> Hi guys, seems like one of the server for charms is down
<asheesh__> https://api.jujucharms.com/charmstore/v4/trusty/glance-simplestreams-sync-3/archive
<asheesh__> I ran into following issue while installing openstack on ubuntu 14.04.3 Server LTS
<asheesh__> macumba.ServerError: (ServerError(...), 'cannot retrieve charm "cs:trusty/glance-simplestreams-sync-3": cannot get archive: Get https://api.jujucharms.com/charmstore/v4/trusty/glance-simplestreams-sync-3/archive: dial tcp 162.213.33.122:443: no route to host')
<asheesh__> whole log you can see here: http://pastebin.com/4NBdyrPC (Ignore the first half of logs, it's from earlier run, see line 2642 for example)
<asheesh__> It's giving 503 error, I guess server is unable to handle the load. Please someone look into it, who actually has access to api.juju servers.
<lazypower> asheesh__ we're experiencing an outage for the jujucharms api.
<rick_h_> lazypower: asheesh__ there's a bigger DC outage atm
<rick_h_> our irc, insights, api.jujucharms.com are suffering an outage atm
<asheesh__> sorry to hear that, let me know once it's up ...  will resume with my setup once it's up
<dpb1> ah ok
<dpb1> thx rick_h_
<rick_h_> asheesh__: dpb1 yes, we're working on getting topics updated and tracking what's up
<asheesh__> rick_h_: thanks
* bac changed the topic of #juju to: jujucharms.com is current offline.  Being investigated.  || Welcome to Juju! || Juju Charmer Summit: http://summit.juju.solutions || Docs: http://juju.ubuntu.com/docs || FAQ: http://goo.gl/MsNu4I || Review Queue: http://review.juju.solutions || Unanswered Questions: http://goo.gl/dNj8CP
<mattyw> urulama, ping?
<urulama> mattyw: pong
<mattyw> urulama, it's safe to ignore me again
<mattyw> urulama, sorry
<urulama> mattyw: the usual then, ok :P
* urulama changed the topic of #juju to: || Welcome to Juju! || Juju Charmer Summit: http://summit.juju.solutions || Docs: http://juju.ubuntu.com/docs || FAQ: http://goo.gl/MsNu4I || Review Queue: http://review.juju.solutions || Unanswered Questions: http://goo.gl/dNj8CP
<thedac> jamespage: merged your MP
<rick_h_> asheesh__: dpb1 looks like things are heading back up
<asheesh__> rick_h_: works like a charm
<asheesh__> just curious, what happened tehre
<rick_h_> asheesh__: looks like a quick issue with neutron snuck into the wires. Not sure what triggered it
<lazypower> marcoceppi: we're setting data in unitdata.kv(), is there an easy way to get at this from amulet? I was thinking unit.run() with chlp, but i'm not certain if unitdata is exposed via chlp
<jose> jcastro: ok, so let's look into this reactive thing you said
<beisner> jamespage, daily :-)
<thedac> frobware: dimitern: Can you guys give me an update on juju netspaces and bindings? If not in the hangout an email will suffice?
<frobware> thedac, joining
<dimitern> thedac, hey, I'm coming for the call actually
<thedac> ok, cool
<Prabakaran> Hello Team, Since I am installing java, to send relation data I have written the below code using âset_readyâ.   relation_call --relation_name=java set_ready $java_home $java_version  In the reverse operation, ie, while uninstalling the product I may have to leave the setting as it is. So what is the reverse operation code for ârelation_call --relation_name=java set_ready $java_home $java_versionâ  so that I can include it wh
<thedac> frobware: is origin/maas-spaces still the correct branch? Just confirming.
<frobware> thedac, yes to "maas-spaces"
<thedac> ta
<frobware> thedac, most recent commit is "Discover spaces and subnets on bootstrap" - 3b22163de5846201487de0f42c93c70aa381594a
<thedac> got it
<beisner> o/ thedac, next step for hacluster tests.  can you review?  tia!  https://code.launchpad.net/~1chb1n/charms/trusty/hacluster/next-amulet-update-15.12b/+merge/280854
<thedac> beisner: it is on the list. I need to get some netspaces tests done ASAP before I lose juju developers.
<beisner> thedac, that one's hot off the press just now.  any time that works for you is cool.  thx!
<Prabakaran> Hello Team,  Since I am installing java, to send relation data I have written the below code using set_ready.
<Prabakaran> ârelation_call --relation_name=java set_ready $java_home $java_versionâ
<Prabakaran> For uninstalling part I may have to leave the relation data as it is. So what is the reverse operation code for the ârelation_call --relation_name=java set_ready $java_home $java_versionâ. Please advise.
<Prabakaran> Could someone please help me on this?
<Prabakaran> What is the reverse operation code for "ârelation_call --relation_name=java set_ready $java_home $java_versionâ"
<thedac> frobware: dimitern: juju space list and juju subnet list both auto discover MAAS spaces/subnets on my lab.
<apuimedo> jamespage: thanks for the change proposal to midonet-api
<apuimedo> Currently I'm working on a new /ha branch
<apuimedo> So that it supports hacluster relations
<apuimedo> I'm having a weird issue where it sets up the vip correctly, and replies
<dimitern> thedac, awesome!
<apuimedo> But it does not switch over when the currently active service falls
<dimitern> thedac, did you try deploying to them yet?
<thedac> doing that now
<Prabakaran> Hi kwmonroe, could u please advise on my query?
<dimitern> thedac, also - did you manage to sort out building from source or ?
<apuimedo> It's something about the ipaddr2 agent I guess
<thedac> yes, this was built from source. So far so good
<Prabakaran> Hi <kwmonroe>, could u please advise on my query?
<apuimedo> (I set it up practically like ks and neutron do)
<frobware> thedac, sounds like magic!
<thedac> poof. You have a network.
<frobware> alexisb, voidspace, dooferlad, dimitern: ^^
<frobware> thedac, care to share a pastebin of `juju space list'?
<thedac> sure, one sec
<thedac> frobware: https://pastebin.canonical.com/146439/ I plan to make this more complicated today and test its limits.
<frobware> thedac, that would be great. appreciated.
<kwmonroe> Prabakaran: in the uninstall case, simply "remove_state 'java.installed'".  i don't believe you need to a relation_call to unset_ready during uninstall because the relation will already be gone.
<kwmonroe> cory_fu: is that right? ^^ do you need to call unset_ready when the java relation is going away?  or is removing the state enough?  (unset_ready is definied in the java interface here, fwiw: https://github.com/juju-solutions/interface-java/blob/master/requires.py#L41)
<Prabakaran> hi kwmonroe, Since i am getting this error http://paste.ubuntu.com/14076217/ thought of unsetting this under uninstalltion part.
<thedac> dimitern: deploy works as well. Now to add more spaces ...
<marcoceppi> lazypower: you should have kv available via chlp
<voidspace> thedac: awesome
<kwmonroe> Prabakaran: that error looks like it would happen if there is no remote unit for the 'java' relation.  when is that 'relation_call' happening?  @when java.installed, @when_not java.connected?
<cory_fu> kwmonroe: Right, I think unset_ready was intended in case the java became unavailable for some reason other than losing the relation, e.g., a license becoming unaccepted.
<cory_fu> In the case of the relation going away, the interface layer should implicitly remove the ready state
<kwmonroe> ack cory_fu, thanks
<Prabakaran> kwmonroe, it is happening while @when 'java.connected' 'license.accepted' @when_not 'java.installed'
<Prabakaran> ya cory, you are right, i am looking for this when i am settiing EULA value
<kwmonroe> Prabakaran: can you paste your ./reactive/<file>.sh to http://paste.ubuntu.com/? it seems like the java.connected state may be set when the java relation isn't actually there.  also please confirm the relation names from the 'requires' section of your metadata.yaml.
<Prabakaran> hi kwmonroe
<Prabakaran> http://paste.ubuntu.com/14076586/
<dimitern> thedac, great! keep the good news coming :)
<Prabakaran> ya it is working now... i just appened || true at the end of "relation_call --relation_name=java set_ready $java_home $java_version"
<Prabakaran> but by seeing log still this error http://paste.ubuntu.com/14076217/  persists
<Prabakaran> requires realtion of metadata.yaml is java
<kwmonroe> yeah Prabakaran, appending || true will get you past the relation_call, but i'm curious how that gets executed if there is no remote java unit connected.  how did you produce this error?  deploy with accept-ibm-javasdk-license=True and then set accept-ibm-javasdk-license=False?
<Prabakaran> i deployed by setting accept-ibm-javasdk-license=True, and then ccept-ibm-javasdk-license=False, Again accept-ibm-javasdk-license=True..
<Prabakaran> whenever i am setting this EULA to True . Scripts should install our prod. same way it should uninstall while setting EULA to false.
<alexisb> thedac, frobware cool!
<alexisb> well done sapphire team!
<alexisb> thedac, thank you for working so patiently with us to make good things happen :)
<thedac> no problem.
<kwmonroe> ok Prabakaran - i'll try your procedure here to see if i can offer a fix.  i'll email you my results.
<Prabakaran> k thanks kevin !! .
<kwmonroe> np
#juju 2015-12-18
<nfdeswqa> Haha, wow! What a fun time I had tonight. Turns out Kylo Ren is Han and Leia's son, Ben but was seduced to the dark side. He even kills his own dad at the end.. It was really tense. Oh and Rea finds out she has jedi powers and does a mind trick on a storm trooper to escape captivity. She kicks Kylo Ren's ass with a lightsaber too! Luke Skywalker only shows up for 20 seconds at the end though which is kind
<nfdeswqa>  of lame. Oh well.
<bloodearnest> heya folkas
<bloodearnest> I have a very random question: can I control the mongodb oplog size with the manual provider?
<bloodearnest> the code supports it (the local provider sets it to 1MB)
<bloodearnest> but I can't see if there is anyway for me to configure it
<bloodearnest> motivation: in an empty environment, oplog takes up 1.5G on it's own
<mbruzek> marcoceppi: pmatulis has some questions about the use of "schema" in the action context in our new documents.
<marcoceppi> mbruzek: what do you mean?
<mbruzek> my understanding is it is just a format for the yaml file.  But there seems to be a --schema flag to the juju action commend.
<marcoceppi> mbruzek: I don't see a --schema flag?
<marcoceppi> mbruzek: you mean on defined?
<mbruzek> https://github.com/mbruzek/docs/blob/developer-guide/src/en/developer-actions.md
<marcoceppi> mbruzek: tldr, the actions.yaml file is a schema, it's a jsonschema
<marcoceppi> mbruzek: what's the problem? all of that is correct
<mbruzek> pmatulis: can you clarify your question?
<pmatulis> a couple of questions now
<marcoceppi> okay
<pmatulis> â  is there such a thing as a "Juju schema"?
<pmatulis> â¡ must actions.yaml have a json-schema format? the doc i have says "actions support json schemas" as if it also supports something else
<pmatulis> (re â  or "Juju actions schema")
<marcoceppi> pmatulis: the actions.yaml is a "jsonschema" which follows a specific format but supports the inclusion of additional jsonschema directives. an action does not have to define additional schema, but it can (IE, everything under params) an action without params is just an action but the actions.yaml follows a schema
<marcoceppi> the fact that it's a "jsonschema" is misleading, since YAML is a superset of json and we use yaml in juju we simply declare it as the schema
<pmatulis> wow ok. i'll have to knead that into something that an average user can understand
<marcoceppi> pmatulis: this isn't for an average user
<marcoceppi> it's a schema, you follow it, it's for developers
<marcoceppi> it would be like saying "this is the actions.yaml format"
<marcoceppi> the fact that the word schema is used is irrelevant
<marcoceppi> except that it defines the constraints on the format used
<marcoceppi> we didn't make our own format up like in config.yaml we use an existing format
<pmatulis> right, that was my original question to mbruzek. but then the '--schema' flag i found threw me. is that also used colloquially?
<marcoceppi> pmatulis: also, fwiw, this is what is /currently/ in the docs. https://jujucharms.com/docs/stable/authors-charm-actions
<marcoceppi> pmatulis: the --schema flag simply dumps the actions.yaml file when running juju actions defined
<pmatulis> marcoceppi, mbruzek: ok, my questions have been answered. thanks guys
<marcoceppi> pmatulis: cool, let us know if we can be of any other help!
<tvansteenburgh> was the 'machines' block in a bundle file introduced in v4 bundles? or did it exist before that?
<rick_h_> tvansteenburgh: it came about in v4
<rick_h_> tvansteenburgh: it was part of the new format to add that and the machine view in the GUI
<tvansteenburgh> rick_h_: thanks!
<rick_h_> tvansteenburgh: how goes using the new stuff?
<rick_h_> tvansteenburgh: things going ok/making sense/going to work out?
<tvansteenburgh> rick_h_: so far so good, i've been pestering urulama when i have questions
<pmatulis> marcoceppi, mbruzek: in developer-actions.md, there is an example that uses some parameters that have not been mentioned/defined
<rick_h_> tvansteenburgh: cool, make sure to shout if things can/should work better/different
<pmatulis>   required: [outfile]
<pmatulis>   additionalProperties: false
<tvansteenburgh> rick_h_: will do, thanks!
<pmatulis> marcoceppi, mbruzek: any reason why that should be there? i would like to remove it
<marcoceppi> pmatulis: why do you want to remove those?
<mbruzek> pmatulis: someone else wrote that document, I wouldn't delete the content, those are valid examples as far as I know
<pmatulis> marcoceppi: like i said above
<marcoceppi> pmatulis: required and additionalProperties is like description, they're part of the parent schema
<mbruzek> pmatulis: perhaps the better answer is to define/mention those parameters
<marcoceppi> the actions schema*
<pmatulis> marcoceppi: why put stuff in there when they don't mean anything at that time
<pmatulis> readers hate that
<marcoceppi> pmatulis: literally the next paragraph defines those keys
<pmatulis> looking
<marcoceppi> JSON-Schema defines special keys such as required and additionalProperties, which may be given for the whole action at the same level as description and params, or within nested schemas at the usual level.
<marcoceppi> I suppose we could remove it from that example, since it's repeated below
<pmatulis> yeah
<marcoceppi> but it's really just a more complete example
<marcoceppi> also, this doc is almost a 1:1 match with what is currently in the repo
<pmatulis> marcoceppi: right, i'm fighting a battle on 2 fronts, not easy
<cory_fu> I am finding JUJU_REMOTE_UNIT is set to an empty string during the -relation-broken hook, leaving me no way to tell with whom I have lost the relation.  Is this expected behavior?
<marcoceppi> cory_fu: I believe so
<pmatulis> what are the minimum requirements for a charm action?
<pmatulis> so far, it seems like
<pmatulis> â  /actions/binary file
<pmatulis> â¡ top-level key named according to binary name in actions.yaml
<pmatulis> is there anything else required in actions.yaml for an action to work?
<marcoceppi> pmatulis: that is the bare minimum
<pmatulis> marcoceppi: thanks
<mbruzek> tvansteenburgh: or cory_fu: how do I activate a python virtual env in a Makefile?  source .venv/bin/activate does not seem to work
<cory_fu> Is this for running tests?
<mbruzek> make lint
<cory_fu> mbruzek: I'd highly recommend using toxx
<marcoceppi> mbruzek: a more direct answer, you really can't "activate" a virtualenv in a Makefile, but you can run things like .venv/bin/python or .venv/bin/pip
<mbruzek> ack
<cory_fu> mbruzek: Take a look at https://github.com/juju-solutions/charms.reactive/blob/master/Makefile and https://github.com/juju-solutions/charms.reactive/blob/master/tox.ini
<mbruzek> thanks cory
<cory_fu> np
<mbruzek> cory_fu: the goal was to self contain this thing, I don't see the makefile installing tox
<cory_fu> mbruzek: You're right, I assume tox.  You can just apt-get install python-tox though
#juju 2015-12-19
<jrwren> mbarnett: each line in a target of a make file is run in its own shell, so either activate on each line or use line continuation so that there is actually only one line. (if you REALLY want to activate)
#juju 2015-12-20
<jackweirdy> What's the preferred way to test juju deployments on a mac? Anyone deploy to Devstack within vagrant, or is something else better?
<aisrael> jackweirdy: I typically do it all through Vagrant - https://jujucharms.com/docs/stable/howto-vagrant-workflow
<aisrael> I use it for all of my initial dev/testing, and switch over to a public cloud as needed (like for big/complex bundles)
#juju 2016-12-19
<sk_> Hi, I have query related to juju remove-unit or remove-application. The product I am charming is used for filesystem management. So the user does not want to loose data when remove-unit command is issues
<sk_> User wants to control this behaviour, so that the machine is not terminated or released, if that machine has disks attached or has data.
<sk_> Instead he wants this approach, if user issues remove-unit command, the charm checks that it has data/disks attached, an error msg is shown to user that this machine cannot be terminated.
<sk_> Can we achieve this functionality using juju ?
<gQuigs> Is there a guide for using juju 2.0 without direct Internet access?  (not a proxy, a bastion host that you can copy files manually from)
<gQuigs> tried manually adding an LXD image and that didn't work - https://bugs.launchpad.net/juju/+bug/1650651
<mup> Bug #1650651: Juju should be able to use a locally installed LXD image <juju:New> <https://launchpad.net/bugs/1650651>
 * tvansteenburgh pokes hazmat
<Teranet> hey folks anyone here from from the JUJU Dev Team ?
<Teranet> I do have a MAAS / JUJU container question which uses LXD on latest Ubuntu
#juju 2016-12-20
<stub> Is there a way of telling 'charm build' to not trash parts of the target directory? I need it to ignore the .git directory, which I think used to automatically happen.
<petevg> cory_fu, bcsaller: I just pushed a new build of python-libjuju to the matrix master branch (has those fixes for landscape.)
<cory_fu> petevg: cool, thanks
<petevg> np
<themagicaltrout> evening all
<themagicaltrout> jcastro: i got my gent talk accepted
<petevg> Hiya, themagicaltrout. Congrats on getting the talk accepted. :-)
<jcastro> themagicaltrout: yeah, I'm on the talk selection committee so I knew that. :D
<jcastro> congrats!
#juju 2016-12-21
<Teranet> do we have anyone online who knows about : nova-cloud-controller     I do have an error which I do need help with
<Andrew_jedi> hello, how can i install juju 1 ?
<Andrew_jedi> juju/stable now points to juju 2
<angelinux> hello everybody
<angelinux> I have a question: is it possible to bootstrap juju in a vm that is contained in a private openstack cloud
<angelinux> and let it manage that private openstack cloud?
<themagicaltrout> pfft
<marcoceppi> angelinux: it should be. Do you have credentials for that openstack cloud?
<angelinux> @marcoceppi Yes I have
<angelinux> but I get an error when I try to boostrap
<marcoceppi> angelinux: what is the error?
<angelinux> @marcoceppi: http://askubuntu.com/questions/859862/juju-bootstrap-on-a-private-openstack-cloud-fails here you can find details
<angelinux> @marcoceppi: the error is "json: cannot unmarshal string into Go value of type nova.jsonEntity"
<angelinux> @marcoceppi could you please help me?
<marcoceppi> angelinux: what's your region name in OpenStack? Is it indeed RegionOne?
<angelinux> @marcoceppi: yes my igestack cloud has RegionOne
<angelinux> as region
<bdx> lazyPower: ping
<bdx> interesting issue here
<bdx> if I `lxc launch:16.04 es-test`, and add the elastic.co gpg key and source repo, update apt, and `sudo apt install elasticsearch`, I get a successfull installation
<bdx> `lxc launch ubuntu:16.04 es-test`*
<bdx> whats interesting, is when I mimic these ops with juju -> https://github.com/jamesbeedy/juju-layer-elasticsearch-base
<bdx> I hit this error http://paste.ubuntu.com/23665305/
<bdx> or, even more, if I `juju deploy ubuntu`, and run the same ops to install elasticsearch that I run in the lxd container, I get a failure
<bdx> with http://paste.ubuntu.com/23665305/
<jrwren> bdx: how different is your default lxd profile from your juju lxd profile?
<bdx> jrwren: http://paste.ubuntu.com/23665326/
<jrwren> bdx: now that IS interesting ;)
<bdx> jrwren: yeah, I'm on the line with others who are experiencing the same thing right now
<bdx> I'm thinking I should write the list
<bdx> jrwren: right
<bdx> jrwren: I'm honestly over trying to troubleshoot this ... over my head at this point
<jrwren> bdx: i thought mabye you had set security.privileged=true in your default profile or something.
<bdx> jrwren: yea, that was my initial thought too
<bdx> jrwren: even if I remove the extra profile, such that my juju container is only left with the default profile applied
<bdx> I still get the error
<bdx> so strange
<jrwren> right, it doesn't seem to be a profile thing.
<jrwren> bdx: can you pastebin output of `lxc config show <container>` for the two containers?
<bdx> jrwren: here's the juju deployed container -> http://paste.ubuntu.com/23665355/
<bdx> jrwren: here's the straight lxd -> http://paste.ubuntu.com/23665359/
<bdx> jrwren: good call
<bdx> jrwren: how does the juju container end up with all that extra jazz in there?
<bdx> crazy
<jrwren> bdx: the lxd provider in juju does it.
<bdx> ahhh
<bdx> wow, talk about opinionated
<jrwren> juju is very opinionated. :)
<bdx> jrwren: what do you feel is the best approach to resolving the issue I'm experiencing?
<jrwren> bdx: email the list.
<bdx> the issue being that elasticsearch won't install to juju deployed lxd containers
<bdx> right
<bdx> will do
<bdx> jrwren: thx
<jrwren> bdx: i'm going to try to repro. is it possible its 2 diff elastic search packages?
<bdx> no
<jrwren> bdx: if it helps at all, I get the couldn't write errors on package installation on my lxc.
<bdx> jrwren: juju deploy lxc?
<jrwren> so, I don't think this is a juju issue.
<bdx> oh really
<jrwren> no, no juju at all.
<bdx> I don't get them on straight lxd
<jrwren> bdx: I'll paste a repro, see if it works for you.
<bdx> ok
<jrwren> or rather, see if you do get the error :)
<jrwren> bdx: https://gist.github.com/jrwren/8b648cc2736e68e82d96334d32b131b9   one file and 2 commands to run.
<bdx> jrwren: I just got the error on straight lx43
<bdx> lxd*
<jrwren> oops, and I pasted the wrong command.
<jrwren> bdx: oh, well, ok, that is great!
<jrwren> bdx: maybe file a bug with elastic.co?
<bdx> jrwren: I just ran these commands on an fresh xenial aws instance -> http://paste.ubuntu.com/23665448/
<bdx> success
<bdx> jrwren: ^ makes me think its more or less a lxd thing...
<jrwren> bdx: nice... but still, not working on LXD is bad.
<jrwren> bdx: I can't imagine it would work in docker, for the same reasons.
<jrwren> bdx: https://github.com/elastic/elasticsearch/commit/32df032c5944326e351a7910a877d1992563f791  looks like ES fixed it by enabling a parameter, a ES_SKIP_SET_KERNEL_PARAMETERS in the environment.
<bdx> jrwren: nice find!
<jrwren> bdx: well, it NEEDS to work in lxd, or else its not a great juju charm :)
<bdx> right
<bdx> jrwren: so, is this a use case for a tactic you think?
<bdx> jrwren: to set ES_SKIP_SET_KERNEL_PARAMETERS prior to the apt install phase
<bdx> or should I just add the few lines to the reactive file and set the param and then run the install cmds from the layer-apt api
<jrwren> bdx: I don't know anything about tactics or layers, sorry.
<bdx> jrwren: now my question is this, we don't want to always skip the kernel params on install, right? so should I detect whether or not the install is happening on a container, and only apply the ES_SKIP_SET_KERNEL_PARAMETERSES_SKIP_SET_KERNEL_PARAMETERS to container installs?
<bdx> errg .. sorry, that pasted 2ce for some reason
<jrwren> bdx: yes, that is probably best.
<bdx> sebastienp:^
<bdx> jrwren: thanks for your insight here
<jrwren> bdx: oh my... have you used that es package?
<bdx> jrwren: not yet ... I'm trying to though
<bdx> jrwren: why, whats up with it?
<jrwren> bdx: well, don't forget to specify openjdk-8-jre-headless package manually. they don't use dependencies.
<jrwren> bdx: and then, don't be shocked like I was as it allocated 2+GB of ram immediately on starting. NOT virtual. 2.241g of RSS
<jrwren> i guess that is java magic.
<bdx> jrwren: openjdk-8-jre-headless installs as a dep of es when you install it from their repo
<jrwren> bdx: that was not my experience.
<jrwren> Depends: libc6, adduser, bash
<jrwren> and on first run, the service fails asking to install a java.
<bdx> jrwren: yeah ... I'm getting the same thing .... don't know how or why I had success previously (possilby I forgot to add my sources and installed 2.x or something)
<jrwren> bdx: i see the package in ubuntu archives does have Depends: with a jre. *shrug* no biggie.
<jrwren> bdx: I was just shocked at the 2.2G memory alloc on start.
<bdx> jrwren: yeah, thats nuts
<jrwren> bdx: i wonder what it does on a tiny instance :)
<bdx> jrwren: whats even worse -> https://docs.mongodb.com/manual/core/wiredtiger/#memory-use
<jrwren> lol, it had to be mongo
<bdx> jrwren: I was wondering why my juju controllers were consuming so much ram ... even when barely anything was deployed ... it was driving me crazy, then I found that
<bdx> lol
<jrwren> bdx: :(
<bdx> jrwren: ^ 50%-1G really borks lxd local deploys
<jrwren> bdx: agreed. I don't leave lxd controllers up for that reason.
<bdx> if you have a massive lxd-visor, the juju controller will automatically steal all your goods
<jrwren> bdx: it has gotten MUCH better in jujud itself since some of the 2.0 betas
<bdx> jrwren: yeah, but the underlying mongo tiger eats up 50%-1G though .... cry cry cry
<bdx> thats w/o juju memory consumption taken into account of course
<bdx> something needs to happen about the 50% mem on lxd controllers ... possibly we can apply some mem limit to the juju-controller profile or something
<jrwren> bdx: painful :(
<jrwren> bdx: may be as simple as mongoCmd = mongoCmd + "--wiredTigerCacheSizeGB"  here: https://github.com/juju/juju/blob/master/mongo/service.go#L185
<jrwren> bdx: its wednesday before the holidays and if you are feeling brave, propose that :)
<petevg> cory_fu, bcsaller: PR for the dump of the logs here: https://github.com/juju-solutions/matrix/pull/56 (It's non ideal for a lot of reasons, but I believe suitable for our basic needs. I'm going to work through some of the TODOs, and prioritize partially based on feedback.)
<bdx> whats the best way to check if you are in a container or not?
<bdx> I found this -> https://code.launchpad.net/~zulcss/charm-helpers/is_container
<bdx> but it isn't in charmhelpers 0.10.0 ...
<bdx> even more, systemd-virt-check
<bdx> doesn't seem to even be a thing ...
<bdx> ahhh, possibly I should be checking the output of 'systemd-detect-virt'
#juju 2016-12-22
<CarlFK> I want to test a dnsmasq config: server in one container, dhcp client in a 2nd, how do I ... do that?
<CarlFK> macgreagoir:  here is how I am driving the ubuntu minimal:   one container for each host: https://github.com/xfxf/video-scripts/blob/master/carl/ansible-misc/slurp-hosts.py
<CarlFK>         print('juju deploy {charm} {host}'.format(charm=charm, host=h))
<CarlFK>         print('juju config {host} hostname={host}'.format(host=h))
<CarlFK> and once they area all ready (about4 ;min)          cmd=['ssh', 'ubuntu@{host}'...."sudo", "cp", ".ssh/authorized_keys", "/root/.ssh"]
<CarlFK> https://github.com/xfxf/video-scripts/blob/master/carl/ansible-misc/mk-hosts.py#L72
<CarlFK> Is there a better way I should be doing that?
<hygl> hi, i have installed a local kubernetes cluster using these instructions https://github.com/castrojo/kubernetes.github.io/blob/ubuntu-lifecycle-revisions/docs/getting-started-guides/ubuntu/local.md . How do I uninstall or stop it, if I do not need it anymore?
<macgreagoir> CarlFK: You might be trying to configure the machine, where `config` means the application https://jujucharms.com/docs/2.0/charms-config.
<macgreagoir> For ssh, this might help: https://jujucharms.com/docs/2.0/charms-working-with-units
<macgreagoir> CarlFK: I'm not sure if bundles will help you, but be aware with scripts that Juju returns asynchronously, so you need to give the application time to deploy before you'll see the status you might expect.
<CarlFK> macgreagoir: yeah, takes about 5 min for all the instances? to get an IP.  I just manually watch juju status and check every min or so
<macgreagoir> CarlFK: I see a new release announcement for https://pythonhosted.org/juju/ on the juju list. I'm not sure it this could be interesting to you.
<anrah> quick question about actions: Is it so that actions are not part of hookenv? I mean that if I want to use resources as part of action download etc. it seems like the get-resource command does not work
<anrah> I wouldn't want the juju attach command straigthly to do stuff with update-config hook that but make separate action to apply the changes on nodes
<stub> anrah: To my understanding, actions run in the same sort of context as hooks and the resource commands should work fine.
<stub> anrah: You should even be able to test the resource commands using 'juju run --unit=foo "get-resource ..."', as that also uses the same context
<anrah> I tried to run my command through debug-hooks
<anrah> and that went fine
<anrah> but when running the action through juju run-action <action> etc. results failed
<petevg> bcsaller, cory_fu: I updated the crashdump PR with a small tweak (checking "is None" for env, just in case somebody wants to pass a blank dict in). Unfortunately, I also came across a bug: crashdump works fine in my isolated "test_crashdump.matrix", but it seems to be breaking in the context of the full default test :-/
<petevg> Will dig into it after I finish doing morning routine stuff ...
<stub> anrah: I'd need to see the error message from your logs to guess what is going on.
<petevg> bcsaller, cory_fu: I figured out the problem. It's not fun :-( Basically, "juju ssh" doesn't work from the command line in the models that we've created. I've noticed that when manually troubleshooting. I wasn't running into the problem in my standalone test, because I was running crashdump right away, before machines had come up, rather than waiting for
<petevg> things to deploy (that's what I get for writing tests that run fast to help meet deadlines ...).
<petevg> bcsaller, cory_fu: it looks like "juju ssh" doesn't have the right credentials; I'm assuming that, when we create the model inside of python-libjuju, we're not handing something essential back to the system env ...
<petevg> cory_fu, bcsaller: make a ticket (https://github.com/juju-solutions/matrix/issues/59).
<cory_fu> petevg: Have you noticed that Matrix doesn't work on Juju 2.0.2 (current stable) because Controller.connect_current() doesn't work (though it does on the latest beta)?
<cory_fu> petevg: Although, I just realized that might be due to me bootstrapping with 2.1-beta3 and then trying to interact with the 2.0.2 client.  I'm actually surprised it worked at all now
<petevg> cory_fu: I hadn't noticed, though I am on the beta, with a controller created by the beta.
<anrah> stub: got it working apparently i forgot to add the +x bit for the script before the build
<cory_fu> petevg: You were asking yesterday about finding the name of the current controller with libjuju.  There's juju.client.connection.JujuData().current_controller(), but I should note that it doesn't seem to work with registered shared controllers
<petevg> cory_fu: still useful, though. Thank you.
<cory_fu> Because it seems that `juju show-controller` doesn't give any info if you've registered a shared controller
<petevg> Interesting.
<cory_fu> petevg: Oh!  show-controller requires admin perms
<petevg> Of course it does :-)
<petevg> it makes sense that it does, too.
<cory_fu> petevg: https://github.com/juju/python-libjuju/pull/39
<cory_fu> petevg: It doesn't make sense that it doesn't say anything and just returns an empty dict.  It could at least return as much info as list-controllers, or just complain that you're not a superuser
<petevg> cory_fu: raising a sensible error in python-libjuju makes sense to me. +1 on that PR, based on code readthrough.
<petevg> cory_fu, bcsaller: after some finagling, I think that https://github.com/juju-solutions/matrix/pull/56 is good to merge (it deliberately skips running juju-crashdump, because that is blocked by the bug with juju ssh, but it does successfully zip up the matrix logs, so that the CI can get at them).
#juju 2016-12-23
<angelinux> hello everybody
<angelinux> somebody can help me troubleshooting juju bootstrap?
<angelinux> @marcoceppi sorry I left very quickly the other day
<CarlFK> marcoceppi: did you see https://github.com/xfxf/video-scripts/tree/master/carl/ansible-misc
<CarlFK> which is mostly parameters and file parsing and then juju deploy {charm} {host}  .... juju config {host} hostname={host}
<themagicaltrout> marcoceppi: the k8s logo in the search box in the charm store is broken
<themagicaltrout> fyi
#juju 2017-12-18
<v3rbat593> ââââââââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETtbyuao: narindergupta anthonyf lathiat hloeung bladernr kjackal_bot blahdeblah dosaboy degville rharper kwmonroe fenar verterok thomi med_ obedmr marosg ryotagami dpb1 junaidali wgrant karlthane waiga
<v3rbat593> ââââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETurvkdwxn: babbageclunk med_ yosefrow pmatulis derekcat dpb1 degville drcode bladernr dosaboy alexlist aluria Catalys axino jw4 wgrant jhobbs admcleod verterok stub lathiat kwmonroe gsamfira ybaumy Spads Odd_Bloke anastasiamac fenar evilnick
<v3rbat593> âââââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETfsrnnlis: thomi degville anastasiamac hloeung drcode lathiat wgrant karlthane kwmonroe fenar wolsen razorz verterok babbageclunk yosefrow marosg kjackal_bot ejat jhobbs aluria magicaltrout alexlist obedmr dpb1 gsamfira derekcat ry
<v3rbat593> ââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETztweittet: bitchecker fenar babbageclunk wgrant stub magicaltrout karlthane derekcat aluria thomi wolsen veebers jw4 drcode ryotagami anthonyf lifeless Catalys dpb1 evilnickveitch junaidali axino admcleod ybaumy Odd_Bloke Makyo kwmonroe degville rharper waigan
<v3rbat593> ââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETrlixccqms: aluria drcode axw Odd_Bloke pmatulis fenar obedmr bitchecker jhobbs xavpaice med_ magicaltrout blahdeblah dpb1 razorz dosaboy narindergupta jw4 Makyo Spads Catalys ejat stub ryotagami waigani degville lathiat bladernr karlthane gsamfira babbageclunk
<v3rbat593> ââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETrawoghalo: xavpaice verterok drcode veebers jhobbs magicaltrout pmatulis marosg derekcat bitchecker babbageclunk axino ybaumy rharper Spads obedmr narindergupta hloeung wolsen lathiat junaidali iatrou tris razorz kwmonroe ryotagami fenar jw4 dosaboy degville dpb1 anastasiamac Cat
<v3rbat593> âââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNEThvutgwztwb: axw narindergupta ejat derekcat med_ rharper waigani obedmr Spads kjackal_bot tris axino anastasiamac dpb1 xavpaice blahdeblah evilnickveitch verterok bladernr magicaltrout bitchecker babbageclunk degville dosaboy pmatulis stub alexlist v
<v3rbat593> ââââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETrilolhmm: xavpaice magicaltrout obedmr drcode lifeless kjackal_bot verterok ejat rharper derekcat thomi tris fenar alexlist blahdeblah waigani anthonyf kwmonroe ybaumy jhobbs babbageclunk admcleod yosefrow junaidali ryotagami dosaboy degvil
<v3rbat593> ââââââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETiypcsylg: stub bitchecker dosaboy Catalys tris hloeung babbageclunk axw jw4 Odd_Bloke narindergupta dpb1 pmatulis derekcat waigani wgrant blahdeblah ybaumy axino kwmonroe anastasiamac karlthane degville drcode anthonyf r
<v3rbat593> ââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETnhsscgqm: kjackal_bot pmatulis veebers iatrou alexlist jw4 derekcat blahdeblah dosaboy yosefrow anthonyf dpb1 Makyo tris ejat Catalys rharper thomi axw med_ kwmonroe wgrant degville drcode bladernr junaidali bitchecker waigani jhobbs axino wolsen karlthane alu
<v3rbat593> âââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETqsimus: magicaltrout axw aluria dosaboy xavpaice karlthane jhobbs gsamfira veebers evilnickveitch obedmr derekcat stub ybaumy med_ lifeless lathiat drcode bladernr Spads ejat marosg bitchecker kjackal_bot iatrou jw4 waigani ryotagami wgrant axino admcleod rharper Catalys anastasiamac Odd_B
<blahdeblah> Man, sick of these bots
<v3rbat593> âââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETnsbgnjxp: tris karlthane evilnickveitch narindergupta dpb1 bladernr jhobbs iatrou jw4 yosefrow derekcat lathiat axw razorz drcode alexlist blahdeblah fenar ybaumy med_ kjackal_bot wgrant ryotagami pmatulis bitchecker wolsen Makyo axino aluria stub gsamfira magicaltrout
<v3rbat593> âââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETemmbm: rharper ryotagami derekcat Odd_Bloke axino xavpaice junaidali yosefrow karlthane drcode jw4 aluria degville thomi anastasiamac obedmr evilnickveitch razorz Spads admcleod marosg Makyo ejat med_ waigani kwmonroe bitchecker narindergupta bladernr axw stub veebers p
<v3rbat593> ââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETndgrgikwsu: fenar jw4 blahdeblah dpb1 verterok degville evilnickveitch iatrou Spads anastasiamac waigani xavpaice stub alexlist babbageclunk junaidali hloeung narindergupta yosefrow thomi bladernr aluria karlthane magicaltrout marosg ejat derekcat veebers admcleod drcode obedmr m
<v3rbat593> âââââââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETioydzueas: Odd_Bloke rharper ybaumy alexlist stub dpb1 Makyo xavpaice blahdeblah bitchecker jhobbs Spads babbageclunk marosg derekcat lathiat wolsen iatrou ejat thomi jw4 karlthane yosefrow wgrant kjackal_bot g
<v3rbat593> âââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETybbelkotnr: veebers obedmr junaidali babbageclunk fenar wgrant verterok narindergupta derekcat wolsen yosefrow rharper axw jhobbs ybaumy evilnickveitch marosg thomi Odd_Bloke blahdeblah bladernr xavpaice razorz dosaboy axino anastasiamac kwmonroe med_ pmatulis dpb1 life
<v3rbat593> âââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETptchgbiva: yosefrow babbageclunk lifeless magicaltrout gsamfira bladernr hloeung axw xavpaice jhobbs wgrant evilnickveitch lathiat blahdeblah derekcat stub jw4 marosg med_ Makyo junaidali dosaboy Spads kwmonroe tris kjackal_bot aluria admcleod anastasiamac ybaumy thomi verterok alexlist ka
<v3rbat593> âââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETtketdtai: marosg Catalys kjackal_bot admcleod ejat gsamfira tris Makyo ryotagami jw4 anastasiamac alexlist jhobbs ybaumy aluria bitchecker degville Spads derekcat dpb1 yosefrow thomi fenar blahdeblah iatrou lifeless rharper babbageclunk Odd_Bloke stu
<v3rbat593> âââââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETbzkfd: gsamfira anthonyf degville jhobbs rharper pmatulis dosaboy marosg verterok bitchecker Catalys iatrou razorz med_ dpb1 fenar ybaumy hloeung lathiat blahdeblah evilnickveitch derekcat magicaltrout thomi lifeless waigani admcl
<v3rbat593> âââââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETguaeiahyy: ybaumy karlthane gsamfira marosg Odd_Bloke dpb1 bladernr bitchecker kwmonroe anthonyf ryotagami dosaboy pmatulis jhobbs rharper junaidali tris razorz ejat jw4 narindergupta derekcat iatrou drcode wgrant waigani Makyo an
<v3rbat593> ââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETcarfwdr: veebers derekcat kwmonroe magicaltrout wolsen jhobbs narindergupta xavpaice lathiat babbageclunk blahdeblah admcleod verterok gsamfira anthonyf marosg Spads ybaumy stub wgrant rharper anastasiamac waigani pmatulis razorz junaidali axw dosaboy Catalys dpb1 Makyo karlthane tris kjackal_bot ej
<v3rbat593> âââââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETmzpvnhs: alexlist gsamfira yosefrow hloeung admcleod verterok anthonyf ybaumy kwmonroe Odd_Bloke iatrou rharper jw4 razorz babbageclunk jhobbs axino kjackal_bot xavpaice magicaltrout fenar degville evilnickveitch waigani tris thom
<v3rbat593> ââââââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETocnzraqmw: bitchecker narindergupta pmatulis babbageclunk lathiat bladernr Catalys ejat dpb1 jhobbs yosefrow xavpaice waigani veebers verterok ybaumy magicaltrout evilnickveitch med_ Spads junaidali jw4 dosaboy Makyo alu
<v3rbat593> âââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETqjgtkiqgly: axw dosaboy anthonyf lifeless Catalys wolsen tris axino ryotagami kwmonroe veebers waigani lathiat verterok evilnickveitch drcode ybaumy razorz aluria Spads Odd_Bloke jhobbs alexlist bladernr hloeung xavpaice Makyo dpb1 kjackal_bot derekc
<v3rbat593> âââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETikoxlsulm: bladernr evilnickveitch lathiat drcode axino thomi kwmonroe Spads jhobbs kjackal_bot waigani verterok gsamfira babbageclunk narindergupta admcleod dpb1 aluria stub lifeless Odd_Bloke wolsen karlthane alexlist junaidali anthonyf veebers Catalys bitchecker magi
<v3rbat593> ââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETweifhed: blahdeblah kjackal_bot axw tris veebers pmatulis verterok Makyo fenar med_ anastasiamac evilnickveitch obedmr derekcat gsamfira lathiat karlthane wgrant iatrou jw4 axino hloeung wolsen dpb1 bladernr jhobbs kwmonroe Catalys bitchecker babbageclunk ejat aluria junaidali Odd_Bloke alexlist Spa
<v3rbat593> âââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETmtkoeuv: aluria blahdeblah magicaltrout Catalys thomi axw ryotagami rharper med_ verterok wolsen bladernr dosaboy derekcat narindergupta veebers waigani iatrou lathiat hloeung fenar ybaumy obedmr babbageclunk anthonyf xavpaice alexlist junaidali dpb1 tris evilnickveitch Spads gsamfira kjac
<v3rbat593> âââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETayveoaft: aluria hloeung obedmr kwmonroe verterok admcleod fenar lifeless pmatulis anthonyf degville stub Catalys med_ lathiat jw4 ejat junaidali jhobbs xavpaice evilnickveitch ybaumy Odd_Bloke yosefrow anastasiamac wgrant drcode karlthane gsamfira marosg bitchecker bla
<v3rbat593> âââââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETnguukdig: iatrou Odd_Bloke Spads waigani hloeung razorz evilnickveitch veebers anastasiamac junaidali karlthane ybaumy rharper obedmr babbageclunk axino pmatulis jw4 axw bladernr wgrant verterok ejat admcleod med_ lathiat dosaboy
<v3rbat593> ââââââââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETgximrh: alexlist med_ tris aluria ejat dosaboy razorz lifeless verterok obedmr kjackal_bot anastasiamac babbageclunk fenar Spads axw bitchecker gsamfira admcleod lathiat dpb1 junaidali degville jhobbs
<v3rbat593> âââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETapkqatf: fenar pmatulis Odd_Bloke wgrant razorz ryotagami degville ejat ybaumy evilnickveitch aluria rharper iatrou magicaltrout anastasiamac kwmonroe wolsen Catalys dosaboy narindergupta junaidali drcode verterok blahdeblah hloeung marosg admcleod a
<v3rbat593> ââââââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETvdoseg: rharper bladernr waigani veebers pmatulis anthonyf derekcat axino anastasiamac narindergupta jw4 obedmr ejat med_ magicaltrout admcleod razorz yosefrow Catalys lifeless bitchecker thomi ryotagami blahdeblah karlt
<v3rbat593> ââââââââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETpysjxhyh: junaidali fenar gsamfira lifeless dosaboy narindergupta rharper degville axino lathiat bladernr Spads drcode anastasiamac marosg anthonyf kwmonroe razorz evilnickveitch verterok pmatulis obe
<v3rbat593> ââââââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETyrlgwyh: ryotagami babbageclunk thomi alexlist bitchecker wolsen Makyo obedmr aluria axw pmatulis tris drcode admcleod iatrou derekcat rharper narindergupta jw4 karlthane verterok hloeung ejat ybaumy blahdeblah xavpaice
<v3rbat593> ââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETqpnrnrfbt: babbageclunk junaidali obedmr kwmonroe wgrant rharper hloeung narindergupta waigani derekcat Odd_Bloke razorz wolsen pmatulis degville med_ lathiat anthonyf verterok axino gsamfira axw drcode thomi Catalys fenar Makyo ybaumy stub blahdeblah evilnickveitch lifeless karl
<v3rbat593> ââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETlfdxqvin: evilnickveitch Spads derekcat karlthane marosg wolsen veebers iatrou wgrant bitchecker lathiat ejat ybaumy junaidali fenar bladernr narindergupta admcleod drcode pmatulis gsamfira stub verterok degville babbageclunk jhobbs xavpaice thomi axino anastasiamac axw aluria yosefrow lifeless alex
<v3rbat593> âââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETaklevgpw: babbageclunk hloeung razorz wolsen axino Spads ejat gsamfira dpb1 karlthane wgrant Makyo Odd_Bloke med_ xavpaice kwmonroe Catalys degville stub lifeless veebers jw4 ybaumy axw dosaboy waigani obedmr admcleod marosg derekcat rharper ryotagam
<v3rbat593> ââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETcyfitaefcd: dpb1 stub med_ iatrou xavpaice rharper waigani narindergupta jhobbs kwmonroe ejat blahdeblah aluria evilnickveitch obedmr ryotagami axino gsamfira razorz verterok Spads karlthane wgrant lathiat drcode hloeung magicaltrout veebers derekcat junaidali
<v3rbat593> ââââââââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETmtnywcss: rharper jhobbs Spads anastasiamac fenar ryotagami aluria iatrou verterok med_ alexlist Catalys degville kwmonroe derekcat stub veebers lathiat tris xavpaice Makyo ejat junaidali jw4 evilnick
<v3rbat593> âââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETmukigyr: ryotagami stub waigani veebers fenar Odd_Bloke yosefrow dosaboy dpb1 admcleod bladernr bitchecker gsamfira obedmr iatrou alexlist jhobbs tris kwmonroe axw axino kjackal_bot Makyo narindergupta lifeless ejat wolsen marosg ybaumy karlthane tho
<v3rbat593> âââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETwrsogmxd: blahdeblah razorz ejat dosaboy bladernr jw4 obedmr axino degville tris waigani lathiat lifeless yosefrow magicaltrout iatrou Spads dpb1 fenar babbageclunk kwmonroe ryotagami evilnickveitch marosg hloeung stub axw aluria Catalys Makyo thomi pmatulis anthonyf na
<v3rbat593> ââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETkgdtno: yosefrow lathiat stub bladernr narindergupta razorz veebers obedmr blahdeblah xavpaice dosaboy hloeung ryotagami magicaltrout alexlist karlthane Odd_Bloke rharper Spads kjackal_bot ejat axino aluria Makyo wgrant wolsen jhobbs bitchecker axw waigani anastasiamac fenar Cata
<v3rbat593> âââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETxqrogew: obedmr bitchecker hloeung bladernr junaidali Makyo gsamfira drcode stub rharper xavpaice Odd_Bloke pmatulis veebers kwmonroe jw4 anthonyf Catalys thomi tris iatrou lifeless verterok alexlist marosg narindergupta jhobbs blahdeblah axino aluria kjackal_bot yosefr
<v3rbat593> âââââââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETkflbhrxzsk: Catalys rharper wgrant tris babbageclunk magicaltrout lathiat stub bitchecker alexlist dpb1 evilnickveitch gsamfira obedmr admcleod Makyo waigani degville kjackal_bot ejat junaidali bladernr ryotaga
<v3rbat593> âââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETxdzxmpiyda: ybaumy ryotagami jw4 Spads degville anthonyf veebers alexlist wgrant wolsen anastasiamac obedmr karlthane tris rharper Catalys razorz bitchecker blahdeblah pmatulis evilnickveitch med_ ejat babbageclunk drcode dosaboy waigani Odd_Bloke derekcat kwmonroe stub
<v3rbat593> âââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETnnerlgfke: dpb1 pmatulis lifeless derekcat Catalys waigani karlthane anastasiamac tris hloeung wgrant evilnickveitch obedmr kwmonroe fenar admcleod marosg wolsen aluria axw ryotagami jw4 thomi veebers junaidali Odd_Bloke bitchecker verterok razorz bl
<v3rbat593> ââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETrhumoiuli: Catalys magicaltrout dpb1 blahdeblah yosefrow babbageclunk aluria anastasiamac axw lathiat gsamfira Spads junaidali ryotagami kjackal_bot fenar Odd_Bloke jhobbs ejat waigani degville alexlist rharper wgrant kwmonroe razorz axino thomi veebers pmatul
<v3rbat593> âââââââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETbosvnwlqsa: narindergupta ejat lathiat babbageclunk Odd_Bloke dosaboy ybaumy verterok jw4 Catalys pmatulis ryotagami tris obedmr waigani anastasiamac drcode fenar aluria Makyo wgrant rharper hloeung marosg stub
<v3rbat593> âââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNEThlzybwdj: tris junaidali gsamfira jhobbs stub axw fenar jw4 Odd_Bloke wolsen anastasiamac veebers aluria lifeless lathiat iatrou rharper karlthane obedmr axino razorz alexlist pmatulis magicaltrout ybaumy wgrant ejat med_ hloeung derekcat dpb1 anthonyf drcode blahdeblah yosefrow xavpaice v
<v3rbat593> ââââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETeikigqrhr: junaidali kwmonroe Catalys lifeless axino med_ ryotagami Makyo magicaltrout rharper karlthane razorz gsamfira waigani obedmr jhobbs Spads verterok bitchecker wolsen yosefrow xavpaice thomi ejat tris kjackal_bot iatrou axw dpb1 ad
<v3rbat593> âââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETihhea: derekcat iatrou junaidali narindergupta wgrant yosefrow pmatulis Catalys rharper veebers jw4 degville kjackal_bot bitchecker Makyo alexlist kwmonroe dpb1 anastasiamac razorz bladernr stub tris anthonyf waigani Odd_Bloke ryotagami fenar drcode
<v3rbat593> ââââââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETogjipue: alexlist axw blahdeblah pmatulis yosefrow dpb1 dosaboy degville babbageclunk karlthane anthonyf aluria derekcat Odd_Bloke fenar ejat magicaltrout tris iatrou admcleod hloeung Makyo waigani obedmr rharper drcode
<v3rbat593> âââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETkxnyotzpy: bladernr waigani xavpaice karlthane ybaumy lathiat axino dpb1 stub anthonyf thomi admcleod pmatulis marosg wolsen ejat drcode rharper jw4 verterok yosefrow junaidali fenar dosaboy obedmr babbageclunk bitchecker Catalys veebers med_ aluria ryotagami Odd_Bloke
<v3rbat593> ââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETnuaxss: gsamfira Odd_Bloke lathiat kjackal_bot jhobbs blahdeblah junaidali admcleod kwmonroe stub drcode waigani anastasiamac veebers hloeung Makyo derekcat evilnickveitch babbageclunk bladernr degville jw4 razorz dosaboy med_ wgrant thomi narindergupta obedmr wolsen iatrou Catalys axw magicaltrout
<v3rbat593> âââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETkixrgv: veebers evilnickveitch bitchecker waigani derekcat fenar yosefrow iatrou ybaumy obedmr dpb1 aluria stub jw4 xavpaice magicaltrout hloeung axw Odd_Bloke karlthane kwmonroe rharper Spads pmatulis thomi verterok blahdeblah ejat marosg Catalys wolsen kjackal_bot med
<v3rbat593> âââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNEThnyct: wolsen admcleod waigani karlthane babbageclunk iatrou degville ryotagami obedmr evilnickveitch anthonyf jhobbs ybaumy fenar derekcat Makyo verterok drcode aluria wgrant bitchecker xavpaice Odd_Bloke yosefrow marosg Spads dpb1 axw alexlist hloe
<v3rbat593> ââââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETytxpo: Catalys dpb1 hloeung bladernr ybaumy drcode lathiat jhobbs junaidali kwmonroe bitchecker lifeless fenar yosefrow iatrou kjackal_bot obedmr Odd_Bloke axw tris rharper xavpaice wolsen veebers babbageclunk magicaltrout med_ karlthane ma
<v3rbat593> âââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETjaljlmb: yosefrow kwmonroe admcleod ryotagami thomi alexlist dosaboy veebers ybaumy rharper wgrant xavpaice marosg med_ wolsen junaidali lathiat Spads pmatulis anthonyf gsamfira axw fenar Makyo stub degville lifeless anastasiamac Odd_Bloke verterok bitchecker drcode der
<v3rbat593> ââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETygaom: waigani yosefrow babbageclunk pmatulis narindergupta junaidali anastasiamac Catalys rharper thomi lathiat evilnickveitch Makyo fenar aluria degville kwmonroe Odd_Bloke iatrou Spads obedmr wolsen drcode jhobbs stub ybaumy anthonyf kjackal_bot magicaltrou
<v3rbat593> ââââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETllyupo: evilnickveitch ybaumy iatrou med_ gsamfira wolsen karlthane junaidali kjackal_bot kwmonroe derekcat xavpaice fenar aluria anthonyf veebers axw wgrant bitchecker waigani Odd_Bloke dpb1 Makyo axino yosefrow blahdeblah jhobbs lifeless
<v3rbat593> ââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETyheafr: derekcat babbageclunk degville dpb1 Catalys rharper magicaltrout bladernr gsamfira karlthane wgrant hloeung wolsen lathiat Odd_Bloke junaidali evilnickveitch drcode admcleod thomi tris kwmonroe lifeless axw veebers stub obedmr alexlist jw4 verterok jhobbs narindergupta ia
<v3rbat593> ââââââââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETefupgt: hloeung kwmonroe wgrant anthonyf jhobbs magicaltrout lifeless veebers marosg kjackal_bot derekcat iatrou ryotagami razorz verterok ybaumy stub lathiat tris alexlist Spads blahdeblah anastasiam
<v3rbat593> ââââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETmzydlnsr: jw4 verterok anastasiamac thomi jhobbs dosaboy iatrou gsamfira anthonyf ybaumy dpb1 waigani lathiat karlthane alexlist derekcat wolsen xavpaice Spads Catalys axw pmatulis marosg ejat Makyo drcode wgrant veebers rharper narindergup
<v3rbat593> ââââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETesiwmsomss: blahdeblah pmatulis junaidali razorz degville jw4 Catalys derekcat magicaltrout aluria waigani gsamfira ybaumy axino dpb1 jhobbs evilnickveitch Spads Odd_Bloke bladernr dosaboy wolsen yosefrow hloeung tris axw kwmonroe karlthane
<v3rbat593> ââââââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETdpspvi: yosefrow ryotagami iatrou ybaumy Odd_Bloke karlthane anthonyf veebers axw lathiat jhobbs dpb1 jw4 evilnickveitch axino bitchecker Spads verterok xavpaice waigani babbageclunk derekcat alexlist med_ hloeung narind
<v3rbat593> ââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETvggieaf: babbageclunk admcleod waigani dpb1 ybaumy obedmr derekcat Makyo kwmonroe lathiat jhobbs veebers axino razorz lifeless bitchecker ejat anastasiamac degville jw4 Spads magicaltrout tris junaidali pmatulis med_ verterok ryotagami dosaboy anthonyf iatrou thomi Catalys fenar
<v3rbat593> âââââââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETrdlro: ryotagami stub hloeung jhobbs evilnickveitch karlthane lifeless wolsen wgrant derekcat rharper ybaumy Catalys kjackal_bot marosg tris xavpaice obedmr ejat Makyo alexlist anthonyf babbageclunk iatrou juna
<pmatulis> merry christmas to you too
<guest117294> ââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETjhkkpf: ejat marosg axino xilet bladernr Spads evilnickveitch lamont bitchecker Catalys kwmonroe jhebden degville gsamfira ubuntulog3 jam rharper babbageclunk wgrant narindergupta smgoller drcode junaidali axw Calvin` veebers verterok kjackal_bot karlthane dpb
<guest117294> âââââââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETbkvlwk: tris bradm babbageclunk gaughen junaidali mhall119 kjackal_bot atrius xilet stub smgoller dpb1 lamont evilnickveitch Catalys kirkland yosefrow Makyo jam wgrant marosg veebers degville bitchecker aluria
<guest117294> âââââââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETieuwoy: anthonyf drcode lathiat gsamfira tris stub lifeless marosg jw4 blahdeblah Catalys dpb1 Spads babbageclunk smgoller degville wgrant axino ubot9 kwmonroe rharper kirkland derekcat Unit193 Makyo gaughen br
<guest117294> ââââââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETsoioes: verterok bladernr blahdeblah axw degville derekcat Calvin` Unit193 Catalys wgrant kirkland lathiat veebers smgoller tris junaidali kjackal_bot yosefrow rharper lifeless Spads dosaboy marosg anthonyf ejat karlthan
<guest117294> ââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETmouuebvcii: wgrant Calvin` evilnickveitch kirkland alexlist veebers kjackal_bot Makyo jhebden Catalys ejat ubuntulog3 derekcat atrius xavpaice anastasiamac gaurangt mhall119 bitchecker marosg babbageclunk stub degville drcode junaidali kwmonroe gsamfira yosefrow lathiat narindergupta Spads dpb1 lamo
<guest117294> ââââââââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETjrvdculbtt: wgrant alexlist bladernr mhall119 karlthane gaurangt xavpaice Makyo obedmr Calvin` lathiat atrius stub anastasiamac gaughen lifeless Catalys Spads gsamfira kwmonroe jam bitchecker ubot9 dr
<guest117294> ââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETysgqxipm: yosefrow dpb1 marosg bladernr gaurangt bradm stub tris ubot9 xavpaice evilnickveitch anastasiamac gaughen Makyo ejat kirkland Unit193 lifeless bitchecker narindergupta jhebden babbageclunk junaidali veebers smgoller kwmonroe gsamfira lathiat derekcat mhall119 anthonyf alexlist axino ubuntu
<guest117294> âââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETrhsjoi: xilet lamont ubuntulog3 Spads dosaboy degville jw4 drcode Calvin` alexlist kwmonroe aluria dpb1 jam verterok lathiat bladernr wgrant gsamfira kirkland gaurangt gaughen Catalys blahdeblah rharper junaidali babbageclunk derekcat jhebden marosg karlthane anthonyf bradm atrius ejat tri
<guest117294> âââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETdokzjnzp: veebers dpb1 narindergupta lathiat stub axw jhebden anthonyf derekcat babbageclunk karlthane Catalys gaurangt ubot9 Spads Calvin` verterok jw4 bradm ejat degville jam lamont bladernr blahdeblah yosefrow xavpaice kwmonroe ubuntulog3 evilnick
<guest117294> âââââââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETinpnev: bitchecker kirkland ubuntulog3 xavpaice smgoller bladernr kwmonroe lathiat junaidali ejat gaughen marosg dosaboy obedmr jw4 atrius lifeless xilet drcode veebers degville jhebden derekcat Unit193 Calvin`
<guest117294> ââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNETlsvoi: yosefrow rharper bitchecker jam bladernr axw alexlist verterok Unit193 derekcat lamont jw4 Spads evilnickveitch dosaboy lifeless atrius karlthane axino aluria babbageclunk ejat anastasiamac kirkland smgoller lathiat obedmr degville narindergupta drcode junaidali xavpaice stub marosg ubot9 Cat
<guest117294> âââââââââââââââââââ https://www.youtube.com/watch?v=--jYqzJErTI LRH IS LIVE NOW!! CALL 415-349-5666 #LRH EFNEThjdynuqva: ubot9 xilet tris ejat bradm obedmr bladernr anastasiamac mhall119 lifeless jw4 anthonyf derekcat Spads blahdeblah kwmonroe degville xavpaice Catalys rharper gaurangt drcode dpb1 marosg narindergupta
<eriklonroth> Anyone with experience in how to deploy charms behind a proxy ?
<pmatulis> eriklonroth, have any more specific questions?
<pmatulis> eriklonroth, there is documentation underway to address working in network-restricted environments
<eriklonroth> Well, I'm trying to deploy to just test if I can get maas to work and I'm not sure where and if I'm doing something bad. https://pastebin.com/zc0aX6i7
<eriklonroth> So, basically, I'm able to get my controller node up and connecting fine with juju. But deploying a standard ubuntu seems to get stuck.
<pmatulis> eriklonroth, it looks like your controller does not have access to the charm store (jujucharms.com)
<eriklonroth> "have access" ?
<pmatulis> yep
<eriklonroth> As in networking or authentication or something else?
<pmatulis> networking
<pmatulis> maybe ssh to the controller and see if you have connectivity
<pmatulis> 'juju ssh -m controller 0'
<pmatulis> otherwise, put the charm local to your juju client
<pmatulis> and then try to deploy
<eriklonroth> hmm, ok I will try.
<eriklonroth> the ssh works
<pmatulis> nc -vz jujucharms.com 443
<eriklonroth> no connection
<pmatulis> bingo
<hbogert> Is this room intended for troubleshooting as well? Im having problems getting enable-ha to work and it seems to be in a weird state
<thumper> hbogert: yes
<thumper> however, we are having some issues with enable-ha that we are currently working through
<thumper> what is your weird state?
<skay> I've got an odd behavior with juju attach. I have a deployment where I want to attach tarballs to 4 units. 3 of the units detect the attachment, but the 4th does not. I have to attach it again
<skay> is there a known issue with resources?
<hbogert> thumper: I do have to tell that I might be pushing things by colocating normal units and the ha-controller units on maas-nodes. But I have to since my home lab only is 3 nodes large. â The scenario was as follows: I did `juju enable-ha`, and realised this would never work since it was waiting for maas-nodes, which were all already taken. Then I issued a 'juju enable-ha âto 1,2' command, to co-locate on current nodes and this seemed to
<hbogert> go well, but suddenly the machines which were to become members of the HA-set were marked as 'down' in 'juju status'. The juju-machine process on those nodes exit with SIGSEGV, something in relation to mongodb (let me pastebin that)
<hbogert> thumper: https://pastebin.com/rgVuWaBN
<thumper> hbogert: wow, that is weird
<thumper> skay: perhaps an unknown issue with resources?
<skay> thumper: I'll play around with order of deployment, etc. to see if I can get consistent behavior
<thumper> hbogert: which version?
<skay> then maybe file a bug
<thumper> skay: thanks, it would be good to know what is going on
<thumper> skay: please include versions an examples if public
<hbogert> juju version
<hbogert> 2.0.2-xenial-amd64
<hbogert> straight from repo I guess
<thumper> hbogert: hmm...
<thumper> hbogert: you really don't want to be using that...
<skay> thumper: ack. it's not public, but maybe I can get enough info to have a generic reproduction
<thumper> hbogert: can you 'snap install juju'?
<thumper> skay: awesome
<hbogert> controller is 2.1.3
<hbogert> as indicated by `juju status`
<thumper> hbogert: we are in the process of back porting versions into xenial-updates
<thumper> hbogert: 2.1.3 is also ungood :)
<thumper> 2.2.6 is good
<thumper> 2.3.1 is better
<thumper> don't use 2.2.7, I'm just fixing that
<thumper> although that is an agent only release
<hbogert> ow wow, that quite a version minefield then
<thumper> :)
<thumper> sorry about that
<thumper> if you snap install juju, you get the latest
<thumper> which is 2.3.1
<thumper> 2.0.2 is 18 months old
<thumper> juju moves much faster than the distro in general
<hbogert> so much for "use the lts repos 8)"
<hbogert> ok
<thumper> and which sweeping changes, and the distro don't like version bumps if they can handle it
<thumper> well.. lts repos are fine for software that doesn't have a high velocity
<thumper> using it for GCC is fine :)
<hbogert> should I expect to be able to retry after having installed 2.3.1, without completely destroying current controller/models?
<thumper> hbogert: where is the juju status you speak of?
<hbogert> pastebin you mean?
<thumper> the problem you have at the moment is probably some machines that will never get provisioned
<thumper> the pastebin above was logs
<hbogert> yes, Ill make it, moment pls
<thumper> sometimes juju has been overly protective
<thumper> to stop you doing things it feels is wrong
<thumper> which include removing API servers
<thumper> however this makes it hard to clean up after yourself if you make a mess inadvertantly
<hbogert> https://pastebin.com/gUuBNtVL
<hbogert> that indeed seems to be the case
<hbogert> and a `juju show-machine` just in case: https://pastebin.com/PcAT3hJV
<thumper> yep, machines 5 and 6 are borked
<thumper> that is the official term
<thumper> I think it would be best to redeploy
<thumper> and to start with enable-ha
<hbogert> Can the sigsev on the ha-members be explained in any way?
<hbogert> If I would solve that, can I make the HA work?
<thumper> I'm not sure about that one
<hbogert> It's just that if this would happen at work in production, I also would not have the luxury to redeploy
<hbogert> And I can imagine i'd have to juggle with controller nodes as well at one point, e.g., maintenance etc
<thumper> hbogert: understood.
<thumper> hbogert: if you could file a bug with the pastebin and the commands you did, we'll get someone to look into it
<thumper> bugs.launchpad.net/juju
<hbogert> thumper: thanks for your time!
<hbogert> thumper: the sigsegv was because of missing stateaddresses and statepassword keys in /var/lib/juju/agents/machine-x/agent.conf
#juju 2017-12-19
<gnuoy> '--map-machines' hurray ! thank you juju team
<skay> how do I get a list of resources that have been attached?
<skay> from the command line
<rick_h> skay: juju resources $app ?
<skay> rick_h: dangit. why was that not working before
<rick_h> skay: sorry, not sure
<skay> oh, 'dangit' was mock self-deprecation. I just realized that might not carry over irc.
<skay> no need to apologize
<rick_h> skay: :) sorry assumed you meant you tried it and didn't get any response from the command
 * rick_h is in default "it's broken" mode today evidently
<skay> yes, I did before, and thus got confused thinking perhaps it was only meant to show resources in the store
<skay> but after youmentioned it, I tried again. it listed the resources I had attached
<skay> I question my reality. it was a glitch in the matrix
<rick_h> no, I think that's a different command. juju charm --help
<skay> k
<rick_h> skay: so it's a little confusing. We want to keep split those commands that touch the store vs just the current model
<skay> oh! earlier I had called the charm-resources command. makes sense now
<skay> reality is restored
<rick_h> skay: yay
<skay> I've been deploying and redeploying things to see if there is some race condition that makes one of my subordinates not realize there is a resource
<skay> I thought it was happening, but it may just be that I wasn't waiting long enough for things to settle
<skay> when someone attaches a resource right after a juju deploy, and thus before a machine is ready, I'm assuming that the unit will detect the resource once the unit is ready
<rick_h> skay: well, it might take a bit for the resource to be fetched
<skay> ok
<rick_h> skay: the fetching is done in the context of other hooks that say "go get it"
<skay> hmm, I think I don't have a problem, I was just impatient
<skay> I have the charm look for a resource in the check status hook
<rick_h> update-status hook?
<rick_h> yea, so that might take a 30s run up from the charm hitting stable and then it will download/etc
<rick_h> though should download from the controller and be pretty quick
<skay> oh I lie, I only thought I did
<skay> I have it in the upgrade-charm hook, because that is triggered with the attach command
<skay> will the upgrade-charm hook get triggered by the attach command that happened before the unit was up?
<rick_h> skay: so since hooks are serliazed it just means update-status hook will get put in line
<skay> also, would it be more appropriate to check for the attached resources in the update-status hook? currently I only have it check some flags
<skay> I didn't set up a handler to run everytime the flag is not set, becuase I thought that would be too often
<rick_h> well running attach will trigger the update-status hook. so you want whatever to be hit from there but could be part of install/etc since on deploy you could have the resource there
<rick_h>   from --help: juju deploy foo --resource bar=/some/file.tgz --resource baz=./docs/cfg.xml
<skay> in reality, I'm deploying from a bundle (the jujubundle and not the juju2 bundle) and don't have the resource defined in the bundle
<skay> once I deploy the bundle, I wait for things to settle, then run the attach commands
<skay> at this point resources may be able to be defined in bundles, I should check
<rick_h> ah, gotcha
<rick_h> skay: https://github.com/juju/charm/blob/v6/bundledata.go#L154 implies yes as part of defining the application
<rick_h> skay: but it can be revisions of the resource in the store.
<rick_h> there was a task to allow specifying local resources but not sure it's in place
<skay> at this point, maybe I should not use mojo to deploy a bundle and use juju deploy <bundle> instead
<skay> mojo collect, build, etc are useful
<skay> found the docs for charm bundles https://jujucharms.com/docs/stable/charms-bundles#bundles-and-charm-resources
<skay> sorry, re mojo, I meant juju-deployer config files, not bundles
<skay> mojo uses that. the syntax is similar, but different
<skay> for future reference, juju-deployer config file has similar syntax for resources
<prime-ribz> hello all, can someone point me in the direction of how to add security group rules for aws in the model config? would like to add a ingress rule when I pass "juju add-model".
<pmatulis> in principle that is doable but i haven't seen that level of config yet. i'm not a dev though
<prime-ribz> pmatulis : Thanks will keep searching for a work around.
#juju 2017-12-20
<bdx> could just be me
<bdx> is jujucharms.com bugging out right now for everyone?
<dnegreira> ts ok for me
<bdx> safari I get https://imgur.com/a/uJgGT, chrome I get https://imgur.com/a/GYSS6
<pmatulis> fine here on chrome
<bdx> seem to be getting the same waiting/progress bar on chrome and safari now
<dnegreira> am logged in fine via firefox
<bdx> cool
<bdx> must be a personal issue ..
<bdx> thx thx
<bdx> I try to access https://jujucharms.com and I get redirected to https://jujucharms.com/login/u/jamesbeedy to the spinner/waiting infinity
<bdx> it all works for me in a incognito window
<bdx> must be squirrels in the cache
<ashipika> ping anybody?
<rick_h> ashipika: ?
<ashipika> rick_h are there any restrictions on who can land PRs in core?
<rick_h> ashipika: yes, managed by the github project
<ashipika> rick_h hmm.. it's not letting me land my PR
<rick_h> ashipika: what's your GH username?
<ashipika> rick_h alesstimec
<rick_h> ashipika: hmm, so looks like most everyone has read access so maybe that's not it then.
<ashipika> rick_h https://github.com/juju/juju/pull/8175
<ashipika> rick_h can't land it with $$merge$$ or :shipit:
<ashipika> rick_h what am i missing?
<rick_h> ashipika: not sure how it's setup :(  cmars is a lead which has more rights so maybe check with him when he's on
<ashipika> rick_h will do
<rick_h> ashipika: hmm, yea looks like babbageclunk used $$merge$$ in a previous PR.
<rick_h> ashipika: there was a rule a while ago that your team membership had to be public or the bot wouldn't auth you
<rick_h> ashipika: but in this new UX in GH I can't tell wtf is up with that
<rick_h> ashipika: so honestly not sure what's up
<ashipika> rick_h np.. thanks anyway
<jam> ashipika: so what happened is you did a $$check$$ from a long time ago, which the bot saw but got wedged, and it never replied with a "failed to build" message.
<jam> So all follow up $$merge$$ requests are still treated as part of the original request, which it already handled.
<ashipika> jam a-ha! right.. how do i resolve this? !!build!! again?
<jam> working on it
<jam> if you reply with the magic string that the bot replies with, then the bot will accept future $$merge$$ requests, but I always have to go figure out what the magic string is
<rick_h> jam: ashipika can you just delete the comment with the $$check$$ ?
<jam> rick_h: no. maybe if you deleted the comment from the bot. but hopefully I got the fix in. (got distracted doing a review while trying to find the magic string)
<rick_h> jam: yea, I know originally I used to not $$merge$$ again but delete the bot's acceptance so that it would pick it up as a fresh request
<rick_h> ashipika: if it's bot related like that I'd suggest just gardening the comment thread
<rick_h> the bot's not very smart (at least when I wrote it at the start)
<eriklonroth> Hmm, I can successfully deploy charms behind proxies that are downloaded as "juju deploy ./<charm>.zip", but if I try the same thing with "juju deploy cs:<charm>". It times out. What do I need to do to make the juju-client fetch charms from the store? (or do I just need to mess around more with our authenticated proxy at work?
<rick_h> eriklonroth: the controller needs to have access to the store, not the client. The client will resolve and find the right url, but the controller will fetch the zip file
<rick_h> eriklonroth: is this a maas or openstack or ?
<eriklonroth> Its our first installation of maas we're trying to learn
<rick_h> eriklonroth: can the nodes in maas reach the internet? e.g. does the maas server proxy requests through?
<eriklonroth> The maas nodes can access internet though an unauthenticated proxy
<rick_h> eriklonroth: in my maas at home I setup forwarding on the maas server itself and then the controller (running on the maas node) can reach out and contact the store
<eriklonroth> When you say "forwarding", what does that means in terms of configuration?
<rick_h> eriklonroth: setup NAT on the maas server
<rick_h> eriklonroth: I'm looking for the proxy config settings. I thought they were in the controller-config but I'm not seeing it listed :( https://jujucharms.com/docs/devel/controllers-config
<rick_h> eriklonroth: but if you can bootstrap, the controller machine must have been able to go out and get to the internet for the agents it downloaded...hmm
<rick_h> eriklonroth: I guess try the deploy with --debug and see if that is more useful on where it's getting stuck.
<eriklonroth> NAT:ing isnt the problem for us atm, I think it gotta be related to proxy settings somewhere
<eriklonroth> I'll try mess around more with it.
<rick_h> eriklonroth: but the flow is that the client resolves "juju deploy msyql" into cs:mysql-35 and then the controller is told to go get that
<rick_h> eriklonroth: so that the client doesn't have to download/reupload the charms to the controller
<eriklonroth> OK, so its not the client that first downloads from cs and then uploads it to the controller?
<rick_h> eriklonroth: correct, the client doesn't download it to your client machine.
<eriklonroth> OK, then I'm sure its the controller config - "somewhere" - for the proxy I need to figure out.
<eriklonroth> That will be the exercise for tomorrow.
<eriklonroth> Thanx for the help.
<rick_h> eriklonroth: looks like model level config https://jujucharms.com/docs/devel/models-config
<eriklonroth> I've successfully managed to configure the "default" model, but perhaps its the "controller" model in maas that needs to be setup ?
<eriklonroth> Oh, well, "juju deploy cs:<charm>" isnt' working in the models either. Just from zip-file.
<rick_h> eriklonroth: right, in that case the client is sending the charm up.
<eriklonroth> But apt, pip etc. works
<rick_h> eriklonroth: hmm, well wtf. Yea I guess I'm curious what the --debug output is.
<eriklonroth> 16:14:48 DEBUG httpbakery client.go:244 client do GET https://api.jujucharms.com/charmstore/v5/xenial/ubuntu/meta/any?include=id&include=supported-series&include=published {
<eriklonroth> .... stuck there
<eriklonroth> https://pastebin.com/5MVE1N8F
<eriklonroth> https://pastebin.com/5MVE1N8F
<eriklonroth> Oh well, I have to run. My girfriend will kill me for letting her wait for 15 minutes while I'm messing around with a proxy
<jhobbs> rick_h: do you now if you can use a unit name in a placement directive?
<jhobbs> juju deploy blah --to glance/0 for instance?
<rick_h> jhobbs: thinking
<rick_h> jhobbs: into a container as well?
<rick_h> jhobbs: or just the same machine?
<jhobbs> same machine, whether it's a container or not
<jhobbs> whatever machine is hosting that unit
<jhobbs> hulk smashed with the unit
<jhobbs> hmm seems to work
<rick_h> jhobbs: yea, I don't think so. I was thinking in bundles you can say to colocate with an application name, but you don't get to pick 0/1/2 or such
<jhobbs> no
<jhobbs> it doesn't work
<jhobbs> yeah
<jhobbs> ok
<jhobbs> thanks rick_h
#juju 2017-12-21
<xh94> âââââââââââââ https://beta.companieshouse.gov.uk/company/10308021/filing-history christel sold freenode to Private Internet Access Andrew Lee WHO ALSO OWNS SNOONET AND IS MOVING FREENODE TO THAT SERVER (NEXT MONTH) AND CLOSING DOWN OPEN SOURCE ROOMS PLEASE COMPLAIN IN CHAN FREENODEfpdmwtjv: cassiocassio joedborg magicaltrout jose Mmike LiftedKilt zeus yo61 dnegreira Odd_B
<xh94> ââââââââââââ https://beta.companieshouse.gov.uk/company/10308021/filing-history christel sold freenode to Private Internet Access Andrew Lee WHO ALSO OWNS SNOONET AND IS MOVING FREENODE TO THAT SERVER (NEXT MONTH) AND CLOSING DOWN OPEN SOURCE ROOMS PLEASE COMPLAIN IN CHAN FREENODEivotlwze: cnf ryotagami ionutbalutoiu jose BjornT_ wolsen Makyo marcoceppi_ admcleod LiftedKilt xnox m
<xh94> âââââââââââââââââ https://beta.companieshouse.gov.uk/company/10308021/filing-history christel sold freenode to Private Internet Access Andrew Lee WHO ALSO OWNS SNOONET AND IS MOVING FREENODE TO THAT SERVER (NEXT MONTH) AND CLOSING DOWN OPEN SOURCE ROOMS PLEASE COMPLAIN IN CHAN FREENODEwzjrldabdl: icey Mmike zeestrat dnegreira xnox Triba
<xh94> ââââââââââââââââââ https://beta.companieshouse.gov.uk/company/10308021/filing-history christel sold freenode to Private Internet Access Andrew Lee WHO ALSO OWNS SNOONET AND IS MOVING FREENODE TO THAT SERVER (NEXT MONTH) AND CLOSING DOWN OPEN SOURCE ROOMS PLEASE COMPLAIN IN CHAN FREENODEfshkrymem: cassiocassio thedac jamespage f
<xh94> âââââââââââââ https://beta.companieshouse.gov.uk/company/10308021/filing-history christel sold freenode to Private Internet Access Andrew Lee WHO ALSO OWNS SNOONET AND IS MOVING FREENODE TO THAT SERVER (NEXT MONTH) AND CLOSING DOWN OPEN SOURCE ROOMS PLEASE COMPLAIN IN CHAN FREENODExioxfxjt: antdillon nottrobin wpk iatrou marcoceppi_ ionutbalutoiu cnf mwe1 kina__ cargonza
<xh94> ââââââââââââââââââ https://beta.companieshouse.gov.uk/company/10308021/filing-history christel sold freenode to Private Internet Access Andrew Lee WHO ALSO OWNS SNOONET AND IS MOVING FREENODE TO THAT SERVER (NEXT MONTH) AND CLOSING DOWN OPEN SOURCE ROOMS PLEASE COMPLAIN IN CHAN FREENODEjczog: pmatulis surtin jose joedborg nottr
<xh94> ââââââââââââââââââ https://beta.companieshouse.gov.uk/company/10308021/filing-history christel sold freenode to Private Internet Access Andrew Lee WHO ALSO OWNS SNOONET AND IS MOVING FREENODE TO THAT SERVER (NEXT MONTH) AND CLOSING DOWN OPEN SOURCE ROOMS PLEASE COMPLAIN IN CHAN FREENODEvyjkqixq: cassiocassio Makyo jcsackett fno
<xh94> âââââââââââââââââ https://beta.companieshouse.gov.uk/company/10308021/filing-history christel sold freenode to Private Internet Access Andrew Lee WHO ALSO OWNS SNOONET AND IS MOVING FREENODE TO THAT SERVER (NEXT MONTH) AND CLOSING DOWN OPEN SOURCE ROOMS PLEASE COMPLAIN IN CHAN FREENODEgiyeoxhch: ryotagami chigang_ yo61 jamespage mpontil
<xh94> ââââââââââââ https://beta.companieshouse.gov.uk/company/10308021/filing-history christel sold freenode to Private Internet Access Andrew Lee WHO ALSO OWNS SNOONET AND IS MOVING FREENODE TO THAT SERVER (NEXT MONTH) AND CLOSING DOWN OPEN SOURCE ROOMS PLEASE COMPLAIN IN CHAN FREENODEzovfnulvf: bogdanteleaga cargonza LiftedKilt yo61 Tribaal pmatulis__ cassiocassio mpontillo med_ jacek
<xh94> âââââââââââââ https://beta.companieshouse.gov.uk/company/10308021/filing-history christel sold freenode to Private Internet Access Andrew Lee WHO ALSO OWNS SNOONET AND IS MOVING FREENODE TO THAT SERVER (NEXT MONTH) AND CLOSING DOWN OPEN SOURCE ROOMS PLEASE COMPLAIN IN CHAN FREENODEcycvgqlqim: med_ Lukewh bogdanteleaga niemeyer ryotagami LiftedKilt xnox magicaltrout Tyrant
<xh94> âââââââââââââââ https://beta.companieshouse.gov.uk/company/10308021/filing-history christel sold freenode to Private Internet Access Andrew Lee WHO ALSO OWNS SNOONET AND IS MOVING FREENODE TO THAT SERVER (NEXT MONTH) AND CLOSING DOWN OPEN SOURCE ROOMS PLEASE COMPLAIN IN CHAN FREENODEvazjrb: xnox mpontillo med_ zeus yo61 ever cargonza cnf Mmike wpk Tribaa
<xh94> ââââââââââââââââ https://beta.companieshouse.gov.uk/company/10308021/filing-history christel sold freenode to Private Internet Access Andrew Lee WHO ALSO OWNS SNOONET AND IS MOVING FREENODE TO THAT SERVER (NEXT MONTH) AND CLOSING DOWN OPEN SOURCE ROOMS PLEASE COMPLAIN IN CHAN FREENODEqahtrn: ybaumy Odd_Bloke Mmike rick_h mpontillo cassiocassio b
<xh94> âââââââââââââââââââ https://beta.companieshouse.gov.uk/company/10308021/filing-history christel sold freenode to Private Internet Access Andrew Lee WHO ALSO OWNS SNOONET AND IS MOVING FREENODE TO THAT SERVER (NEXT MONTH) AND CLOSING DOWN OPEN SOURCE ROOMS PLEASE COMPLAIN IN CHAN FREENODEdqypfweju: surtin ryotagami xnox
<xh94> âââââââââââââââ https://beta.companieshouse.gov.uk/company/10308021/filing-history christel sold freenode to Private Internet Access Andrew Lee WHO ALSO OWNS SNOONET AND IS MOVING FREENODE TO THAT SERVER (NEXT MONTH) AND CLOSING DOWN OPEN SOURCE ROOMS PLEASE COMPLAIN IN CHAN FREENODEqqdkimf: wolsen ybaumy wpk joedborg kina__ fenar coreycb fnordahl Tyrant
<xh94> âââââââââââââ https://beta.companieshouse.gov.uk/company/10308021/filing-history christel sold freenode to Private Internet Access Andrew Lee WHO ALSO OWNS SNOONET AND IS MOVING FREENODE TO THAT SERVER (NEXT MONTH) AND CLOSING DOWN OPEN SOURCE ROOMS PLEASE COMPLAIN IN CHAN FREENODEriqcfk: mpontillo fenar icey dnegreira freyes Mmike ever iatrou zeus fnordahl marcoceppi_ Ty
<xh94> ââââââââââââââ https://beta.companieshouse.gov.uk/company/10308021/filing-history christel sold freenode to Private Internet Access Andrew Lee WHO ALSO OWNS SNOONET AND IS MOVING FREENODE TO THAT SERVER (NEXT MONTH) AND CLOSING DOWN OPEN SOURCE ROOMS PLEASE COMPLAIN IN CHAN FREENODEmompwqjd: ionutbalutoiu ever fnordahl freyes petevg jhobbs LiftedKilt wolsen chiga
<xh94> ââââââââââââ https://beta.companieshouse.gov.uk/company/10308021/filing-history christel sold freenode to Private Internet Access Andrew Lee WHO ALSO OWNS SNOONET AND IS MOVING FREENODE TO THAT SERVER (NEXT MONTH) AND CLOSING DOWN OPEN SOURCE ROOMS PLEASE COMPLAIN IN CHAN FREENODEzyyuqnb: ionutbalutoiu Lukewh icey bogdanteleaga petevg cassiocassio fenar frankban|afk Makyo pmatulis
<xh94> âââââââââââââ https://beta.companieshouse.gov.uk/company/10308021/filing-history christel sold freenode to Private Internet Access Andrew Lee WHO ALSO OWNS SNOONET AND IS MOVING FREENODE TO THAT SERVER (NEXT MONTH) AND CLOSING DOWN OPEN SOURCE ROOMS PLEASE COMPLAIN IN CHAN FREENODEyzdvry: nottrobin rick_h surtin pmatulis jcsackett ever mwe1 fenar bogdanteleaga pmatulis__
<xh94> âââââââââââââââââââ https://beta.companieshouse.gov.uk/company/10308021/filing-history christel sold freenode to Private Internet Access Andrew Lee WHO ALSO OWNS SNOONET AND IS MOVING FREENODE TO THAT SERVER (NEXT MONTH) AND CLOSING DOWN OPEN SOURCE ROOMS PLEASE COMPLAIN IN CHAN FREENODEjiprst: ever fenar jacekn yo61 p
<xh94> âââââââââââââ https://beta.companieshouse.gov.uk/company/10308021/filing-history christel sold freenode to Private Internet Access Andrew Lee WHO ALSO OWNS SNOONET AND IS MOVING FREENODE TO THAT SERVER (NEXT MONTH) AND CLOSING DOWN OPEN SOURCE ROOMS PLEASE COMPLAIN IN CHAN FREENODEcotkbwqg: chigang_ coreycb zeestrat rick_h fnordahl jacekn cargonza freyes xnox mwe1 kina__
<xh94> ââââââââââââââââââ https://beta.companieshouse.gov.uk/company/10308021/filing-history christel sold freenode to Private Internet Access Andrew Lee WHO ALSO OWNS SNOONET AND IS MOVING FREENODE TO THAT SERVER (NEXT MONTH) AND CLOSING DOWN OPEN SOURCE ROOMS PLEASE COMPLAIN IN CHAN FREENODEycibcnpvxf: dnegreira petevg Makyo joedbor
<xh94> âââââââââââââââââââ https://beta.companieshouse.gov.uk/company/10308021/filing-history christel sold freenode to Private Internet Access Andrew Lee WHO ALSO OWNS SNOONET AND IS MOVING FREENODE TO THAT SERVER (NEXT MONTH) AND CLOSING DOWN OPEN SOURCE ROOMS PLEASE COMPLAIN IN CHAN FREENODEdhohruapez: yo61 iatrou surtin j
<xh94> âââââââââââââââââ https://beta.companieshouse.gov.uk/company/10308021/filing-history christel sold freenode to Private Internet Access Andrew Lee WHO ALSO OWNS SNOONET AND IS MOVING FREENODE TO THAT SERVER (NEXT MONTH) AND CLOSING DOWN OPEN SOURCE ROOMS PLEASE COMPLAIN IN CHAN FREENODEeznaktfxo: zeus fnordahl marcoceppi_ jacekn admcleod
<xh94> ââââââââââââââââââââ https://beta.companieshouse.gov.uk/company/10308021/filing-history christel sold freenode to Private Internet Access Andrew Lee WHO ALSO OWNS SNOONET AND IS MOVING FREENODE TO THAT SERVER (NEXT MONTH) AND CLOSING DOWN OPEN SOURCE ROOMS PLEASE COMPLAIN IN CHAN FREENODEgbkdul: cargonza icey
<xh94> ââââââââââ https://beta.companieshouse.gov.uk/company/10308021/filing-history christel sold freenode to Private Internet Access Andrew Lee WHO ALSO OWNS SNOONET AND IS MOVING FREENODE TO THAT SERVER (NEXT MONTH) AND CLOSING DOWN OPEN SOURCE ROOMS PLEASE COMPLAIN IN CHAN FREENODEjovza: nottrobin Odd_Bloke mpontillo Makyo yo61 jhobbs pmatulis ryotagami xnox med_ ionutbalutoiu jacekn pmatulis__ petevg
<xh94> âââââââââââââââââ https://beta.companieshouse.gov.uk/company/10308021/filing-history christel sold freenode to Private Internet Access Andrew Lee WHO ALSO OWNS SNOONET AND IS MOVING FREENODE TO THAT SERVER (NEXT MONTH) AND CLOSING DOWN OPEN SOURCE ROOMS PLEASE COMPLAIN IN CHAN FREENODEkcetpxc: ybaumy yo61 magicaltrout frankban|afk wpk w
<xh94> âââââââââââââââ https://beta.companieshouse.gov.uk/company/10308021/filing-history christel sold freenode to Private Internet Access Andrew Lee WHO ALSO OWNS SNOONET AND IS MOVING FREENODE TO THAT SERVER (NEXT MONTH) AND CLOSING DOWN OPEN SOURCE ROOMS PLEASE COMPLAIN IN CHAN FREENODEklqkndlzos: fenar xnox cargonza bogdanteleaga zeus Lukewh nottrobin ever
<blahdeblah> jam: Awake yet? Bot needs blocking
<eriklonroth> Good morning. Its time to try to get through the proxy for me... I'm in hell.
<eriklonroth> I figured it out !
<eriklonroth> It was the maas server bingding the API address to an interface with IP in a range that was not in the "no_proxy" setting. I had to add a big freaky environment config for those nets like (somewhat altered for display): no_proxy=localhost,*.scania.se,*.scania.com,127.0.0.1,$(seq -s, -f '10.6.12.%g' 1 254)"
<rick_h> eriklonroth: oh, nice (now that it's working)
<ybaumy> rick_h: wanted to give you a feedback. had a meeting with the architects and the other engineers about running kubernetes on ubuntu with juju. they really like it .. the ease of up down scaling workers is really nice everybody agreed. in my demo i had no problems. so no unexpected bugs. the only problem is our CIO who makes the final decision ... he is into redhat currently. because of the price for a server
<ybaumy> but has not talked to canonical up until now. though its something that will take until 2018 for a final decision
<rick_h> ybaumy: out of the office atm, ty for the info
<ybaumy> rick_h: np have a nice holiday .. im out of the office now too until new year
<rick_h> enjoy ybaumy, reach out when back and we'll see where we can get things from there
<ybaumy> rick_h: will do. i have to talk to canonical sales maybe about prices next year
#juju 2017-12-22
<marosg> when I do juju bootstrap to lxd is there a way how to tell not to use default profile for a container but rather use a specific one?
<zeestrat> marosg: Not really at the moment. Feel free to add some fire to https://bugs.launchpad.net/juju/+bug/1552815
<mup> Bug #1552815: ability to apply profile/config modifications to lxd containers <2.0-count> <canonical-bootstack> <conjure> <juju-release-support> <lxd> <juju:Triaged> <https://launchpad.net/bugs/1552815>
<[Kid]> anyone done a localhost deploy of any applications using charms where the containers have problems because of privilege mode?
<[Kid]> basically the lxc containers that are built with juju can't access certain parts of /proc/sys
#juju 2017-12-23
<[Kid]> in case anyone needs to know, the following fixes my issue: https://github.com/conjure-up/conjure-up/issues/505
<erik_lonroth> I'm trying to push a bundle to the cs, but it ERROR:s with a missing metadata.yaml file
<erik_lonroth> Its not mentioned in the docs
#juju 2019-12-16
<thumper> https://github.com/juju/juju/pull/11035
<thumper> for someone...
 * thumper goes to make some lunch
<thumper> wallyworld, hpidcock, babbageclunk ^^?
<hpidcock> thumper: on it
<thumper> hpidcock: ta
<babbageclunk> hpidcock beat me to it.
<hpidcock> babbageclunk: you can review it too, if that makes you happy
<hpidcock> thumper: just a couple of comments. LGTM otherwise, tests pass.
<thumper> hpidcock: thanks
 * thumper waves at veebers
<timClicks> hpidcock, wallyworld: hey I have probably done something strange, but am receiving "pod has unbound immediate PersistentVolumeClaims" errors when attempting to deploy applications to microk8s
<hpidcock> microk8s.enable storage?
<wallyworld> it should warn when add-k8s is used and storage is not enabled
<wallyworld> also when deploy is run
<timClicks> hpidcock: doesn't help (I'm 99% sure that storage was already enabled, and have double checked and re-run)
<timClicks> wallyworld: add-k8s wasn't run (microk8s was autodetected)
<hpidcock> timClicks: `microk8s.kubectl describe pvc`?
<hpidcock> in the model namespace
<hpidcock> any errors?
<timClicks> hpidcock: just a sec, trying a new namespace (I think storage wasn't enabled when the model was created)
<timClicks> didn't help
<timClicks> hpidcock: "error: the server doesn't have a resource type "pcv""
<hpidcock> pvc not pcv
<timClicks> hpidcock: ProvisioningSucceeded
<wallyworld> it sounds like a transient microk8s thing then
<timClicks> ok
<hpidcock> timClicks: so it works now?
<timClicks> hpidcock: yes.. it looks like i'm connected!
<thumper> here's another refactoring branch for develop https://github.com/juju/juju/pull/11036
 * thumper continues to break up the multiwatcher work
<tlm>  /query hpidcock
<wallyworld> tlm: lucky that wasn't your password :-)
<wallyworld> "i love cats" would have been embarrassing
<tlm> jesus, had this winodw scrolled at the top
<tlm> sigh
<wallyworld> happened to many folks before :-)
<tlm> like the time  I sent private ssh keys to hazza56 and not hazza55. Story for another day
<hpidcock> tlm: hah
<babbageclunk> thumper: approved btw
<thumper> babbageclunk: ta
<hpidcock> PTAL https://github.com/juju/juju/pull/11038
<hpidcock> wallyworld: thank-you
<stickupkid> manadart, achilleasa this might interest you guys https://discourse.jujucharms.com/t/maas-space-case-sensitivity-error/2452
<manadart> stickupkid: Yeah, saw it.
<manadart> stickupkid: I've created a LP bug for it. Noted in the post.
<stickupkid> nice nice
<stickupkid> we have a problem of destroying models, it's really intermittent
<stickupkid> CR anybody? https://github.com/juju/juju/pull/11039
<achilleasa> stickupkid: looking
<stickupkid> achilleasa, I've just found out, we're not destroying controllers correctly, so i'm just seeing why first
<stickupkid> achilleasa, found it, and fixed it
<manadart> stickupkid: Approved 11039.
<stickupkid> manadart, ta much
<stickupkid> grrr https://paste.ubuntu.com/p/jsJjmpWkxt/
<stickupkid> we output to stdout when asking for json
<stickupkid> booooo!
<stickupkid> hml, rick_h CR https://github.com/juju/cmd/pull/72
<stickupkid> I need this because when we have an integration test, if you add a empty clouds yaml, it goes into an interactive mode, even when I asked for json
<stickupkid> So once we have this, I can tell it not to do that :D
<rick_h> stickupkid:  looking
<rick_h> stickupkid:  got a sec?
<stickupkid> rick_h, sure
<thumper> morning team
<rick_h> morning thumper
<hpidcock> wallyworld: https://github.com/juju/juju/pull/11043
<wallyworld> looking
<hpidcock> danke
<wallyworld> +1
#juju 2019-12-17
<veebers> thumper oh lol, sorry to blank you - I'm not actually online atm (EOY leave :-D) How's things?
<hpidcock> tlm: can you review this plz https://github.com/juju/juju/pull/11044
<thumper> veebers: I thought it could have just been a bouncer reconnect
<thumper> veebers: I'm good, you?
<thumper> veebers: we should catch up for a coffee sometime
<veebers> thumper can't complain - busy with the boy. Aye I would be keen!
<thumper> veebers: he must be getting a lot bigger now
<veebers> thumper grows faster than a weed! On a fine day we could go play a round of disc golf if you wanted something more energetic than coffee :-D In the week after xmas  I could bring Link too
<tlm> hpidcock: sure
<thumper> veebers: not sure how energetic I'll feel :)
<thumper> babbageclunk: I think I need you again
<veebers> :-D
<wallyworld> hpidcock: and here it is https://github.com/juju/juju/pull/11045
<wallyworld> babbageclunk: you ready for me to look at your test issue?
<hpidcock> just a casual 222 files changed
<wallyworld> mostly imports :-)
<thumper> hpidcock, babbageclunk: https://github.com/juju/juju/pull/11046 for 2.7 merge
<thumper> can I get you two to cast your eyes over it to make sure I didn't fubar it
<hpidcock> thumper: yep, the files I was concerned about look how they should
<thumper> hpidcock: coolio
<hpidcock> wallyworld: I'm halfway and the green lines are starting to merge with the red lines haha I'm going to take a break from this PR for a bit
<wallyworld> sure, np
<babbageclunk> thumper: looking
<wallyworld> babbageclunk: so in https://github.com/juju/juju/pull/11013, what test is it that is failing?
<babbageclunk> wallyworld: hang on, getting you a link...
<wallyworld> and PR has latest code pushed?
<babbageclunk> it's in api/crossmodelrelations
<babbageclunk> yup
<babbageclunk> wallyworld: https://github.com/juju/juju/pull/11013/files#diff-d93493a140cf12285d568802cca83761R363
<wallyworld> righto
<babbageclunk> fails with: https://paste.ubuntu.com/p/wwgkyScvFY/
<babbageclunk> Instead of coming in as something that I can assign a value to, result comes in as just interface{}
<babbageclunk> Presumably it's because of the dance that happens with the commonWatcher inside the client-side watchers (constructing a new result type and passing it around as interface{})?
<wallyworld> not sure yet, will look
<wallyworld> just finishing a fight with go dep. go dep sucks
<babbageclunk> it's just dep
<babbageclunk> thanks - no rush, still wrestling with the remoterelations worker tests
<hpidcock> thumper: you still handling that forward port?
<thumper> hpidcock: yeah, got an expected error
<thumper> in babbageclunk's stuff
<thumper> babbageclunk: may need your assistance again
<babbageclunk> ok
<thumper> that was easier than I thought it was going to be
<thumper> ... which is good
<babbageclunk> thumper: normally it goes the other way
<thumper> babbageclunk: true that
<wallyworld> babbageclunk: i'm not sure either at this point how to deference that ptr. Goland knows how to so it clearly can be done
<wallyworld> babbageclunk: actually, this works, but need to figure out how to do the assert
<wallyworld> 				res := reflect.ValueOf(result).Elem()
<wallyworld> 				res.Set(reflect.ValueOf(&params.RelationUnitsWatchResult{}))
<wallyworld> 				//c.Assert(res, gc.FitsTypeOf, &params.RelationUnitsWatchResult{})
<wallyworld> 				*(res.Interface().(*params.RelationUnitsWatchResult)) = params.RelationUnitsWatchResult{
<wallyworld> 					Error: &params.Error{Message: "STOPPED"},
<wallyworld> 				}
<hpidcock> you should be able to dereference a interface ptr https://play.golang.org/p/mlyAZHqvWPJ
<wallyworld> yeah, that works need to see if it works with the assert stuff
<wallyworld> hmmm, we still need all the reflect machinery to wrie stuff up. but can add a check to start with and avoid the checker
<wallyworld> 				_, ok := result.(interface{}).(*params.RelationUnitsWatchResult)
<wallyworld> 				if !ok {
<wallyworld> 					c.Fail()
<wallyworld> 				}
<wallyworld> 				res := reflect.ValueOf(result).Elem()
<wallyworld> 				res.Set(reflect.ValueOf(&params.RelationUnitsWatchResult{}))
<wallyworld> 				*(res.Interface().(*params.RelationUnitsWatchResult)) = params.RelationUnitsWatchResult{
<wallyworld> 					Error: &params.Error{Message: "STOPPED"},
<wallyworld> 				}
<wallyworld> babbageclunk: the above will unblock for now at least
<thumper> https://github.com/juju/juju/pull/11047 for someone...
<thumper> provides exposing the underlying replicaset status in juju_metrics and juju_engine_report
<wallyworld> thumper: done
<thumper> wallyworld: ta
<wallyworld> tlm: you going ok on the pylibjuju bug?
<tlm> bug yes
<tlm> python venv no
<wallyworld> joy
<wallyworld> hpidcock can probs help
<wallyworld> don't forget to add a trello card
<tlm> it will work soon, hpidcock has been. Having an issue installing requirements. Might be a version mismatch
<tlm> yep will do now
<wallyworld> ty
<hpidcock> wallyworld: I won't let him drown
<wallyworld> hpidcock: did the pr explain ok how bakery.v2-unstable in places still?
<hpidcock> wallyworld: haha yep makes sense sorry. I must have read it. Went in this ear and out the other
<wallyworld> no worries, sorry about the snark :-)
<hpidcock> I appreciated the snarky comment
<tlm> rage quit, problem is because python remove a function from an interface between 3.7 3.8. So much for backwards compatibility
<hpidcock> go 1.0 promise keeps me loving go
<hpidcock> wallyworld: I'm happy with the PR now. Hopefully it lands without ð¥
<wallyworld> hpidcock: awesome, and many thanks, those sorts of prs are horrible to review (and even worse to write, took me ages to get stuff sorted).
<hpidcock> they are fine, one day I'll return the favour with a 1000 file PR :P
<wallyworld> huh, only 1000, i eat then for breakfast
 * thumper EODs
<thumper> see y'all tomorrow
<hpidcock> wallyworld: can a subordinate unit be a subordinate to multiple parents?
<hpidcock> hmm I dunno if that makes sense
<wallyworld> no, you need to install the charm a second time and alias the app name
<hpidcock> ok
<hpidcock> weird how the "subordinate-to" field is an array
<wallyworld> hmmm, maybe i'm wrong then
<wallyworld> i would have been 99.9% sure i was right
<hpidcock> yeah I'm getting more and more confused as I read the code
<hpidcock> processApplicationRelations in apiserver/facades/client/client/status.go
<hpidcock> makes me think it "could"
<stickupkid> I find it interesting that on first use of juju, we break --format directives :|
<gnuoy> stickupkid, do you know when the next release to pypi might be for libjuju ?
<stickupkid> gnuoy, might be worth pinging rick_h
<gnuoy> stickupkid, ack, thanks
<rick_h> gnuoy:  sorry, it'll be after the break I think. There's some WIP that's going into the next release for some missing items that we're doing on roadmap
<gnuoy> rick_h, sure, np, thanks
<rick_h> gnuoy:  the other half of Juju is doing them so I don't have really solid insight into what % of the way they are but it feels a bit like there's another weekish of work there
<achilleasa> hml: I am looking at the code in runner/debug/server.go:43. Can you tell how it figures out what script to run?
<hml> achilleasa:  looking
<hml> achilleasa:  I think i know - HO?
<achilleasa> give me 5'
<hml> achilleasa:  sure - itâs related to juju debug-hooks
<hml> achilleasa:  a hook is not actually run, just does setup to the debug-hooks tmux session to let the user know what hook would have been run.  so the user can run it themselves and debug the results, try again etc.
<hml> we do need a way to âhookâ into that for process-hook.
<achilleasa> hml: can you join daily?
<hml> achilleasa:  omw
<babbageclunk> wallyworld: ah, so it seems the problem is that it's an interface{} wrapping another interface{} wrapping the real type, and the checker machinery is only going down one level?
<wallyworld> babbageclunk: yeah, i think that's the case
<babbageclunk> awesome - thanks for picking that apart! Think I've got all of the other tests fixed, just incorporating that now.
<wallyworld> awesome
<babbageclunk> wallyworld: hmm, I don't think that does it - that code always succeeds, even if the result type is wrong
<babbageclunk> ie, I've changed the newResult func to use the wrong type, and I can't get the test to fail
<wallyworld> hmmm, well that sucks
<wallyworld> babbageclunk: this line is meant to cater f rot that
<wallyworld> _, ok := result.(interface{}).(*params.RelationUnitsWatchResult)
<wallyworld> ok should be false if the type is wrong surely?
<babbageclunk> doesn't seem to fail...
<babbageclunk> wallyworld: oh yeah - that fails, but it also fails if the type is right.
<hpidcock> small forward port from 2.7 - develop https://github.com/juju/juju/pull/11048
<babbageclunk> hpidcock: did you have any conflicts?
<hpidcock> 0 conflicto
<babbageclunk> sweet
<babbageclunk> I'm going to get so many when I merge the remaining cmr/appdata stuff
<babbageclunk> really looking forward to it
<hpidcock> pffft, you'll only have 5000
<babbageclunk> hpidcock: approved anyway
<hpidcock> thanks :)
<wallyworld> babbageclunk: i ran the unit test with the code i pasted and it worked as expected when the type was correct
<wallyworld> i didn't test when the type was wrong, but i can't see how it wouldn't fail
<babbageclunk> :(
<babbageclunk> might try in the debugger
<wallyworld> so it passes for you? but dosn't fail?
<babbageclunk> no, that check always fails
<babbageclunk> if I take it out, the res.Set always succeeds
<wallyworld> whaaaat
<babbageclunk> ikr
<wallyworld> maybe get someone else to pull the code and try it
<babbageclunk> Looking at the watcher code I can see that I'm missing a case where the watch result has an error - I'm going to handle that and then tweak the test some more
<babbageclunk> wallyworld: you don't believe me! It's true though
<hpidcock> I'm happy to help, let me know
<babbageclunk> thanks hpidcock - just trying something else, will v likely hit you up after that
<babbageclunk> ugh, trying to read the json unmarshalling code to see how it manages to store info into the result in this circumstance
<babbageclunk> yeah, that's too Lovecraftian for my taste
#juju 2019-12-18
<thumper> would someone like to try and bootstrap develop on azure please? to check bug 1856739, has the potential to be a weird apt issue
<mup> Bug #1856739: Can't bootstrap juju-2.8-beta1 on azure <juju:New> <https://launchpad.net/bugs/1856739>
<thumper> here's a PR for someone that wants to understand multiwatchers: https://github.com/juju/juju/pull/10931
<thumper> hpidcock, babbageclunk ^^?
<babbageclunk> thumper: uh, just trying to get my appdata stuff finished...
<thumper> babbageclunk: no worries
<hpidcock> I'll have a look in a sec
<thumper> thanks hpidcock
<babbageclunk> wallyworld: ok, using json.Unmarshal seems to work! Although now I have a race where the watcher loop can be finished (so .Wait returns) while the watcher commonLoop is still running - so sometimes .Stop is called, and sometimes it's not
<babbageclunk> I'm just going to poll the call count in the test until there are 5 and then stop
<babbageclunk> I mean do the assertino
<babbageclunk> ion
<wallyworld> we do that elsewhere too
<wallyworld> ie poll the call count
<babbageclunk> wallyworld: actually, I changed the watcher to start the commonLoop with tomb.Go so it automatically waits for it to finish. It seems like the other watchers should do that too? Won't do it in this change though.
<hpidcock> thumper: added some questions to your PR
<timClicks> thumper: I'm able to bootstrap to azure with 2.8-beta1
<wallyworld> babbageclunk: sounds reasonable i think, but would need to see the code
<babbageclunk> wallyworld: it's up now: https://github.com/juju/juju/pull/11013/files#diff-b9ff1f17db1e956ba20a1a341ee1dfd1R444
<wallyworld> ok
<wallyworld> babbageclunk: so in all other watchers we just run commonLoop() outside the tomb, and that means the tomb doesn't wait for it as you point out. i wonder why we have not ssen issues before now
<wallyworld> it seems reasonable what you did
<babbageclunk> wallyworld: cool cool
<babbageclunk> wallyworld: yeah, I guess it just hasn't caused any problems that the commonloop might still be hanging around?
<wallyworld> guess not
<wallyworld> babbageclunk: what the the resource changes for? just getting to that bit
<wallyworld> babbageclunk: is it still draft? i gave a +1
<kelvinliu> wallyworld: I just pushed a build7 of tjuju, it's still failing with same error, i don't think they alllowed tjuju at all
<wallyworld> kelvinliu: ah damn, ok. they told me they did. i reckon we try normal juju in latest/edge
<kelvinliu> wallyworld: from Jamie's email, I think what he did was he manually approved the build 6 that I pushed this Mon.
<wallyworld> ah bollocks, ok. let's just do edge and go from there
<kelvinliu> wallyworld: so we just land my PR, revert the PR if anything wrong?
<wallyworld> yup
<kelvinliu> wallyworld: +1 plz https://github.com/juju/juju/pull/10857
<wallyworld> kelvinliu: looking
<wallyworld> lgtm ty
<kelvinliu> thx
<thumper> hpidcock: I should have actually mentioned that most of the implementation has just been lifted from the state package
<thumper> I just moved the control of the goroutine to a real worker and hooked things up
<babbageclunk> wallyworld: oh thanks! just finishing the featuretest
<hpidcock> ahh ok
<stickupkid> manadart, have you seen this one before? https://paste.ubuntu.com/p/99x2ttBMrv/
<manadart> No, but is snapd running?
<stickupkid> it would seem not, this is from a CI test
<stickupkid> this is REALLY interesting https://paste.ubuntu.com/p/8dJFv9dCHR/
<stickupkid> juju barked when attempting to deploy a basic bundle
<stickupkid> CR anyone https://github.com/juju/juju/pull/11049
<manadart> stickupkid: Approved.
<manadart> My apt cacher recent history says I've saved 40GB of downloads :) Killing it for repeated LXD controller spin-ups.
<manadart> stickupkid: Boom. https://github.com/juju/juju/pull/11050
<stickupkid> manadart, wow! NICE
<stickupkid> manadart, let me look
<zeestrat> manadart: might I ask how you have setup your apt cacher? just apt-cacher-ng and bootstrapping with apt-http-proxy and apt-https-proxy set as model-defaults?
<stickupkid> zeestrat, we have a discourse post on it, one second
<stickupkid> zeestrat, https://discourse.jujucharms.com/t/lxd-bootstrap-apt-cache/558
<zeestrat> stickupkid: ah, great. thank you very much!
<parlos> Good evening Juju!
<parlos> Good Afternoon Juju!
<stickupkid> parlos: Afternoon :D
<parlos> Once a model is deployed, would it survive if the controller is removed (power-off style).
<stickupkid> parlos, as long as it's not on the same machine, I would assume so, although I wouldn't advice it. The model would be in a broken state as it couldn't reach the controller, but the actual application you deployed would work.
<parlos> stickupkid, once the controller comes back would it reconnect to the deployed model(s)... Or do they only exist in memory?
<stickupkid> parlos, it would come back up as long as the controller hasn't changed
<stickupkid> parlos, the data is stored in mongo, so all is good from that side
<stickupkid> parlos, I would recommend you set your controllers up as HA, that way you can restart controllers and still keep connection to a model
<parlos> stickupkid, eventually once enough 'nodes' becomes availible.
<parlos> stickupkid, have to figure out the 'best' way to upgrade a juju/maas deployment, without breaking the deployed models.. Any hints?
<stickupkid> parlos, you can upgrade a model and a controller if required
<stickupkid> parlos, we have some good documentation around it - https://jaas.ai/docs/upgrading
<rick_h> parlos:  sorry, what's the maas/controllers on?
<rick_h> parlos:  e.g. is this some hyperdense thingy?
<rick_h> parlos:  so the running models will just run. You could go to every machine and shut down jujud and they'll keep giving out services. As Simon notes there's some docs around how to upgrade (controller first, other models after)
<rick_h> parlos:  but if you think you've got a tricky situation it'd be good to understand what interesting bits you have before we give you bad advice
<parlos> stickupkid, I've upgraded juju controllers, that works fine, but the maas causes some issues. Afair I have issues with network spaces.
<stickupkid> parlos, any details on that?
<stickupkid> parlos, the issues?
<parlos> rick_h the situation is simple, I've got maas deployed on a single small server, this serves juju that has one controller deployed from it + a couple of models.
<rick_h> parlos:  ok cool
<parlos> stickupkid, the spaces juju knows does not match the spaces that configured in maas.
<rick_h> parlos:  check out using reload-spaces to correct any changes in there
<parlos> rick_h, will do so.
<parlos> rick_h; reload-spaces runs, but does not update the spaces. :(
<rick_h> parlos:  what version of Juju?
<rick_h> parlos:  it'd be good to get a bug with what maas says, what reload-spaces --debug says, etc
<parlos> juju --version; 2.7.0-bionic-amd64
<rick_h> parlos:  ok yea please let us know what you're getting in a bug. We did some work to improve reload-spaces a little bit in 2.7 and if it's not behaving it'd be good to know why it's not happy
<parlos> RPC connection died,, seems bad.  (connecting,dailed, established,...)
<parlos> https://pastebin.com/B8U3Pde5
<rick_h> parlos:  yea, so it'd be good to see the controller side of that to see what it did and why
<parlos> maas controller?
<rick_h> parlos:  juju controller
<parlos> ok, so ssh to controller and grab the log?
<stickupkid> parlos, juju debug-log --replay --no-tail -m controller
<parlos> stickupkid and rick_h, seems that the controller has a problem (Warning) with the cleanup of a model that was destroyed a couple of weeks ago.. :( Cant see anything related to the reload call.
<parlos> ok, so I did a debug-log dumped the output to a file, ran the reload spaces, then another dump to a different file. Then a diff on those, no difference. It seems that reload spaces did not generate any log entry...
<hml> rick_h: parlos: reload-spaces was enhanced to add new information from maas spaces, it will not change existing data, nor delete it.  those two items were for a later cycle
<parlos> hml; so if a space has changed on maas, you basically need to launch a new controller?
<hml> parlos:  adding a new model might work.
<hml> parlos:  if a space has changed with existing machines in the model, juju  may loose connectivity to the units etc.
<hml> parlos:  therefore there is a lot of work on jujuâs side to make the changes and inform the user appropriately.  asaik, itâs on the radar of work to be done.
<parlos> hml: it is correctly understood that when a model is deployed it grabs the 'current' network spaces from maas. I'd understand if they dont change as long as the model is deployed.
<parlos> hml: caused confusion, as the controller is just a 'model' which grabbed somes spaces when it deployed.. and has restricted update capabilities.
<achilleasa> hml: can you take a look at https://github.com/juju/juju/pull/11051 when you are back?
<achilleasa> rick_h: if you have a few min can you please double-check the QA steps just in case I missed something?
<hml> achilleasa:  sure.
<rick_h> achilleasa:  definitely
<hml> achilleasa:  this may take a bit, it appears that only part of the original change was removed.  makes comparisions interesting
<skay> what do I do when juju status shows a machine down that novo lists as up? I ssh'd to it and restarted jujud-machine-38 already.
<rick_h> skay:  if juju shows it as down then it things the jujud agent isn't running on that machine
<rick_h> skay:  it'd be worth ssh'ing to it and seeing if there's some reason the service cannot start?
<skay> rick_h: status does not show that service in a failure state
<rick_h> skay:  so when you say "machine down" I assumed you mean status shows the machine agent as down and not talking
<skay> rick_h: correct. and when I do `novo list` it shows the machine as active. and when I `ssh ubuntu@<ip>` I am able to. and I can then run sudo systemctl commands on it
<skay> I restarted jujud-machine-<n> and didn't get an error
<rick_h> skay:  that's good, then does it show back up in status?
<rick_h> skay:  if not, can you check the juju machine log for that machine?
<rick_h> /var/log/juju/machine....
<skay> rick_h: oh, it shows as inactive
<skay> will do
<rick_h> hmm, inactive seems an odd state
<skay> rick_h: weird. here's the last bit of the log. unauthorized access. https://paste.ubuntu.com/p/PFkw3dnc8K/
<rick_h> skay:  :( that seems ungood. The password on the machine for authenticating isn't valid. Any interesting history on the model?
<rick_h> was it migrated or upgraded or something else in the recent past?
<skay> rick_h: I don't think so. only weird thing I can think of is that I first used it to deploy xenial machines, and now I'm using it to deploy bionic ones. which isn't really weird, right? I don't need to create a new model to deploy a different series do I?
<babbageclunk> wallyworld: straightforward merge 2.7 to develop? This is before the CMR/appdata one that I'm expecting to have some conflicts with the migration work. https://github.com/juju/juju/pull/11052
<skay> the model is version 2.6.10
<wallyworld> babbageclunk: ok, looking
<babbageclunk> thanks
<skay> I am thinking of destroying the machine and trying hte deployment over
<skay> everything else worked
<rick_h> skay:  no, no need for a different model for a different series
<skay> rick_h: do you want me to try anything else before I kill the machine?
<rick_h> skay:  if the machine can go down/back up let's see if that works. I can't think of a good reason why the login would fail like that
<skay> (running mojo deploy manifest now... tick tock)
<skay> looking good. thanks, rick_h
<babbageclunk> wallyworld: and now the merge for the appdata-cmr worker stuff to develop? https://github.com/juju/juju/pull/11053
<wallyworld> sure
<wallyworld> babbageclunk: so this is a forward port of that one commit from 2.7 with conflicts resolved?
<babbageclunk> wallyworld: yup
<babbageclunk> thanks!
#juju 2019-12-19
<babbageclunk> hpidcock, wallyworld: easy review to fix new intermittent test failure (oops)? https://github.com/juju/juju/pull/11055
<babbageclunk> oh, when you get out of your meeting is fine
<wallyworld> babbageclunk: you could also just do a SameContext check with the call names slice
<wallyworld> *SameContent
<wallyworld> i guess ther emight be other ones there you want to ignore?
<thumper> wallyworld, hpidcock: wiring up the multiwatcher worker: https://github.com/juju/juju/pull/11056
<hpidcock> wallyworld: no rush but would be good to get eyes on it https://github.com/juju/juju/pull/11054
<wallyworld> ok, soon, after meeting
<wallyworld> hpidcock: lgtm, ty
<hpidcock> thumper: just quickly testing locally, but the code looks good, one comment but it's not a showstopper
<thumper> hpidcock: I'm doing the rename for you
<hpidcock> ð
<thumper> hpidcock: is that a smily face?
<hpidcock> I hope so
<thumper> I see a rectangle
<thumper> yay unicode
<hpidcock> you need yourself a real font bloated with emoji
<thumper> hpidcock: https://github.com/juju/juju/pull/11056/commits/3ad00c0a401dcb4e8ca497c9e260bf9b79459113
<hpidcock> unicode smiley face here that thumper doesn't have
 * thumper EODs
<thumper> except for that really late call in four hours
<manadart> stickupkid: Not too big: https://github.com/juju/juju/pull/11059
<stickupkid> manadart, this PR looks like it broke windows, just trying to work out why https://github.com/juju/juju/commit/1bf87fbf14c637e24f800e7f605a719cce1f7e9a
<manadart> stickupkid: CMR redirect to migrated model is now ready for review: https://github.com/juju/juju/pull/11025
<stickupkid> manadart, https://github.com/juju/version/pull/7
<stickupkid> no jenkins job for version
<stickupkid> :|
<manadart> Small patch for intermittent test failure: https://github.com/juju/juju/pull/11060
<manadart> Closed that one and targeted 2.7 https://github.com/juju/juju/pull/11061
<skay> juju status hangs even after I've restarted the agent on machine-0. what else should I try before nuking everything
<skay> and in a bigger context, I'm trying to figure out why one of the actions on my charm cannot import from charmhelpers. the dependency is in wheelhouse
<skay> it was working a while back, but I recently rebuilt it with upgraded dependencies
<rick_h> skay:  status shouldn't hang though? you're running it from the client and it's hanging waiting for input from a machine agent?
<skay> rick_h: I don't know why it's hanging. I ran bash with lxc exec to get to the machine to restart its agent. I thought perhaps it was waiting on that
<rick_h> skay:  can you run with --debug and see if there's any output?
<skay> rick_h: doing so now. https://paste.ubuntu.com/p/tdDZrNykkh/ guessing it will timeout waiting connect to the API adress. so, not the agent.
<skay> rick_h: I'm not sure what to check on my machine. I've checked for any juju services and only see the snaps https://paste.ubuntu.com/p/tW6TjZDb4R/
<stickupkid> hml, this is the fix for windows bootstrapping https://github.com/juju/juju/pull/11062
<stickupkid> hml, any chance of a CR?
<hml> stickupkid:  sure
<stickupkid> if we ever do a 2.7 dev release, it'll break there, so I'll have a look at back porting it
<hml> stickupkid:  rgr,
 * skay afks a bit
<rick_h> skay:  sorry, watching the town hall. Yes that looks like the client cannot reach/connect to the controller
<rick_h> skay:  so curious if you can ping/ssh to that machine/ip
<skay> rick_h: yes. whoops. forgot about the th
<skay> rick_h: ok, so it's weird. lxc list doesn't show a machine with that IP. anyway, I ssh'd in and restarted jujud and juju-db. status worked. it shows one machine down! let me check the log to see if the weirdness happened with the password
<rick_h> skay:  :/
<skay> rick_h: oh wait, it's not down. maybe I was looking at the wrong screen
<rick_h> skay:  ok apologies but the whole thing is confusing to me at this point
<skay> rick_h: no, it was down, but no longer. yeah, me too. sorry.
 * rick_h tries to be helpful by just standing still lol
<skay> if I managed to ever reproduce the down machine situation in a less confusing way I will ping back here
<rick_h> definitely, always eager to find issues/get them addressed
<skay> I am seeing this in the logs, I'm not sure what's up with that. but let me keep working since things are just confusing at this point. https://paste.ubuntu.com/p/RMnw4FwxSW/
<rick_h> skay:  hmmm, that's failure for a controller to connect to mongodb and looks like it's trying locally
<rick_h> skay:  might be worth checking syslog/mongodb logs to see if it's not happy
<rick_h> if your db is unhappy state can be fishy
<skay> I think it is unhappy https://paste.ubuntu.com/p/g8BQhKCwz8/
<skay> I'm going to afk for real a while now
<rick_h> skay:  hmm yea that's going to be an issue and cause the controller to restart/not work
<thumper> Here's a PR that was very satisfying: https://github.com/juju/juju/pull/11063
<skay> back again from context switch
<skay> I have an action that is failing because it cannot import charmhelpers. my action imports action_<foo> from hookenv.
<skay> it worked about a year ago. has anything changed drasticly such that I need to rewrite my action? I am baffled
<rick_h> skay:  I know in the last year we changed so it only pulls from the venv and not system packages by default any longer
<skay> rick_h: ok, so I'm running debug-hooks and actually wondering where the venv is!
<skay> I couldn't find it. I figured it must be getting invoked somehow?
<skay> I want to verify that the packages I think I'm installing are actually installed (I am guessing 100% they are not)
<skay> though wait, my reactive stuff is able to import charmhelpers. I am feeling pretty stupid
<skay> do I have to change my action to activate the venv? ew?
<rick_h> probably?
<rick_h> since actions are in a different folder and not dispatched with the framework addons
<rick_h> so you'd need to activate the venv/set your python path to the venv to share libaries/etc
<skay> hmm. where is the venv so that I can do that?
<skay> I don't know what path to add
<skay> the docs for writing actions show an example in bash, so they get to use the command line tools
<rick_h> skay:  you'll have to look into instance. on the phone atm, sudo updatedb && locate python | grep bin ?
<skay> got it. thanks!
<thumper> thanks wallyworld for the review
<wallyworld> np
#juju 2019-12-20
<wallyworld> thumper: everyone is busy fixing CI issues, or away on leave... i'd love to land this today https://github.com/juju/juju/pull/11058
<thumper> wallyworld: I'll look
<thumper> wallyworld: I've got a question for ya
<thumper> apiserver/facades/agent/uniter/uniter.go:1478
<thumper> if err is nil, we still log
<thumper> we got a lot of those error logs during my scale testing
<thumper> it seems that we should log if err != nil, but not if there is no error
<thumper> does that sound right?
<wallyworld> thumper: looking at code
<hpidcock> wallyworld: looks like the jujud-versions.yaml works fine with build number https://www.irccloud.com/pastebin/aCgSCcrp/
<wallyworld> thumper: so in theory, we should always know the address of the machine the unit is running on, so we should always be able to set the address info. for k8s, that's not always the case. for iaas, we either use the public address for cmr or fall back to the private one if needed. so if we are logging that we need to understand why
<thumper> wallyworld: I saw it a huge number of times in my scale testing
<thumper> there was no error
<wallyworld> which i think means we don't have a unit private address whic seems weird
<wallyworld> we could drop to debug but we'd want to understand what's happening, hence it was done a sa warning
<thumper> well, the message gives us no info
<thumper> it just says : can't do it: <nil>
<wallyworld> it can't - all it knows is that there's no unit address
<thumper> so not really useful
<wallyworld> it may be that the unit enters scope before the address is know
<wallyworld> in which case the default relation data will be unpopulated
<wallyworld> it may be that only old charms relay on that default data
<wallyworld> as new charms should be using network-get
<wallyworld> so dropping the severity may be ok
<wallyworld> hpidcock: it looks like you created a build yaml by hand with the correct sha?
<hpidcock> yeah, testing what the snap would do
<wallyworld> look ok then
<wallyworld> i think
<hpidcock> yep, just testing without build number as well now
<wallyworld> thumper: so charms should be resiliant to delayed address info - they need to handle it when the address info is not known up front, especially for k8s charms. it's just that historically they haven't catered for this and expected  juju to always seed the relation data with private-address
<wallyworld> so i think we can  consider this as not something worth a warning
<wallyworld> and if charms break that's on them to fix
<thumper> hmm, ok
<wallyworld> i mean, it is possible a relation can be formed and the address info is not yet known
<wallyworld> there's not much we can do about that
<wallyworld> especially for say k8s charms like gitlab
<wallyworld> where the relation comes up and then that triggers the pod starting
<wallyworld> and then we get the address
<wallyworld> thumper: ta for review. were you going to drop the warning to a debug or something given for many k8s charms it will just be noise, and even for iaas charms, they could aguably not expect to rely on that info
<thumper> wallyworld: I'm just prepping the PR
<thumper> wallyworld: https://github.com/juju/juju/pull/11064
<wallyworld> looking
<wallyworld> thumper: lgtm, we have found in a few places stuff hitting not found during teardown. whack-o-mole
<thumper> wallyworld: yeah
<thumper> wallyworld: I keep filing bugs thinking tlm could fix this...
<wallyworld> perhaps he could, tag them as bitesize or something
<tlm> I only want big ones :)
<wallyworld> hpidcock: have you managed to check all the build num fix scenarios?
<hpidcock> wallyworld: I've found a snag, the versioned tools dir
<hpidcock> testing just having SharedToolsDir return the dir without buildnumber
<wallyworld> ah yes
<hpidcock> I'm not sure how the uploaded tools are unpacked. Does the bootstrapping client scp them over and untar it?
<wallyworld> essentially yeah
<hpidcock> including simplestreams?
<hpidcock> or does simplestreams just get wget'd onto the machine?
<wallyworld> see github.com/juju/juju/cloudconfig/userdatacfg_unix.go
<wallyworld> line 346
<wallyworld> that's where the dir is first created
<wallyworld> and just underneath is where the tools are downloaded
<wallyworld> the url in the tools struct is i think streams.c.c
<wallyworld> at bootstrap anyway
<wallyworld> after that the controller caches them
<stickupkid> manadart, https://github.com/juju/description/pull/70
<stickupkid> manadart, this should prevent the panic when migrating consumers
<manadart> stickupkid: Looking.
<stickupkid> ta
<stickupkid> This is blocking me from testing the migration error, so hopefully I'll be able to see what's the cause soon
<Laney> hey jujuers
<rick_h> hey Laney
<Laney> got a question for you!
<Laney> Is there a way to check if an application has an upgrade available? I've got a `set -e` shell script which is running `juju upgrade-charm` over all of them, but it bails out if there is no update available because that causes an exit 1.
<rick_h> Laney:  juju status shows that there's an upgrade available
<rick_h> Laney:  the controller checks once a day
<Laney> ah, can I make it check in that script then?
<rick_h> yea, I'm just trying to dbl check where that shows up
<Laney> it's usually that I release a new version of the charm and want to run this upgrade-all-the-things script to roll it out
<Laney> once a day wouldn't be great given that :-)
<Laney> or maybe there's a better way of doing all of this
<rick_h> Laney:  so juju status --format=yaml and     can-upgrade-to: cs:haproxy-55
<rick_h> Laney:  so I'd update your script to run that once a day, iterate the applications in the YAML, and check for the "can-upgrade-to"
<Laney> alright, thanks!
<rick_h> Laney:  no problem, let me know how it goes maybe if you've got a cool script drop it in discourse for folks to see
