Difference between revisions of "Agile testbed/Cloud"

From PDP/Grid Wiki
Jump to navigationJump to search
(add dns info)
m (change domain)
Line 6: Line 6:
 
** An OpenNebula hook will be added to register the machine's name with DNS dynamically
 
** An OpenNebula hook will be added to register the machine's name with DNS dynamically
 
* There will be three networks, initially:
 
* There will be three networks, initially:
** Closed: no internet connection (10.198.5.0/24, domain <tt>.local</tt>)
+
** Closed: no internet connection (10.198.5.0/24, domain <tt>.closed</tt>)
** Private: internet access, masqueraded to the outside world (10.198.6.0/24, <tt>.testbed.nikhef.nl</tt>)
+
** Private: internet access, masqueraded to the outside world (10.198.6.0/24, <tt>.private</tt>)
 
** Public: public IP addresses, bridged (domain <tt>.nikhef.nl</tt>)
 
** Public: public IP addresses, bridged (domain <tt>.nikhef.nl</tt>)
  

Revision as of 15:12, 8 February 2010

There is an effort to add a cloud to the Agile testbed. It is based on OpenNebula and currently runs on melkbus.nikhef.nl only, and currently in development.

Networking

  • Plug'n'play networking
    • MAC and IP addresses handed out by OpenNebula
    • An OpenNebula hook will be added to register the machine's name with DNS dynamically
  • There will be three networks, initially:
    • Closed: no internet connection (10.198.5.0/24, domain .closed)
    • Private: internet access, masqueraded to the outside world (10.198.6.0/24, .private)
    • Public: public IP addresses, bridged (domain .nikhef.nl)

All networks are connected to the external ethernet interface, so that the networks across different physical hosts can reach each other. Melkbus then masquerades the internal range for internet connectivity. Melkbus also runs a nameserver on 10.198.x.1 that serves the dynamic DNS in addition to being a DNS cache.

Image repository

There will be an image repository at /srv/cloud/images/repo containing base images for various operating systems. These will be updated daily by a cronjob.

Contextualisation

When a cloud machine is instantiated from a base image from the repository, the machine should still be configured for the specific instance. This is done by an init script that is present in all base images, which sets up the network and runs any machine-specific initialisation. The OpenNebula contextualisation features will be used for this.

Future directions

When the cloud is properly setup, future directions can be explored like:

  • Secure networking: ebtables and iptables hooks to only allow allocated mac/ip from node
  • Using virtual machines from within Hudson
    • for on-demand build slaves (multiple platforms)
    • for tests running on virtual machines
  • Moving other parts of the testbed to the cloud, if it turns out to be an improvement.