/srv/irclogs.ubuntu.com/2011/07/07/#ubuntu-ensemble.txt

m_3bye baby02:12
m_3ok, wrong focus... sorry02:13
dvestalm_3 or hazmat: Earlier hazmat mentioned the exploration of the notion of co-locating service units in specification form.  Is that in reference to the upgrade, etc. documentation at https://ensemble.ubuntu.com/docs/ or are there other specs that I could find to see what's already been discussed about the topic?05:16
=== dvestal is now known as dvestal|away
kim0Morning folks08:20
=== koolhead11|Afk is now known as koolhead11
hazmatdvestal|away, re co-location not atm re docs10:37
=== daker_ is now known as daker
niemeyerHey Ensemblers13:34
niemeyerWhat are you Formulating today? :-)13:34
m_3niemeyer: morning13:52
m_3niemeyer: I'm debugging nfs this morning13:52
hazmatniemeyer, ensemble cli plugins and an ide13:52
m_3niemeyer: then planning on expanding node.js and starting on greenplum13:53
niemeyerhazmat, m_3: Mornings13:53
niemeyerm_3: Sweet13:53
niemeyerm_3: Wow :)13:53
m_3having a problem with empty endpoints in add-relation at the moment... probably just naming on my end13:54
hazmatm_3, awesome, which greenplum product out of curiosity?13:54
m_3hazmat: dunno... just popped on Mark's radar from conversations with Barclay's13:55
m_3hazmat: that's the first task... ping me with suggestions13:55
niemeyerm_3: What are you planning on node.js?13:58
m_3niemeyer: well I have a node.js "app" formula written13:58
niemeyerm_3: Interesting13:59
m_3but it doesn't do much other than deploy a noe.js app from a repo13:59
niemeyerm_3: What does it do to deploy the app?13:59
hazmatm_3, so greenplum has a couple different product lines, they focus on offering analytics w/ ides, on top of warehouse dbs, be it their own version of pg, hadoop, hive.. the latter is typically an ingestion into the former, they have a fairly sophisticated graphical toolchain that the target analyst market expects13:59
hazmati saw a nice demo of it at a local hadoop meetup14:00
m_3niemeyer: just installs nodejs packages and then pulls a node.js test app from github14:00
m_3niemeyer: then spins it up14:00
hazmatniemeyer, m3 i imagine its the same pattern for any language app server deployment, vcs config details, entry points, url mounting, dependency management, and db and proxy options14:01
m_3hazmat: yup14:01
niemeyerhazmat: Kind of14:01
niemeyerhazmat: It's the same problem, for sure14:01
m_3next is to figure out how to bind a db service and make it available to the node app14:01
niemeyerhazmat: But I'm curious about how to leverage the environment we're offering14:01
niemeyerhazmat: How to connect dbs etc14:01
m_3there's a different option too that we should build14:01
niemeyerhazmat: We can literally offer a PaaS for people, without having one14:02
hazmatniemeyer, wsgi, rails, nodejs are pretty similiar aspects here, i think their different formulas, but really they have the same responsibilities and deploy patterns14:02
m_3a node.js _hosting_ service14:02
m_3similarly for rails14:02
hazmatniemeyer, sure, that's the rather the point of ensemble.14:03
niemeyerhazmat: Yep.. that's why I'm asking then.. how can we do more than simply "deploy code in a server" with a formula14:03
m_3nodejitsu has an open source framework for hosting node14:03
m_3I'll distinguish them by name for now14:05
m_3'rails-app' -vs- 'rails'... similarly for node14:05
hazmatm_3, there are literally dozens of the platform specific paas options14:05
hazmatalthough not many are opensource14:05
m_3hazmat: yup14:06
m_3hazmat: again, please feel free to suggest priorities14:06
m_3as I understand, we need a base set of formulas14:07
m_3that just keeps building14:07
hazmatm_3, your priorities sound good (nodejs & greenplum), i'd like to see more scalable infrastructure components so glusterfs, cassandra, elasticsearch14:09
m_3hazmat: yeah, me too14:09
m_3hazmat: negronjl has cassandra working I think14:10
hazmathadoop would be interesting to look at as well, especially  in comparison to the python whirr implementation (their project specific ec2 scripts).. the biggest missing thing i see there is better volume management14:10
hazmatyeah.. i should check out the  latest principia14:11
m_3db service binding was easy in railsapp, there's pretty much a set way to do it in the app14:11
m_3harder for node b/c it's a lot more unstructured14:11
m_3I'll pick _a_ way to show as an example14:11
m_3hadoop's in there too14:11
m_3hazmat: I'll check out whirr14:12
hazmatm_3, feel to have a formal entry point into the node app, like have a yaml file with this data14:12
m_3hazmat: right, one I'll have to structure14:13
m_3hazmat: maybe using mongo if the peer stuff's up14:13
hazmatm_3, sounds good, which reminds me i should push my mongo formulas14:14
m_3hazmat: yes please!14:14
m_3yeah, I'm bad about that... I need to push it all to lp14:15
m_3branch naming was preventing some of my pushes14:15
m_3(i.e., my misunderstanding of branch naming rqmts <grin>)14:16
m_3I'll rtfm14:16
m_3hazmat: what sort of IDE stuff were you talking about earlier?14:17
hazmatm_3, more of a web interface that would allow for interactive formula development with instrumentation14:18
m_3hazmat: nic14:18
m_3hazmat: I want blocks!  with wires between them!  <grin>14:19
hazmatm_3, i think we'll need cli and server plugins first, but the ide itself would likely come after some sort of rest api server14:19
m_3hazmat: gotcha14:19
m_3hazmat: sounds perfect14:19
hazmatm_3, mostly just brainstorming on ideas for the future, i think the cli-plugins are good  first start14:19
m_3hazmat: yes14:20
m_3hazmat: I was thinking something like a '--block' cli option would allow for formula testing14:20
m_3hazmat: right now it'd have to have sleeps put in which is... not ideal14:21
m_3but there're all sorts of cool cli ideas14:21
m_3love the graphviz status btw14:22
=== dvestal|away is now known as dvestal
m_3dvestal: re your question from last night14:28
m_3dvestal: I think the orig idea in colocated services was to provide for 'aspects' like monitoring and log consolidation services to be colocated with a primary service14:28
m_3dvestal: think mysql with munin-node14:29
m_3dvestal: I'm looking for other 'specs', but I think the ensemble docs are primary atm14:29
dvestalm_3: Has there been any discussion on how to handle system configuration things outside of the "service" installation and configuration?14:30
m_3dvestal: there are lots of feature requests too (https://bugs.launchpad.net/ensemble)14:30
m_3dvestal: yes, lots... I'm not sure the current state of that though14:31
dvestalm_3: For example, I have all of my servers authenticating with ldap instead of just the base AWS ubuntu user auth.14:31
alienpulsekim0, there ?14:32
m_3dvestal: that one might actually work as a service though... "authentication service"14:32
dvestalm_3: I'll have to dig through the email list archives to try to catch up different things.14:32
alienpulsedvestal, m_3 help plz :)14:32
niemeyerdvestal: Oh, that's quite interesting actually14:32
niemeyerdvestal: We have a few different things in progress ATM14:33
m_3dvestal: there are things that don't fit as a "service"14:33
niemeyerdvestal: and this one looks like the concept we're pushing in terms of "co-located" formulas14:33
m_3alienpulse: what's up?14:33
niemeyerdvestal: The idea is that certain formulas will be able to be deployed within the same container as another formulas14:33
niemeyeranother formula14:34
niemeyerdvestal: To allow tweaking the environment in a sensible way14:34
niemeyerdvestal: E.g. distributed logging, monitoring, etc14:34
niemeyerdvestal: It sounds like what you're trying to do is related to this as well14:34
dvestalniemeyer: Yeah.14:34
alienpulsem_3, hello..I'm new with every thing like im clueless ,,in Launchpad ,, i'v my own bug but i don't now how to add formula and nodes and etc on it14:34
alienpulsem_3, silly i know ,, but kim0 was my survivor in this kind of things 14:35
dvestalniemeyer: I have several small things like that.  ldap auth is just the simplest to explain, and the most widely used.14:35
niemeyerdvestal: Ok, do you have another example, just to ensure we're on the same page?14:36
m_3alienpulse: no problem... wanna send me a url to the lp bug?14:36
alienpulseokay14:36
alienpulsem_3, https://bugs.launchpad.net/~abedeltawil14:37
dvestalniemeyer: <this is not answering your question yet> What I do now is a scripted snapshotting of a machine so that I have an ami to stand up a new machine from. 14:38
alienpulsem_3, so how can i remove Admin links drupal .. ? and how to add a new project to start working on it  and from where 14:38
niemeyerdvestal: Ok, this is a fairly common approach, but at the same time it's the kind of trick we're trying to obsolete with Ensemble14:39
m_3alienpulse: ah, I think I understand14:39
alienpulsem_3, please advice ..14:39
dvestalniemeyer:  Basically things like syslog -> mysql logging.  Auto-installation of wars into Tomcat and ears into Glassfish.14:40
dvestalniemeyer:  Yeah,  I don't like doing it this way... which is how I found Ensemble. :)14:40
niemeyerdvestal: These sound like good examples of co-located formulas14:41
niemeyerdvestal: The idea will be quite simple, actually: you'll be able to describe certain relations as co-located, and Ensemble will know that the related services have to live together14:42
niemeyerdvestal: They will still be normal relations, though14:42
niemeyerdvestal: So, e.g.14:42
niemeyerdvestal: Imagine a relation of type "tomcat-war"14:42
niemeyerdvestal: WIth colocation on14:43
niemeyerdvestal: Ensemble will put both of them in the same container, and will establish the relation14:43
niemeyerdvestal: When tomcat notices the relation was established on war-relation-joined,14:43
niemeyerdvestal: It does "relation-set war-directory=/path/to/wars"14:44
niemeyerdvestal: You see where this is going?14:44
m_3alienpulse: I can't remove the associated bug... just please ignore that as noise for now14:49
m_3alienpulse: have you started on the formula itself?14:49
alienpulsem_3, emm okay from where should i start if i wanna start a project for scratch 14:49
m_3alienpulse: what I do to start is copy another formula14:50
alienpulsem_3, i'v my bug but i don't now what should i do next ! :/14:51
m_3alienpulse: I don't think there's a need to create a new launchpad project for a formula14:51
m_3alienpulse: so the first thing to do is get a working directory where your formula will reside14:51
alienpulsem_3, how that ?14:51
alienpulsehow can i do that ?14:51
m_3alienpulse: what platform are you working on?14:51
alienpulseu mean my project ?14:52
alienpulseDrupal !14:52
niemeyerdvestal fainted with the explanations.. sorry! ;-)14:52
m_3alienpulse: the first thing we need to do is make a local repo for the formula14:53
m_3alienpulse: have you used bazaar before?14:53
alienpulseno :(14:53
alienpulselet say i made a local repo 14:54
alienpulseshould i upload it ,, right ,, but where on the launchpad should i upload ?14:54
sladenrumour has it via the grapevine that somebody has asking for input in doing an Ensemble Logo14:55
sladenwho would be the best person who might know more details?14:55
m_3sladen: kim0 or jcastro maybe?14:55
m_3alienpulse: it's not bad... something like http://paste.ubuntu.com/639527/14:56
jcastronot me, I only sat in on the web meeting14:57
sladenjcastro: that's more than I did.  kim0: any knowledge?14:57
alienpulsem_3, and should i copy it and past it where !?14:57
m_3alienpulse: so the formula development will be done entirely on your machine14:58
m_3alienpulse: once you've gotten it going the way you like14:58
m_3alienpulse: you can push your repo up to launchpad14:59
m_3alienpulse: (can really push up at any time... the important point is that the development work is done on your local machine)14:59
m_3alienpulse: have you installed ensemble on your machine?15:00
alienpulsem_3, yeah sorry for that .15:01
m_3alienpulse: np15:02
alienpulsem_3, okay you where saying should the Formula development will be done on my laptop and with bzr is linked to my bug on launchpad ?15:04
dvestalniemeyer:  Sorry for the delayed response.  I had to run upstairs for breakfast with the kids.  Yeah, that's a good explanation.  I like where it's going too.15:05
dvestal^ with the wife and kids...15:05
niemeyerdvestal: No worries, was just kidding.. I know how that works too :-)15:06
m_3alienpulse: yes, develop the formula first, then we can associate the repo you're using with the lp bug15:06
niemeyerdvestal: Nice, so if you have any ideas to suggest or any questions, just pop up and we'll be happy to talk/fix/implement :)15:06
dvestalniemeyer:  I definitely will.  This is something that I anticipate contributing to.  I'm sure that it will need to primarily be things that are specific needs of my company, but I talked to our owner about potentially working on this some as I am working toward automating our infrastructure and he seemed to be onboard with it.15:09
m_3dvestal: awesome!15:09
kim0~>15:10
kim0that was a hung ssh :)15:10
niemeyerdvestal: That's great news indeed.. it's a good time to join in too, as you can help shaping the face of it to your needs15:16
kim0alienpulse: sorry my irc was hung .. so are starting on the drupal formula15:16
kim0alienpulse: did you read my formula writer's tutorial .. it should be easy to follow .. hey it's even for drupal too :)15:16
alienpulsekim0, no :( i want to did u blog it ?15:17
alienpulseill read it from your blogs 15:17
* kim0 getting link15:17
kim0alienpulse: just this one https://ensemble.ubuntu.com/docs/write-formula.html15:17
alienpulsekim0, okay i was saying i dont know from where should i start ,, i dont want begin wrong ..15:19
kim0alienpulse: so basically, I'd start by reading that tutorial, and try to execute it step by step till you have drupal running on ec215:20
kim0alienpulse: once it's running, you can start hacking on it 15:20
kim0to make a real formula out of it15:20
alienpulseand then i upload it to launchpad ?15:20
kim0alienpulse: no need for that .. you can create the formula on localhost .. and use it to deploy .. 15:21
alienpulseim almost done with reading the ensemble tutorial ..15:21
kim0alienpulse: putting it on LP .. is like the final step15:21
alienpulsekim0, aha15:21
alienpulsekim0, okay ,,im getting it all now 15:21
alienpulse1st step ..run drupal on ec2 15:22
koolhead11okey guys i have filled  a bug finally dbconfig-common and phpmyadin15:22
kim0koolhead11: woohoo \o/15:22
koolhead11the preseed made me cry15:22
alienpulse2nd step hacking it .. 3rd step create a formula on my machine ,, and finally ill upload it to LP15:22
alienpulsekim0, miss any thing ?!15:22
kim0let me rephrase .. this is how I would do it15:23
kim01- copy formula from tutorial into files15:23
kim02- run it as is, launch drupal on ec2 with it15:23
kim03- understand what is going on15:23
kim04- start changing the formula15:23
kim05- upload to launchpad, share your formula with the world15:23
kim0alienpulse: that's all15:24
alienpulsekim0, you're a bless from heaven !15:24
kim0alienpulse: You know what .. even easier .. I remember now I have pushed my drupal to LP15:25
kim0alienpulse: so you can skip step 1 ..  and instead do →  bzr branch lp:~kim0/+junk/drupal15:25
alienpulsekim0, okay 15:25
niemeyerfwereade: Would you mind to review this merge proposal when you have a moment: https://code.launchpad.net/~hazmat/ensemble/hooks-with-formula-dir15:27
fwereadeniemeyer: a pleasure15:27
niemeyerfwereade: Thanks!15:27
kim0sladen: o/15:28
kim0sladen: so yeah, a community member is interested in working on a logo+mascot for Ensemble15:29
kim0sladen: he does pencil concepts. He's starting to send me concepts drawings, but I'm really not made to judege these things :) 15:29
kim0sladen: can I link you two up ? so you start hacking those graphics together /15:30
* koolhead11 is allowed to ask dumb/stupid questions :P15:32
niemeyerhazmat: I don't think the env var should be yanked..  please see the latest comment there15:33
sladenkim0: -> sladen@c.com15:33
niemeyerhazmat: Just pointing out here so you don't work on this before seeing the comment15:33
niemeyerkoolhead11: Everyone is! ;_)15:33
kim0sladen: awesome .. linking :) thanks man15:33
koolhead11niemeyer, :)15:34
hazmatniemeyer, k, thanks15:34
hazmatniemeyer, could you clarify what you meant by [3]15:36
niemeyerhazmat: Just mentioning what is $CWD in the docs15:36
niemeyerhazmat: Next to the hooks themselves15:36
hazmatniemeyer, ah.. sounds good15:37
fwereadecouple of questions about what directory we run in15:40
fwereadewhat makes the unit dir better than the formula dir?15:40
fwereadeI haven't been able to see any serious distinction in this context but presumably there's some reason to prefer the unit dir15:40
fwereadehazmat, niemeyer: the docs currently say we run in the formula dir, but it seems we run in the unit dir15:42
niemeyerfwereade: I think we're using the formula dir?15:42
hazmatfwereade, it does run in the formula dir15:42
hazmatit just uses the unit dir as a base reference point15:43
fwereadehm, let me reread the code15:43
fwereadelooked like it was using the unit dir15:43
niemeyerIn fact, there's an important reason for it to be the formula dir now.. we'll soon have co-located formulas in the same unit dir15:44
hazmatfwereade, its at the bottom of invoker where it spawns the process, and there's a corresponding test15:44
fwereadehazmat: where it calls with "hook_proto, hook, [hook], env, self._unit_path)"?15:45
fwereadehazmat oh damn, wrong rev15:45
hazmatfwereade, are you on the right branch? latest rev is 262 of lp:~hazmat/ensemble/hooks-with-formula-dir15:45
hazmatcool15:45
fwereadeforget I said anything 15:45
fwereade:)15:46
hazmatniemeyer, the implementation of co-location will need to modify the impl as needed. the formula location will no longer just be /formula15:48
niemeyerhazmat: Right, that was my point15:48
* niemeyer => lunch16:07
kim0alienpulse: just noticed m_3 did a drupal formula on https://code.launchpad.net/principia .. it's ok, you can still study how things work, then improve on Mark's formula16:13
alienpulsekim0, im working on your now ..16:14
sladenkim0: can you forward me the actual pencil sketches too16:14
alienpulsekim0, but thanks any way16:14
kim0alienpulse: yeah don't let that stop you .. you need to understand ensemble .. then you can hack any formula :)16:14
kim0sladen: yep .. getting em16:14
kim0sladen: emailed 16:17
hazmatniemeyer, re formula upgrade and cleanup of files, its not quite read only.. but point taken.. if we assume namespacing in the future, fhs locations in the unit would need qualifications as a result, we can nominate a particular formula directory as inviolate by ensemble and suitable for variable storage (aka /var) or store the manifest at deploy time to compare to the delta, to just remove old formula files but not files created by the formula... 16:20
sladenkim0: ta.  Do you have an full copy of the mailing message  https://lists.ubuntu.com/archives/ensemble/2011-June/000199.html  available?16:32
sladenkim0: the one in the archive is missing the attachments16:32
kim0sladen: it was only links .. no attachments16:35
kim0sladen: I emailed you the links as well16:36
sladenkim0: nod16:44
sladenniemeyer: would you be able to follow-up to  https://bugs.launchpad.net/ubuntu-branding/+bug/807100 ("Ensemble logo (ensemble.ubuntu.com)") with your breathing aperatus quote16:45
_mup_Bug #807100: Ensemble logo (ensemble.ubuntu.com) <ubuntu-branding:New> < https://launchpad.net/bugs/807100 >16:45
niemeyersladen: Hey there16:57
niemeyersladen: Sure, what's up?16:57
niemeyerhazmat: Yeah, storing old manifest + new manifest + diff and remove might be the most expected outcome16:58
niemeyerhazmat: I actually like a bit the var approach too16:58
niemeyerhazmat: Makes it easy to move things around16:58
niemeyerhazmat: I'm a bit concerned that people won't figure it out until too late16:58
sladenniemeyer: Ensemble logo tracking bug17:07
sladenniemeyer: I have a quote that kim0 forwarded me, but I'd rather if you attributed and added it yourself :-)17:08
niemeyersladen: Done17:13
niemeyerActually, there's another thread too17:15
niemeyerhazmat: Looks like a recent change has broken txzookeeper: https://launchpadlibrarian.net/74683481/buildlog.txt.gz17:18
sladenniemeyer: did you mean to copy and re-paste 80% of the content from the bug introduction back into the bug report :-)17:22
hazmatniemeyer, yeah.. i'm not sure what the issue is the changelog format looks fine17:24
hazmatniemeyer, is there a static check tool ala lintian for checking deb directories17:25
alienpulsekim0, how can i remove one of my affects !?17:30
kim0alienpulse: what do you mean by affects17:30
alienpulsekim0, i want to remove admin links Drupal module17:30
kim0alienpulse: don't install it ?17:31
alienpulsekim0, in my bug i just assigned by mistake :/17:31
kim0alienpulse: give me the bug url17:31
alienpulsekim0, https://bugs.launchpad.net/principia/+bug/80595517:31
_mup_Bug #805955: Formula needed: Drupal <new-formula> <Admin links Drupal module:New> <Principia Ensemble:In Progress by abedeltawil> < https://launchpad.net/bugs/805955 >17:31
niemeyersladen: Sorry, I didn't notice you had already added one of the links17:32
niemeyersladen: It's not clear to me how can I help there?17:33
niemeyersladen: I've already commented on these graphics in the mailing list thread which I linked there17:33
kim0alienpulse: I just set it to invalid on that project .. probably good enough17:33
niemeyersladen, kim0: What sort of action is the bug oriented towards?17:34
alienpulsekim0, emm okay thanks ..17:34
niemeyerhazmat: There is17:34
niemeyerLet me try to find the name17:35
m_3kim0, alienpulse: I tried to remove this morning with no luck17:35
kim0yeah, I'm no LP expert either :)17:36
sladenniemeyer: -> see your private message17:36
sladenniemeyer: tracking the logo.  I heard on the grape vine that somebody/something wanted help.  It's now documenteed in one place, with everything that has been said17:38
niemeyerhazmat: lintian - Debian package checker17:42
niemeyerhazmat: I suspect the date format might be the issue, but not sure17:43
niemeyerhazmat: date -R is the standard17:43
* niemeyer playing with glance19:10
niemeyerfwereade: That may be our S3 service for next week ^19:10
pindongaSpamapS, you were working on the lxc branch for ensemble, right?19:36
niemeyerSpamapS: We should talk about the LXC work, actually19:56
niemeyerSpamapS: The first step is probably to put a specification in place detailing what we're going after19:56
niemeyerand the impact in the several areas19:56
m_3niemeyer: +1 for faster formula development/debugging19:58
m_3jcastro: can I the deck you used for your ensemble lightning talk?20:18
adam_ghazmat: ping21:16
adam_gis bootstrapping stock oneiric ec2 AMIs expected to work?22:16
m_3adam_g: I was wondering the same thing when pointing to a euca cloud22:23
m_3adam_g: I don't think so... think zk's gotta be there at least22:24
m_3adam_g: smoser helped SpamapS bundle up something minimal for lxc22:24
m_3adam_g: if he's around22:24
adam_gzk looks to be installed via cloud-init22:24
adam_gso does the rest of the bootstrapping22:24
niemeyeradam_g: I haven't tested this myself.. we've been using Natty images just because it makes it easier to have it on both sides22:25
niemeyeradam_g: That said, we should all switch to Oneiric now that we're packing it in 11.1022:25
niemeyeradam_g: and I can't see why it'd not owrk22:25
adam_gniemeyer: yeah.. i was using the default natty AMIs as well until the archive mirror in us-east-1 decided to fall over22:25
niemeyerwokr22:25
adam_gW: Failed to fetch bzip2:/var/lib/apt/lists/partial/us-east-1.ec2.archive.ubuntu.com_ubuntu_dists_natty-updates_universe_binary-i386_Packages  Hash Sum mismatch22:26
niemeyerUgh22:26
Ryan_Lanehowdy22:37
kim0Ryan_Lane: o/22:37
kim0niemeyer: o/22:37
kim0Ryan is from the mediawiki ops team 22:37
Ryan_Lanekim0: so, ensemble seems like a really great way of pushing changes into an environment that isn't fully formed, and doesn't have something like chef/puppet22:38
Ryan_Lanebut it doesn't address long term management of systems22:38
kim0MediaWiki has a staging cluster, and I was pinging Ryan to test whether we can get some interest to get them to use Ensemble .. Ryan has some questions which I thought we could better answer here22:38
Ryan_Lanethe route we are going is to open our puppet repository to everyone22:38
adam_gniemeyer: the run_cmd script in cloud-init for bootstrap doesn't succeed on oneiric. and i cant see how it would work on natty, either. are the default AMIs launched by ensemble stock?22:39
Ryan_Laneand treat our ops like we treat mediawiki22:39
kim0SpamapS: hazmat m_3 your thoughts are all welcome 22:39
Ryan_Lanewith code review on the puppet manifests, files, and templates22:39
Ryan_Lanewhich will then let us directly deploy these changes to our production hardware cluster22:39
Ryan_Lanewhich isn't cloud based ;)22:40
kim0Ryan_Lane: let me try to answer the points you've raised22:40
kim0Ryan_Lane: so Ensemble is not really about cloud only 22:40
Ryan_Lanelemme bring up the docs so that I can refresh my knowledge of it22:40
kim0drivers are being written today to support deploying to LXC containers, as well as hardware machinse and ofcourse openstack private clouds among others22:40
kim0ec2 was just the fastest way to get started22:40
kim0Ryan_Lane: regarding the first concern, Ensemble operates at a higher level that puppet or chef22:41
kim0in the sense that it operates at a "service" level22:41
kim0for configuration file management .. you _could_ still use puppet if you really wanted to22:41
kim0or you could use something else22:41
kim0Ensemble is well suited to long term management of instances22:42
kim0it simply focuses more on the concept of deployable "services" over machines22:42
kim0umm .. regarding sharing your deployment recipes with the world22:42
kim0that is exactly what we're after22:43
Ryan_Laneyeah. I'm not concerned about that part22:43
kim0We're creating the principia project22:43
kim0which should cover hopefully all FOSS soon :)22:43
kim0if you have some more questions or exact use cases .. I'd love to hear them as well22:44
m_3Ryan_Lane: the thing that really closed ensemble for me was the relationships22:44
Ryan_Laneso run me through a basic idea of installing a new mediawiki instance inside of an already configured mediawiki cluster22:44
kim0ofc Ensemble is rapidly evolving .. if there's a use case we don't currently support .. things can definitely be tuned22:44
m_3Ryan_Lane: ensemble provides events when service relationships are changed22:45
m_3Ryan_Lane: take a look at the mediawiki formula hook for db-relation-joined (maybe db-relation-changed)22:45
Ryan_Lanepuppet/chef does the same22:45
m_3Ryan_Lane: the way the events go out it allows for _really_ easy horiz scaling22:45
kim0Ryan_Lane: is the rest of the cluster under ensemble management ?22:46
Ryan_Lanelet's assume I have a memcached cluster, an apache cluster, a database cluster, a squid cluster, a varnish cluster (for bits), a swift cluster (for media), how will ensemble create just a wiki in that?22:46
Ryan_Lanewithout deploying new nodes22:46
Ryan_Laneor avoiding too much complexity...22:47
Ryan_Lanean apache cluster, and a database cluster22:47
kim0are you saying those resources are not under Ensemble's management, or are they22:47
Ryan_LaneI get the idea of adding new nodes to the cluster, that's easy enough :)22:47
Ryan_Laneunder ensemble22:47
kim0Very well22:48
Ryan_Lanecreated via the screencast example22:48
kim0m_3: care to explain how that works :)22:48
Ryan_Lane(this is a specific use case that I need, and don't have a solution for yet)22:48
kim0Ryan_Lane: Would deploying a service inside a new LXC container be acceptable for this use case ?22:49
Ryan_Laneno22:49
m_3Ryan_Lane: yup, creating a pastebin of the hooks we have implemented for mediawiki22:49
Ryan_Laneit can't add new instances22:49
m_3Ryan_Lane: so here's the metatdata.yaml file for the formula http://pastebin.com/h8HYzfQ522:49
m_3you can see the attachment with mysql, memcache, munin, and the "website" relation22:50
* Ryan_Lane nods22:50
m_3the "Website" relation can be directly accessed or consumed in a relation with a reverseproxy22:51
m_3or load balancer22:51
Ryan_Lanewhat's the benefit over puppet?22:51
m_3so there are hooks created for each relation22:51
Ryan_Lane(or chef)22:51
m_3longer question to answer... lots on the topic though22:51
m_3lemme get you a list of the hooks here22:51
m_3http://pastebin.com/aL36P6A522:52
m_3the basic workflow is as follows22:52
kim0Most people find it an eye openeronce they take some time to understand how Ensemble formulas work under the hood22:52
* kim0 makes way for m_3 22:53
m_3http://pastebin.com/i2CPibe122:53
m_3kim0: please participate <grin>22:53
m_3the magic happens in the relation22:54
kim0:) 22:54
m_3the fact that this is the db relation is just an example22:54
m_3you'd do the same for memcache, reverseproxy, etc22:54
m_3so your "stack" would be more complicated than just the script I pasted22:54
m_3but not _much_ more complicated22:54
m_3the way the service relation events are fired22:55
m_3and organized22:55
kim0I think a main benefit, is that Ensemble is a living system. You are no longer thinking on the level of machines and config files. You're thinking in terms of intelligent "services" that know how to respond to the surrounding environment22:55
m_3allows you to scale horiz by just 'ensemble add-unit mediawiki'22:55
m_3rinse and repeat22:55
kim0and configure themselves, consuming other services, and offering their service to other nodes22:55
m_3the existing relations between mediawiki and the handful of other services are automatically fired for each new mediawiki unit22:56
kim0that simplicity of scaling, is a direct result of the fact that services embed the intelligence and know how to react to events22:56
adam_gRyan_Lane: to answer your question. AFAIK: as it stands right now, when you deploy a new service via ensemble, you're deploying a new instance to host that service. it takes an elastic, cloudy POV that instances are expendable containers of services that will come and go throughout the lifecycle of the service as a whole22:56
Ryan_Laneif I change a service, do the current instances update to reflect that?22:57
m_3we're working on colocated services within an instance22:57
m_3Ryan_Lane: that's formula version22:57
m_3there's upgrade-formula22:57
kim0Ryan_Lane: yes, you can upgrade formulas on the fly22:57
m_3and the ability to do rolling upgrades22:57
m_3issues to be worked out here though!22:57
Ryan_Laneheh22:57
Ryan_Laneso, when upgrading instances, is there some group-based update process?22:57
m_3rolling upgrades mean different things to different apps, so that's still in dev/testing22:58
Ryan_Laneor do you need to do it per node?22:58
m_3lemme show you status output22:58
m_3you can address individual service units (instances)22:58
m_3but I'm not sure in a upgrade-formula scenario what the options are22:59
m_3(just started working on it a couple of weeks ago)22:59
Ryan_Laneour staging environment should reflect our production environment as much as possible.22:59
Ryan_Laneincluding how we do ops23:00
m_3Ryan_Lane: understood23:00
kim0again Ensemble is rapidly evolving, so it can adapt to needs23:00
m_3Ryan_Lane: always particularly fun with a cms!  <grin>23:00
Ryan_Laneon our production environment, we may have one box doing a couple things23:00
Ryan_Laneour software is deployed separately from our os related thingd23:00
kim0Ryan_Lane: and it's also a good ground for experimenting with future ops technology stacks right 23:00
Ryan_Laneyeah. if you guys would like to work in the environment, we can do that23:01
m_3Ryan_Lane: I'd love to talk maybe higher bandwidth or look at docs to learn more about your infra23:01
Ryan_Lanefor instance, I can give you guys a project where you can try to model our production environment in ensemble23:01
m_3yup23:01
kim0I think that would be very good23:01
Ryan_LaneI think that would be great for both of us23:01
* kim0 nods23:01
Ryan_LaneI like some of the concepts, but it would be very difficult for us to use it now23:02
m_3gotta run... giving my first ensemble demo at a local LUG23:02
m_3nice to meet you Ryan!23:02
Ryan_Lanem_3: you too23:02
kim0m_3: thanks for the help23:02
kim0Ryan_Lane: Awesome .. we'll both learn a lot by working on this excercise 23:02
Ryan_Laneit would be great to see you guys make a similar environment to ours, and show us how we could use it23:02
Ryan_Laneand we can work with you guys to show where things are going to run into problems23:03
kim0that will surely be needed 23:03
kim0great stuff23:03
kim0Ryan_Lane: so how do you suggest we get started23:03
Ryan_Lanewell, I don't have the cluster fully up yet23:04
kim0Ryan_Lane: it's openstack right ?23:04
Ryan_Lanealso, there's a couple things that I'll likely need to add to openstack for this to properly integrate23:04
Ryan_LaneI think someone is working on it right now23:04
Ryan_Lanethe mediawiki extension I wrote adds DNS entries in LDAP when instances are created23:05
Ryan_Laneopenstack doesn't have support for adding DNS entries right now23:05
Ryan_Lanefor ensemble to work properly, it needs that ;)23:05
kim0well I'm sure we can beat any technical issues together :)23:06
Ryan_Laneyeah23:06
Ryan_Lanehmm23:06
kim0perhaps we could even do the work on ec2 for now23:06
Ryan_LaneI may actually be able to give you guys access earlier than others, since you don't need the puppet stuff working23:06
kim0since that's the most mature provider23:06
m_3exit23:06
kim0:)23:06
kim0Ryan_Lane: yeah we don't23:06
m_3sorry, wrong focus... doh23:06
kim0hehe23:07
Ryan_Lanecould start, on ec2, yeah. would be good to move you guys over as soon as possible though23:07
kim0openstack exposes the ec2 api as well, so it should just work23:07
Ryan_Laneyeah. I'm using ec2 api in my extension too23:07
Ryan_Laneyou guys will just need the DNS stuff.23:07
kim0might take some hammering .. but that's what we're good at :)23:08
kim0Ryan_Lane: so you'll give us access to the cluster, how will we know how your current infrastructure needs to be modelled ?23:08
kim0like more info on what needs to be done 23:08
Ryan_Lanethat's the hard part :)23:08
kim0:)23:08
Ryan_Lanethat may be something you need the puppet repo for23:09
Ryan_Lanewe have a lot of documentation on wikitech.wikimedia.org23:09
Ryan_Lanebut it's not a step-by-step guide23:09
Ryan_Lanewe also have configuration files at noc.wikimedia.org23:09
Ryan_Lanefor mediawiki/apache23:10
kim0Ryan_Lane: In the mediawiki community, would there be ops volunteers interested in helping us get this working ?23:10
Ryan_Lanehmm. maybe.23:10
kim0Cool .. we'll need to broadcast some messages then23:10
Ryan_Lanewe are light on ops volunteers. that's one of my goals of the labs project :)23:11
kim0hehe yeah I know 23:11
kim0very well23:11
Ryan_LaneI can talk to you guys about stuff as you work on it23:11
Ryan_LaneI can give you an overview of how it works23:11
Ryan_Laneyou guys located in US? in SF?23:11
kim0we're everywhere23:12
kim0:)23:12
Ryan_Laneheh23:12
Ryan_Laneyeah. us too23:12
kim0some should be close to that .. just no idea who23:12
Ryan_Lanewe are going to be doing a hack-a-thon in New Orleans at some point soon23:12
Ryan_Laneit'll be labs focused23:12
Ryan_Laneso that would be a great time to work together if you guys are interested and can come23:12
kim0Ryan_Lane: I think it would be beneficial to have you on the Ensemble mailing list: http://lists.ubuntu.com/mailman/listinfo/Ensemble23:13
Ryan_Laneotherwise, I can work with you guys online23:13
kim0sure the hack-athon thing can work too23:13
kim0I think I'll be sending a summary of this talk to the list, and it would be great to have you over commenting on how to move forward ..etc23:13
kim0Ryan_Lane: sounds like a plan ?23:14
Ryan_Laneyeah. sounds good23:14
kim0Ryan_Lane: Great! thanks a lot Ryan .. I really appreciate your time23:14
Ryan_Laneyou're welcome. I look forward to working on this with you guys :)23:15
kim0Awesome, I am very excited as well :)23:15
kim0We all think Ensemble is bringing a big change, and it rocks to be part of it23:15
kim0woohoo \o/23:15
kim0Okie .. it's getting too late for me now, so I'll catch you guys later23:16
Ryan_Lanekim0: later23:16
kim0Ryan_Lane: see ya23:16
_mup_Bug #807281 was filed: Cannot bootstrap stock ubuntu AMIs <Ensemble:New> < https://launchpad.net/bugs/807281 >23:20
hazmatadam_g, not till the sans-ami branch lands, and then it ensemble will work with any cloud-init enabled image ( although we might be dependent on a 10.10 version of cloud-init)23:59

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