/srv/irclogs.ubuntu.com/2012/02/02/#juju.txt

m_3med_: right back at you... thanks man01:35
med_heh.02:35
hazmatSpamapS, i'm a fan of juju-tools02:45
niemeyerGood morning everybody11:48
Tribaalhi niemeyer11:54
niemeyerTribaal: Heya11:54
niemeyerm_3: ping13:32
vilaSpamapS: DNS lookup failed: address 'store.juju.ubuntu.com' not found , known bug ?15:01
drussellhow far (if at all) are we along the road of having a decent api for juju?15:46
SpamapSvila: yes, you need to add '--repository path/where/your/charms/are local:charmname'15:55
SpamapSdrussell: juju has a rich cli API that is very stable. :)15:55
jcastrohazmat: we're signed up for lisa and I am going to do the submission soonish; I'm going to go for a lightning talk, a talk talk, and a charm school. Do you want to do the talk talk?15:55
jcastro(I can do lightning, and we can both do the charm school perhaps?)15:55
drussellSpamapS: rubbish for automation tho ;o)15:55
SpamapSdrussell: shell scripts are the oldest form of automation :)15:56
drussellSpamapS: hehehehe15:56
drussellSpamapS: are we looking to do anything extra? REST etc?15:56
SpamapSdrussell: there's a strong desire to have a REST api yes.15:57
drussellSpamapS: so a strong desire, but it's quite a way off?15:58
=== fenris is now known as Guest60985
drussellSpamapS: is there any kind of roadmap available?15:59
SpamapSdrussell: resources are severely limited and dedicated to providing features necessary for production usage. REST is just a nice to have.15:59
SpamapSlol15:59
drussellSpamapS: "lol == no" then :o)16:00
SpamapSdrussell: the link in the topic is a decent view of whats being worked on now16:00
drussellSpamapS: sure, have looked at the bug view, thanks16:01
hazmatjcastro, sounds good solo talk talk, duo school16:01
jcastrohazmat: ok you submit the talk and I'll submit the other 2. the important dates are here: http://www.usenix.org/event/lisa12/16:01
jcastrothe deadline isn't until May but if we can do this by say end of next week at the latest we'll be good to go.16:02
hazmatjcastro, thanks16:06
benjidrussell: my team is building a charm using Python scripts instead of bash and have the beginings of some thin (but helpful) wrappers around the juju commands16:17
hazmatbenji, cool16:28
koolhead17hi all16:33
_mup_juju/rest-agent-api r404 committed by kapil.thangavelu@canonical.com16:34
_mup_notes on a rest api16:34
hazmatm_3, drussell fwiw, these where the notes/spec i came up with on a rest api http://bazaar.launchpad.net/~hazmat/juju/rest-agent-api/view/head:/juju/rapi/rest-api.txt16:36
_mup_Bug #925567 was filed: restarted unit agents do not restore relation presence nodes <juju:In Progress by fwereade> < https://launchpad.net/bugs/925567 >16:40
koolhead17https://juju.ubuntu.com/charms?action=edit&template=SlideTemplate  says you are not allowed to edit, is this place supposed to keep custom slides design16:42
m_3hazmat: awesome... looking now16:43
m_3hazmat: thanks for including the classic restful version of the api too16:50
m_3hazmat: I love the fact that the /commands part should make it pretty quick to get a web-based api working16:52
hazmatm_3, indeed, the cli api effectively encoded as rest, its pretty useful.. also it becomes the backing for the cli16:53
hazmatworks well for automation16:53
m_3awesome16:54
=== niemeyer_ is now known as niemeyer
drussellbenji: thanks for the infoQ!17:09
drussellhazmat: nice! thanks for that, will take a look17:09
SpamapSkoolhead17: we don't let everyone edit the wiki because it is raw HTML ...17:13
koolhead17SpamapS: yeah. so i was wondering are we planning to put custom slides template there?17:14
koolhead17i have to make slide for my talk so i thought i could you the custom one :P17:16
hazmatniemeyer, not working with ethernet?17:17
niemeyerhazmat: It hasn't disconnected, but the speed is _awful_17:17
niemeyerhazmat: Can't hear a single word17:17
niemeyerI'm trying to do some jujuing here17:17
hazmatniemeyer, hmm.. okay.. good luck17:17
=== niemeyer_ is now known as niemeyer
=== koolhead17 is now known as koolhead17|zzZZ
arosalesm_3: thanks for filling in and representing a MongoDB@Boulder, did you get some good interest?17:33
m_3yeah, great audience level-wise... asked great questions17:34
m_3make a plea for more mongo-charmers help to extend the charms we have17:35
m_3s/make/made/17:35
arosalesm_3: cool, sounds like you wer able to get a MongoDB with replicaset up and running17:36
m_3yup... we had two environments going17:36
m_3one I set up ahead of time with a mongo replset (3 nodes) and a node.js app fronting that17:36
arosalesnice17:37
m_3one I spun up from scratch right there17:37
m_3we ran out of time for the second one to come up completely17:37
arosalessounds like you had some good stuff to show.17:38
m_3yeah, I think it went over well17:38
=== fenris is now known as Guest57960
arosaleshopefully folks will be enticed to join the mongo-charmers17:40
SpamapSm_3: I was excited to charm MediaGoblin because it uses MongoDB .. but then they announced they're going to SQL ;)17:41
m_3maria though?17:42
SpamapSm_3: no, sql alchemy... so in theory, any sql17:45
SpamapSm_3: I believe they're targetting sqlite and pgsql17:45
=== Guest57960 is now known as ejat
vilaSpamapS: oh, so 'local:' is to force juju to use --repo ?19:12
SpamapSvila: right19:18
vilaSpamapS: How do I create a repo for precise ? Put it somehwere with a precise dir underneath and then one dir per charm ?19:19
vilaSpamapS: Or is there a simpler way ? (I need the keystone charm and probably the other openstack related ones but keystone first)19:20
SpamapSvila: right thats how19:21
=== fenris_ is now known as Guest43512
=== Guest43512 is now known as ejat
hazmatm_3, SpamapS an experiment in generating test plans21:17
hazmathttp://paste.ubuntu.com/826934/21:17
hazmatthat's just from the dependency set not from the providers per se21:17
hazmatthere's some ambiguity in our dependency graphs that becomes apparent21:17
hazmat'nova' satisified by nova-cloud-controller and nova-volume21:17
hazmatand swift-proxy not being distinguishable from swift-storage21:18
hazmatthe nova one i think is a bug in the charms21:20
hazmatthe swift-storage vs. swift-proxy distinction is little harder to make out, they both provide and require 'swift'21:20
m_3hazmat: cool man21:37
hazmatadam_g, ping.. was wondering if you could shed any light on the 'nova' protocol provided by both nova-volume and nova-cloud-compute21:37
m_3so that's just depth-first walking as best you can?21:38
hazmatm_3, its a bit more than that21:38
hazmatm_3, its doing a combination of every subgraph traversal21:38
hazmatso for any given dependency there might be multiple implementors21:38
m_3gotcha21:39
hazmateach plan represents one of those dependencies be satisified by a different participant, the number of plans gets bigger exponentially21:39
hazmatas the depth of the graph increases21:40
hazmati'm thinking just solving each subgraph with one dfs traversal might suffice better21:40
hazmatto minimizing the plan set21:40
hazmatbut that misses some of the benefits of discovering interface changes that break parts of the graph, or discovering broken plans due to metadata21:41
hazmatit seems like some of this breakage is because charms can use the relation name as a primary distinguisher so the author doesn't need to pay as much attention to the interface in some cases21:41
hazmatat least thats how i assume the nova-volume/nova-cloud-controller both ended up working using the same 'nova' interface21:42
m_3that's something we can start trying to catch in chrm reviews21:44
adam_ghazmat: do you mean the 'provides' in the metadata of those charms?21:46
m_3might be worth trying to match interface first, then do a rough substring match on relation-name to charm-name to disambiguate21:46
m_3instead of... what... alphanumer on the charm-name for interface impls?21:47
hazmatadam_g, yup21:48
adam_ghazmat: IIRC (could be totally wrong here), i cannot create a charm that provides nothing, and only requires. those are just null place holders.  nova-volume and compute dont provide any service from Juju's POV. once they have relations to the database and message queue, they extend the service offered to the user by nova-cloud-controller (that is, the cloud as a whole)21:48
adam_gif thats not the case, i can remove the 'provides' section of the metadata21:49
hazmatyou can provide a charm which provides nothing, but thats not the point i was trying to illustrate, effectively nova-cloud-controller has an optional dependency on a 'nova-volume' protocol and a 'nova-compute' protocol21:49
hazmatthey plugin different into nova21:49
hazmattheir distinct protocols and dependencies that can be solved21:49
hazmatone can't substitute for the other21:49
hazmatadam_g, you still want a provides for the nova-volume and nova-compute charms to model their relation with nova-cloud-controller21:50
hazmatjust that its distinct for each21:50
hazmatright now its got nova-cloud-controller providing 'nova', with nova-compute depending on it, and nova-volume also providing it.. it sounds like you want both -compute and -volume to plugin as optional dependencies into -cloud-controller21:51
hazmatwhich would look more like cloud-controller depending on 'nova-volume' provided by 'nova-volume' and also depending on 'nova-compute' provided by 'nova-compute'.21:52
adam_ghazmat: this is for sake of modelling the over all relationship between charms, or the actual services? there is never a direct service relationship between nova-volume and nova-cloud-controller21:54
adam_gthat is, never 'juju add-relation nova-volume:foo nova-cloud-controller:foo'21:54
hazmatadam_g, just trying to establish the posssible relations for a service21:59
hazmatadam_g, right now nova-compute for example depends on 'nova' which is satisifed by 'nova-cloud-controller' and 'nova-volume' which is a bit suspicious22:00
hazmatadam_g, actually more succintly said.. trying to establish the dependencies for a charm, ie what's required to deploy nova-compute for example22:00
adam_ghazmat: so, if i follow, charms should describe the service they are providing: nova-cloud-controller provides 'nova', and charms that require 'nova' (even if there is no direct relationship between the units) should list this as an option requires?22:04
adam_g*optional22:04
adam_gi'll admit i wasn't giving the provides field much thought in the nova charms because it seemed to not make a difference, but if that needs to be fixed to accomdate external charm tools, ill gladly fix22:05
hazmatadam_g, yup, the problem arises in that nova-volume also provides 'nova' when really what it and nova-cloud-controller are providing are distinct, thanks22:05
hazmateven without the external tools, the declaration defines the possibility, a human could add those two together, even though that was not the intent, and get something not working, because the charm expectation was different.22:06
adam_ghazmat: so, would it be better if: cloud-controller provides cloud-controller:nova and (optionally) requires cloud-compute:nova-compute and instance-storage:nova-volume.  -volume + -compute both require cloud-controller:nova22:13
adam_g?22:13
hazmatadam_g, that works22:17
hazmathmm22:17
hazmatyup that works, the cycle is fine22:18
adam_gcool, running out to lunch. i'll update after22:18
koolhead17hi all23:34
m_3koolhead17: hey.. good to see you back at 17 :)23:40
koolhead17m_3: hehe :)23:40
koolhead17m_3: was going through log of juju session. it was great23:41
koolhead17though am scared of mongo/node.js23:41
koolhead17hifi stuff :P23:41
m_3koolhead17: thanks23:45
koolhead17okey i might be stupid to ask this but do we assume every user adding a repo via add-apt-repository would be knowing that he needs deps python-software-properties ?23:45
koolhead17 23:45
m_3the IRC talks are a hard format... it's important to be able to show examples, but ajaxterm (juju-classroom charm) isn't ideal23:46
koolhead17m_3: hmm. i would stick to wordpress :P23:47
m_3ha!23:48
m_3right23:48
SpamapSkoolhead17: all cloud images have python-software-properties since 10.1023:51
SpamapSm_3: I still want to make our infinite-scaling ajaxterm :)23:52
m_3SpamapS: yeah, that thought crossed my mind yesterday :)23:52
koolhead17SpamapS: i was going to bootstrap my JUJU instance from my oneiric box :D23:52
m_3SpamapS: it really would be a great set of charms... separating the "business logic" from the scalable presentation layer23:54
* koolhead17 is trying to run JUJU on AWS for the first time :)23:57
m_3koolhead17: awesome23:58
koolhead17SpamapS: thanks. Access Key ID == access key and Secret Access Key == secret key23:58
koolhead17m_3: to be honest am using this whole magic AWS infra for first time :PO23:58

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