Home > Ubuntu, Ubuntu Server > Ubuntu Enterprise Cloud: autoregistration features

Ubuntu Enterprise Cloud: autoregistration features

February 21, 2010 Leave a comment Go to comments

Part of the improvements coming up for Ubuntu Enterprise Cloud in 10.04 is the support for automatic registration of Eucalyptus components, even for complex topologies. In 9.10, we only supported local registration of components on a “CLC+Walrus+CC+SC” system, and you had to manually register NCs.

In 10.04, components installed through the UEC installer will automatically register themselves with their parent component, even on remote machines and complex topologies. Here is how it works.


Eucalyptus is made of 5 types of components that can live on the same or on separate systems :

  • The CLC (Cloud controller) is the entry point to the cloud, which is made of one or more clusters
  • The Walrus is a unique component providing an S3-like service in the cloud
  • A CC (Cluster controller) controls a given cluster
  • A SC (Storage controller) handles storage in a given cluster
  • A NC (Node controller) handles VMs in a given cluster. There can (and should) be multiple NCs in each cluster

Parent components need to register child components before they can use them as part of the cloud. CLC is the parent for CCs, SCs and Walrus child components, while the CC is the parent for NC child components :

UEC topologies

UEC installer

The UEC installer detects components already installed on the local network (see publication, below) and offers a reasonable choice of components for you to install.

When you install a child component, it will download a preseed file from its parent. That preseed file contains the public key of the parent, and will be installed in eucalyptus authorized_keys.

Child component publication

When the new system comes up (once SSH is started), the child component will start to publish its existence on the local network via avahi.

Child component registration on parent

The two parent components run a uec-component-listener process that listens to those avahi announcements. CLC picks up Walrus, CC and SC announcements, while the CC picks up new NC announcements. They run a corresponding registration script (that lives under /usr/share/eucalyptus/registration), which usually makes a few checks and calls the relevant euca_conf --register-* command.

This will trigger key synchronization (through SSH using the authorized_keys set up during installation, if you still follow) and register the component locally. All this autoregistration process is logged to /var/log/eucalyptus/registration.log on the CLC and CC. By default, all new child components are automatically registered.

Scary ?

Is that sounds scary to you, you’re probably right. On untrusted networks, malicious components could take advantage of this feature to insert themselves in the cloud. That’s why I’d advise to disable autoregistration on the CLC once you get the basic key components in place. If you don’t run your NCs on a secure subnet, I’d also advise to manually register them.

To that effect, CLCs and CCs provide the uec-registration tool. Without arguments, it will tell you if autoregistration is active. Run sudo uec-registration --manual to switch to manual registration and lock down your system.

The serious reader will object that it still leaves a small window where your untrusted network can register components with your cloud. For those cases, there is a preseed value that allows you to just install UEC with all autoregistration disabled:


Just set this value and you will stay away from it 🙂

Categories: Ubuntu, Ubuntu Server
  1. Philipp
    March 7, 2010 at 10:38

    Hey Thierry,

    thanks for the post, it really helped understanding how the auto-reg works.

    I have been playing around with Eucalyptus for a couple of days, but the auto-registration doesn’t seem to work. Did you also use the Ubuntu 10.04 Alpha 3 Server version?

    When I try to add a node manually, I get an error like in: https://bugs.launchpad.net/ubuntu/+source/upstart/+bug/439087

    Did you have the same problem? If so, how did you solve it?


    • Thierry Carrez
      March 7, 2010 at 15:44

      Autoregistration assumes that you installed UEC from the UEC installer (“Install Ubuntu Enterprise Cloud” on the server ISO), which copies keys around as part of the install process. Did you install all your components with the installer ? How did the rest of the autoregistration (CC, SC, Walrus) go ?

      • Thierry Carrez
        March 7, 2010 at 15:46

        Also we recently fixed an issue about Node registration when using the default cluster name, maybe that’s what you hit (https://bugs.launchpad.net/ubuntu/+source/eucalyptus/+bug/530937).

      • Philipp
        March 7, 2010 at 17:01

        Hey Thierry,

        thanks for the answer. As a matter of fact, I didn’t use the “Install Cloud” option. I wanted to do it manually because this always feels as if you’re more in control — you know what is actually happening.

        Is there a way to trigger the autoreg manually? Or do I have to register a cluster/walrus/etc. manually?


      • Thierry Carrez
        March 8, 2010 at 08:10

        You can trigger the autoreg manually : you first have to add the CC key onto the NC’s /var/lib/eucalyptus/.ssh/authorized_keys and “sudo start eucalyptus-nc-publication”. The installer takes care of the first part manually, so the second part just works. Note that the installer also sets up a bridge that you will have to setup manually if you didn’t use the installer.

  2. Walt
    May 5, 2010 at 01:28

    It seems like in an attempt to automate installation via the server iso installation via package is broken. I had two Desktop 9.10 servers and installed cloud, cluster, storage and walrus on one and node on the other. It pretty much worked, everything was talking to their peers, the web interface worked, I could even launch an emi. The node controller was destined to become a 10.4 server with node controller. After I installed it I couldn’t get anything to talk. I was especially hoping to see the q&a from even installing via package via apt-get but that didn’t happen (it was on the upgraded 10.4 Desktop. Now it wants to run a dhcp service (which was working fine from the wireless router with 9.10, The ip-addr.conf as well as other confs never got recreated, it won’t start and I can’t seem to get any help on what needs to be done. Do you have insight into this and/or would you point me to where I can get answers?


    • Thierry Carrez
      May 5, 2010 at 06:37

      Looks like an upgrade issue, you should file a bug against eucalyptus package in Launchpad.

  3. Deji Oladipupo
    July 6, 2010 at 12:34

    Hey I’m running Ubuntu Enterprise Cloud with the 9.10 server edition through VMware. I had no trouble installing the cluster, but I’m confused on how to install the node controller on the same network without having to create a new virtual machine. If anyone could help me with this problem I’d really appreciate it. Thanks.

    • Thierry Carrez
      July 7, 2010 at 11:23

      To test UEC (especially on 9.10) you’ll need two machines, one of them not a virtual machine (to host the NC, which will do virtualization itself).

      • Deji Oladipupo
        July 14, 2010 at 18:39

        Thank you Thierry because I always got a message saying “this machine does not support virtualization acceleration” whenever I tried installing the node controller and didn’t think that was essential. The only issue I’m fearing is overwriting the existing operating system on one of the machines I’m using when installing since the NC won’t function properly through a virtual machine. I’m looking into dual-booting as an alternative but still don’t know much about this. Well thanks again for your help.

  4. into11
    July 8, 2011 at 13:47

    Hello, I am doing my project on Eucalyptus, is any way I can develop UEC to implement some API or modify the source code?

    any suggestions would be thankful.

  5. into11
    July 8, 2011 at 16:26

    Sorry for such newbie question, but it seems like there are many differences between UEC and Eucalyptus from installation. (UEC is definitely easier to install)

    I can get all eucalyptus source code, my question is after I change or modify that codes and compile,how can I integrate them with Ubuntu Enterprise Cloud? because I want to develop and test on UEC,
    again, thanks in advance

    • Thierry Carrez
      July 11, 2011 at 14:50

      “UEC” is the packaging of the “eucalyptus” package in Ubuntu. It provides ISO installer integration and autoregistration of components. You can find it here: https://code.launchpad.net/~ubuntu-branches/ubuntu/oneiric/eucalyptus/oneiric — you can contact the Ubuntu Server team if you’re interested in contributing to that.

      • into11
        July 11, 2011 at 14:55

        Thank you !

        it is really helpful!

  6. Divya
    March 17, 2012 at 06:16

    Actually i have a problem in registering my NC with CLC and im using UEC..can anyone help me?

  7. Dolly
    April 29, 2013 at 06:09

    I am trying to install UEC from Ubuntu 10.04 server amd64 iso, but unfortunately i am not getting the option of “install UEC”. Can anyone suggest me the appropriate iso, so that i can install UEC. I tried to install it from 12.04 server iso, but it also didnt work.
    can anybody help regarding this.

    Thanks in advance.

  1. March 22, 2010 at 14:45

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s