[02:39] <tonyyarusso> Hi, I'm trying to wrap my head around the various tools that exist for automating things.  Could someone explain what exactly MaaS does, how it relates to Juju, and how those compare to things like Puppet?
[02:40] <bigjools> tonyyarusso: have a look at http://maas.ubuntu.com/
[02:41] <tonyyarusso> I did...it seems to jump right from the elevator pitch to the installation documentation without much explanation in between those.  :S
[02:51] <bigjools> tonyyarusso: ok so maas is a bare metal provisioner. Its use is to turn a load of hardware into a cloud-like resource.
[02:52] <bigjools> juju uses maas as a cloud provider in the same way it uses Amazon, etc
[02:55] <tonyyarusso> So, MaaS would automate installing Ubuntu when I provision a new server, and JuJu would take care of configuring it for a particular use?
[02:56] <bigjools> pretty much - maas installs ubuntu on demand as an api client requests a resource
[02:58] <tonyyarusso> Is Juju doing essentially the same thing as Puppet then, or are those different roles too?
[02:59] <mwhudson> it's a bit higher level than where puppet started out
[08:58] <rvba> bigjools: could you please have a look at https://code.launchpad.net/~rvb/maas-test/fix-dependencies/+merge/196830 ?  And can you confirm that the expression "python-six (>= 1.2.0) [or should it be >= 1.2.0-1?]" is correct?  (see http://paste.ubuntu.com/6483312/ for the list of the published versions of python-six)
[10:14] <jtv> gmb: you were implementing --disable-proxy, right?
[10:21] <gmb> jtv: Yep, it's done.
[10:23] <jtv> Thanks gmb.
[10:26] <rvba> bigjools: please don't forget to have a look at https://code.launchpad.net/~rvb/maas-test/fix-dependencies/+merge/196830 when you have time.
[10:37] <bigjools> rvba: done
[10:38] <rvba> Thanks.
[11:11] <jam> rvba: who do we talk to about updating the "MaaS" docs: http://maas.ubuntu.com/docs/juju-quick-start.html
[11:11] <jam> It says to use "juju bootstrap --upload-tools" and we'd like to remove that flag by default
[11:12] <rvba> jam: the doc is part of the source, so please just file a bug with the tag 'doc'.
[11:12] <jam> rvba: thanks
[11:12] <rvba> np
[13:44] <rvba> allenap: I'd be happy if you could have a look at https://code.launchpad.net/~rvb/maas-test/fix-cleanups/+merge/196904
[14:34] <allenap> rvba: I'm on it. I think I have an alternative idea that you'll like, but I'm going to write a little code to demonstrate it first.
[14:42] <allenap> rvba: See lp:~allenap/maas-test/class-fixtures, diff: http://paste.ubuntu.com/6484657/
[14:42] <allenap> rvba: I have to travel now, back online in ~1h.
[15:07] <rvba> allenap: I like the idea of putting the try/except in a utility method but I'm not sure it can work: when the KVMFixture fail, we want to tear down all the fixtures that have been set up previously, including the proxy fixture.  I don't your code does that.
[15:11] <gmb> rvba, allenap: I've got a branch here to make the config_dir of the fixtures configurable, when you've got a second: https://code.launchpad.net/~gmb/maas-test/fix-up-proxy-config-dir-for-tests/+merge/196918
[15:56] <rvba> allenap: do you have time to help me with a tgt problem?
[15:56] <rvba> allenap: I cannot get my node enlisted for some reason, the error is this: http://people.canonical.com/~rvb/IMG_20131127_161658.jpg
[15:57] <rvba> allenap: looks like the tgt server is running and has the required images (I think): http://paste.ubuntu.com/6484986/
[15:57] <roaksoax> rvba: is isci running on the cluster?
[15:58] <rvba> roaksoax: tgtd is running
[15:58] <roaksoax> rvba: hum, well it seems it successfully access the image and then fails?
[15:58] <rvba> I've got 2 tgtd processes actually…
[15:59] <rvba> roaksoax: I don't think it access the image at all, it has the name of the image but fails to connect to the tgt server.
[15:59] <rvba> accesses*
[15:59] <roaksoax> rvba: right, so try restart tgtd, maybe running maas-import-ephemerals to re-generate the config
[16:01] <rvba> roaksoax: hum, I can try that, but I need to understand what's going on, it's happening consistently…
[16:09] <allenap> rvba: I'll try it out. I think it ought to work like that.
[16:09] <allenap> gmb: Sure, I'll have a look.
[16:09] <gmb> Ta.
[16:11] <allenap> rvba: I have no idea about that tgt problem. I've never used it ;)
[16:19] <System_Error_Mes> hi how does MAAS differ to a single image system or a specific service like openMPI?
[16:21] <jtv> That's not what MAAS does.
[16:22] <System_Error_Mes> well can you help explain what it does? i cant figure out after reading through the website
[16:22] <jtv> MAAS provisions the servers, but doesn't itself provide any kind of software substrate for writing distributed applications.
[16:22] <jtv> In a nutshell, it lets you manage a bunch of servers as if they were a cloud.
[16:22] <jtv> So where you might ask EC2 for a server, which you use for a while and then deallocate,
[16:23] <System_Error_Mes> i dont intend to run virtualisation
[16:23] <jtv> with MAAS you can allocate a server from your bunch of machines, use it for a while, then return it to the pool.
[16:23] <System_Error_Mes> i basically need to set up a bunch of physical machines to run software
[16:23] <jtv> Virtualisation is one of the differences: with EC2 you allocate a virtual server, with MAAS you allocate a physical one.
[16:24] <jtv> Then you can combine MAAS with Juju.
[16:24] <System_Error_Mes> so assuming i use MAAS i could set up 1 machine with 1 hard drive and than allocate a bunch of other machines without drives easily?
[16:24] <jtv> We can't make extra machines for you.  :-)
[16:25] <jtv> With MAAS you allocate physical systems.
[16:25] <System_Error_Mes> i dont mean to make extra machines, i meant not having to set up the OS of every single machine independently
[16:25] <jtv> Ah!  That's right.
[16:25] <jtv> You can use Juju to deploy applications, and you can set up Juju to use MAAS as a source of machines.
[16:26] <jtv> MAAS will install OS for you.
[16:26] <jtv> So when you tell Juju to deploy an Apache server, for instance,
[16:26] <System_Error_Mes> so if i set up 1 machine i want all driveless machines to use the same thing that machine has and use the drive of that machine, this can be done easily with MAAS?
[16:26] <jtv> it asks MAAS for a machine.  MAAS fires up a machine, installs the OS on it, and Juju installs Apache on it.
[16:27] <System_Error_Mes> the point is i want to have a small cluster of machines but i dont want to have to keep them powered on all the time
[16:28] <jtv> That part is fine; they only get powered on while they're allocated (or being installed etc.)
[16:28] <jtv> What I'm not sure about is how the driveless machines fit in...
[16:28] <jtv> You're saying you have one machine with a disk, and some more without disks?
[16:28] <System_Error_Mes> yes
[16:29] <System_Error_Mes> or hard drives
[16:29] <System_Error_Mes> so theres no permanent way to store data on a node for example
[16:29] <System_Error_Mes> in terms of ram every node would have plenty
[16:30] <jtv> I don't think we can install to RAM disks...  MAAS can run machines off RAM disks, but does that only for provisioning.
[16:30] <jtv> Once you deploy, it is assumed that you're installing to persistent storage.
[16:32] <jtv> At least, I think it is — we could ask roaksoax perhaps.
[16:32] <allenap> System_Error_Mes: We don't support working with diskless machines right now. We are considering it, but it won't be available for at least 6 months.
[16:32] <System_Error_Mes> ah ok, so if i use the approach of each machine having its own drive, is there a way to keep each setting updated? So if i changed a setting or configuration on one machine would it reflect the other?
[16:33] <System_Error_Mes> for example is when updating ubuntu or changing some OS configurations
[16:34] <jtv> The easiest thing to do is to treat the machines as disposable: take one down, and re-deploy.  The new instance will get the newer system image.
[16:34] <System_Error_Mes> network wise i plan to use DHCP and port teaming with switch on machines that support it
[16:36] <System_Error_Mes> re-deploying isnt going to work since each machine is different with a set of different hardware configurations
[16:36] <System_Error_Mes> for setting up the first time it seems that MAAS would help a lot
[16:37] <jtv> You can add constraints to say which (kind of) machine you want to deploy.
[16:37] <jtv> Once you've got a machine deployed, MAAS treats it as entirely yours.  So you can run upgrades.
[16:38] <jtv> You register your public SSH key with MAAS, so when you allocate a machine, you get full ssh access to it.
[16:38] <System_Error_Mes> so once i deploy a machine with MAAS i can upgrade it or manage it remotely without having to redeploy?
[16:38] <jtv> Yes, you can.
[16:38] <System_Error_Mes> well that'd work considering that each machine has different GPUs for running openCL
[16:39] <System_Error_Mes> and different CPUs for the same purpose
[16:39] <System_Error_Mes> thanks than
[16:39] <jtv> np!
[16:40] <System_Error_Mes> before i go though is it possible to recompile ubuntu with specific CPU optimisations and have MAAS deploy specific compilations based on CPU?
[16:40] <System_Error_Mes> for example, SSE4 and SSE4 + AVX
[16:41] <jtv> Isn't AVX the PowerPC thing?  I forget.
[16:41] <System_Error_Mes> its an instruction set on sandybridge and above CPUs that deal with numerical calculations
[16:42] <jtv> Anyway... recompiling the entire OS!?
[16:42] <System_Error_Mes> yup
[16:42] <System_Error_Mes> SSE4 really speeds up running code
[16:42] <jtv> Wow.  In principle we have some support for that, so it might work — but won't be easy.
[16:43] <System_Error_Mes> well as long as i can use GCC it shouldnt be a problem
[16:43] <jtv> For applications you could use apt-build, I suppose, but for the OS itself you'd basically have to run your own archive.
[16:44] <System_Error_Mes> also if i deployed ubuntu on a PS3, could i add it to MAAS as a node?
[16:45] <System_Error_Mes> that way i could remotely manage it and keep the configurations constant
[16:45] <jtv> Some pretty cool ideas there.  I don't think we have support for that one...
[16:46] <jtv> For starters, you'd need an archive for the architecture!
[16:46] <System_Error_Mes> well the archive wouldnt be a problem
[16:47] <System_Error_Mes> my focus is mainly on the service or application but i need an OS thats easy to manage over multiple systems
[16:47] <System_Error_Mes> although i still have to dual boot with windows on some systems to make sure the application works on it as well
[16:48] <System_Error_Mes> well thanks for your help
[16:48] <jtv> MAAS doesn't really care what you do with the systems while they're allocated to you.
[16:48] <jtv> NP, good luck!
[16:49] <System_Error_Mes> is DHCP server required to run on the MAAS controller?
[16:49] <System_Error_Mes> i'd prefer to use my mikrotik router for that
[16:50] <jtv> MAAS runs its own DHCP.  It's not required, but then some configuration is needed that not all routers support.
[16:50] <System_Error_Mes> i tend to prefer the router managing LAN based settings instead
[16:50] <jtv> That's OK, but we need to be able to netboot the nodes.
[16:50] <System_Error_Mes> it does support tftp or pxe boot settings though but i do need the details
[16:51] <jtv> MAAS also acts as a tftp server, and the nodes' PXEs need to be able to netboot off it.
[16:55] <rvba> allenap: btw, what does fixture.reset() does compared to fixture.cleanUp() ?
[16:56] <allenap> rvba: It also calls fixture.setUp().
[16:56] <rvba> !
[17:00] <rvba> allenap: oh, I think I understand what you've one in the paste.
[17:01] <rvba> And I was wrong, it will probably call cleanUp() for all the fixtures registered if something goes wrong.
[17:02] <allenap> rvba: I've updated my branch with some small improvements.
[17:05] <allenap> rvba: And again...
[17:05] <allenap> I'll stop now :)
[17:06] <rvba> allenap: there is one detail: if one fixture fails when running setUp(), it might have already registered clean up methods so I think we want to call fixture.cleanUp() on that fixture.
[17:06] <rvba> allenap: okay, I'll integrate it in my branch then.
[17:06] <allenap> rvba: Ah yes, good thinking!
[17:13] <System_Error_Mes> MAAS can be used with ubuntu desktop right?
[17:15] <rvba> allenap: do we really want to do: cls.fixtures.addCleanup(delattr, cls, "maas")
[17:15] <rvba> ?
[17:15] <rvba> I don't really see the benefit.
[17:15] <allenap> rvba: It allows gc, in case that's important.
[17:16] <allenap> Just good hygiene.
[17:16] <rvba> allenap: when something fails, the whole object is going overboard anyway.
[17:18] <allenap> rvba: Fair enough. The code is assuming that it doesn't know what environment it's running in, so is being defensive.
[17:19] <rvba> allenap: right, I guess I can keep that.  Ca ne mange pas de pain (French idiom of the week).
[17:19] <mgz> you're not eating any bread?
[17:19] <mgz> I think I miss the moral.
[17:20] <mgz> solement gateaux pour rvba
[17:20] <rvba> :)
[17:23] <rvba> allenap: I've integrated your suggestions: https://code.launchpad.net/~rvb/maas-test/fix-cleanups/+merge/196904
[17:38] <allenap> rvba: Cool, I'll take a look.
[19:28] <roaksoax> rvba: still around?