EucalyptusPrivateCloud

UEC/Eucalyptus Private Cloud -- obino

   1 [20:01] <ClassBot> Logs for this session will be available at http://irclogs.ubuntu.com/2011/03/24/%23ubuntu-classroom.html following the conclusion of the session.
   2 [20:01] <obino> thanks Edulix
   3 [20:01] <obino> very nice presentation
   4 [20:02] <obino> I am graziano obertelli and I work at eucalyptus systems
   5 [20:02] <obino> feel free to ask questions at any time
   6 [20:02] <obino> if they are about eucalyptus I may be able to answer them :)
   7 [20:03] <obino> Eucalyptus powers the UEC
   8 [20:04] <obino> Ubuntu added a nice themes to Eucalyptus, the image store and very nifty way to autoregister the components
   9 [20:04] <obino> which makes it a breeze to install UEC on Ubuntu clusters
  10 [20:05] <obino> at http://open.eucalyptus.com/learn/what-is-eucalyptus you can quickly check what is eucalyptus
  11 [20:05] <obino> with it you can have your own private cloud
  12 [20:05] <obino> currently Eucalyptus supports AWS EC2 and S3 API
  13 [20:06] <obino> thus a lot of clients tools written for EC2 should work with Eucalyptus
  14 [20:06] <obino> minus minor changes like the endpoint URL
  15 [20:07] <obino> Eucalyptus has a modular architecture: there are 5 main components
  16 [20:07] <obino> the cloud controller (CLC)
  17 [20:07] <obino> walrus (W)
  18 [20:07] <obino> the cluster controller (CC)
  19 [20:08] <obino> the storage controller (SC)
  20 [20:08] <obino> and the node controller (NC)
  21 [20:08] <obino> the CLC and W are the user facing components
  22 [20:08] <obino> they are the endpoints for the client tools
  23 [20:08] <obino> respectively for the EC2 API and for the S3 API
  24 [20:09] <obino> there has to be 1 CLC and 1 W per installed cloud
  25 [20:09] <obino> and they need to be publicly accessible
  26 [20:09] <obino> the CC is the middle man
  27 [20:10] <obino> it controls a set of NCs
  28 [20:10] <obino> and reports them to the CLC
  29 [20:10] <obino> it controls the network for the instances running on its NCs
  30 [20:11] <obino> there can be multiple CCs in a cloud
  31 [20:11] <obino> the SC usually sits with the CC
  32 [20:11] <obino> there has to be one SC per CC
  33 [20:11] <obino> otherwise EBS won't be available for that cluster
  34 [20:12] <obino> SC and CC needs to be able to reach (talk to) the CLC and W
  35 [20:12] <obino> the NC is the real worker
  36 [20:12] <obino> instances runs on the machine hosting the NC
  37 [20:13] <obino> the previous tutorials explained a great deal of the user interaction, so I'll talk a bit of the behind the scene
  38 [20:14] <obino> for example what happened when an instance is launched
  39 [20:14] <obino> the CLC receive the requests
  40 [20:15] <obino> depending on the 'zone' the request asks, it will select the correspondent CC
  41 [20:15] <obino> after of course having checked that there is enough capacity left in that zone
  42 [20:15] <obino> with it is sends information about the network to set up for the instance
  43 [20:16] <obino> since every instance belongs to a security group and each security group has its own private network
  44 [20:17] <obino> the CC will then decide which NC will run the instance
  45 [20:17] <obino> based on the selected scheduler
  46 [20:17] <obino> and it will setup the network for the security group
  47 [20:18] <obino> this step is dependent on how Eucalyptus is configured, since there are 4 different Networking Modes
  48 [20:18] <obino> once the NC receives the requests it will need to emi file (the root fs of the future instance)
  49 [20:19] <obino> the NC keeps a local cache for the previous emi it saw before
  50 [20:19] <obino> it's a LRU cache so the least used image will be evicted if the cache grows too big
  51 [20:19] <obino> so the NC will check first to see if the emi is in the cache
  52 [20:20] <obino> if not it will have to contact W to get it
  53 [20:20] <obino> this is why W needs to be accessible by the NCs
  54 [20:20] <obino> of course it's not only the emi that the NC downloads but the eki and the eri too
  55 [20:21] <obino> once the image is transferred. it is copied into the cache first
  56 [20:22] <obino> after that the emi, eki and eri are assembled for the specific hypervisor the NC has access to
  57 [20:22] <obino> so, in the case of KVM, a single disk is created
  58 [20:22] <obino> the size of which depends on the configuration the cloud administrator gave to the instances
  59 [20:23] <obino> and the emi is copied into the first partition
  60 [20:23] <obino> the 3rd partition is populated with the swap
  61 [20:23] <obino> and the second one will be ephemeral
  62 [20:24] <obino> libvirt is finally instructed to start the instance
  63 [20:25] <obino> and of course the NC will take all the steps to setup the network  for the instance
  64 [20:25] <obino> from this quick run down, you will see why the first time an instance is booted on one NC takes longer
  65 [20:26] <obino> there is an extra network transfer (from W) and an extra disk copy (to populate the cache) that takes place
  66 [20:27] <ClassBot> smoser asked: is Eucalyptus expecting to have EBS-root and accompaning API calls (StartInstances StopInstances ...) ?
  67 [20:27] <obino> boot from EBS is expected to be in the next release
  68 [20:28] <obino> at least that's what they told me :)
  69 [20:28] <obino> I'm not sure about the start and stop instances call
  70 [20:29] <obino> the above instance life cycle that I went through should be helpful to understand how to debug the most frequent problem on a Eucalyptus installation
  71 [20:29] <obino> the instance won't reach running state
  72 === smspillaz is now known as smspillaz|zzz
  73 [20:30] <obino> from the above is easy to see that starting backward may be helpful
  74 [20:30] <obino> so starting from the NC logs to see if the instance started correctly (or at least libvirt tried to start it)
  75 [20:30] <obino> and if nothing is there, check the CC logs
  76 [20:30] <obino> to finish with the CLC logs
  77 [20:32] <obino> despite the complexity, eucalyptus is fairly easy to install
  78 [20:32] <obino> and the UEC has taken this step even further
  79 [20:32] <obino> so if you want to play with Eucalyptus or the UEC, you just need 2 machines available
  80 [20:33] <obino> if instead you want to play with Eucalyptus before installing to see what is can do and how good is the EC2/S3 APIs
  81 [20:33] <obino> then you can try our community cloud http://open.eucalyptus.com/CommunityCloud
  82 [20:33] <obino> called ECC
  83 [20:34] <obino> the ECC is available to everybody
  84 [20:34] <obino> the SLA are designed to avoid abuses
  85 [20:35] <obino> so your instance(s) will be terminated after 6 hours of running time
  86 [20:35] <obino> you can of course re-run instances at will, but no more than 4 at any point in time
  87 [20:35] <obino> same idea for the bucket, volumes and snapshots
  88 [20:36] <obino> the ECC runs the latest stable version of Eucalyptus, currently 2.0.2
  89 [20:37] <obino> if you are a developers and you are more insterested in the code and architecture, we have assembled few pages at http://open.eucalyptus.com/participate/contribute
  90 [20:37] <obino> which may be useful
  91 [20:38] <obino> starting from our launchpad home, and the API version we support
  92 [20:39] <obino> we have 2 launchpad branches, for stable version and for the development of the next version
  93 [20:39] <obino> both are accessible of course
  94 [20:39] <obino> we provide also some 'nightly builds'
  95 [20:40] <obino> they are actually produced on a weekly basis, but they kept the name
  96 [20:40] <obino> finally we give some information on how to contribute back to eucalyptus
  97 [20:41] <obino> and the final page is an assortment of various tips which may be of use to developers
  98 [20:41] <obino> like debugging tricks, or using eclipse or partial compile/deploy
  99 [20:41] <obino> we are hoping to expand this area sooon
 100 [20:42] <obino> finally under http://open.eucalyptus.com/participate you will see various ways to interact with us and Eucalyptus
 101 [20:42] <obino> in particular the forum is quite active and it is quite a resource to solve issues
 102 [20:43] <obino> as well as the community wiki
 103 [20:43] <obino> is there anything in particular that you want to hear about eucalyptus?
 104 [20:44] <obino> of questions?
 105 [20:44] <obino> *or*
 106 [20:44] <obino> well then, it looks like I managed to put everyone to sleep! :)
 107 [20:45] <obino> this http://open.eucalyptus.com/contact contains all the different ways to reach us in case you have questions
 108 [20:46] <obino> and of course there is the UEC page https://help.ubuntu.com/community/UEC
 109 [20:47] <obino> which contains very good information about Eucalyptus/UEC
 110 [20:48] <ClassBot> tonyflint1 asked: are there any plans for addition tools/utilities/documentation for creating custom images?
 111 [20:49] <obino> we currently have few pages under our community wiki under the tab images http://open.eucalyptus.com/wiki/images
 112 [20:49] <obino> which could be a chore at times
 113 [20:50] <obino> but they are useful to understand how things works
 114 [20:50] <obino> most of the EC2 images should work with UEC/Eucalyptus
 115 [20:50] <obino> so any way you have to generate images should work
 116 [20:51] <obino> the kernel/initrd combination depends of course from the hypervisor the instances will use
 117 [20:51] <ClassBot> There are 10 minutes remaining in the current session.
 118 [20:52] <obino> in short we don't have short term plan to generate new tools but we are working with the current tools to make sure they are compatibles with eucalyptus
 119 [20:52] <obino> if you have a favorite tool to generate images, let us know :)
 120 [20:52] <obino> tonyflint1: does it answer your question?
 121 [20:55] <ClassBot> gholms|work asked: Boxgrinder seems to be a decent tool for building images.  Any idea if that works with Ubuntu?
 122 [20:55] <obino> good question
 123 [20:55] <obino> we are in contact with a developer (marek) of boxgrinder, who has been very helpful so we are hoping to have an official eucalyptus plugin soon
 124 [20:56] <obino> as for the question itself it could be interpreted in 2 ways: will boxgrinder create ubuntu images? or will boxgrinder be packaged for ubuntu?
 125 [20:56] <ClassBot> There are 5 minutes remaining in the current session.
 126 [20:57] <obino> both are probably better answer by the boxgrinder developers
 127 [20:57] <obino> I would hope yes
 128 [20:57] <obino> boxgrinder should be fairly portable
 129 [20:58] <obino> and it has a nice plugin structure
 130 [21:00]  * kim0 claps 
 131 [21:00] <kim0> Thanks a lot for this wonderful session
 132 [21:00]  * obino bows
 133 [21:01] <kim0> Alright everyone .. Thank you for attending Ubuntu Cloud Days
 134 [21:01] <kim0> I hope it was fun and useful
 135 [21:01] <kim0> You can find us at #ubuntu-cloud
 136 [21:01] <ClassBot> Logs for this session will be available at http://irclogs.ubuntu.com/2011/03/24/%23ubuntu-classroom.html
 137 [21:01] <kim0> and feel free to ping me personally later
 138 [21:01] <kim0> Thanks .. best regards .. till next time

UbuntuCloudDays/23032011/EucalyptusPrivateCloud (last edited 2011-03-26 18:00:24 by ABTS-KK-dynamic-125)