Nimbus


  Home
  FAQ
  Features
  Documentation    
  Downloads
  Clouds
  Publications
  Talks
  Marketplace
  Contributors
  Roadmap
  Funding
  Contact
  News rss feed

Home -> Nimbus TP2.0

DEPRECATED: The most recent version is Nimbus TP2.1


Nimbus TP2.0

Nimbus provides a gateway to a set of resources configured with the Xen implementation of virtual machines.

You may want to start by reading some questions from the FAQ which provides a good introduction.

Also, see the Features page. See below for detailed documentation options that explain the functionality and configurations in detail.

Download the software from the downloads page.

Documentation

  • The Nimbus FAQ. Start here.

  • Administrator's Guide: for deploying the services and backend on resources. Includes a new quickstart section.

  • Consult the cloud client quickstart and one-click clusters page to see what the aim of the cloud configuration is.

  • Cloud Guide: administrator overview of the configurations for setting up the cloud configuration.

  • EC2 Client Notes: explains how to point EC2 clients towards a Nimbus installation running the EC2 frontend.

  • Interfaces Guide: explains the capabilities and semantics of the web services in detail. This only applies to the WSRF based frontend and not any other remote protocol that Nimbus supports.

  • Plugins overview (back online soon): explains all of the points where you can change behaviors with alternate component implementations and also the extensibility points where you can extend Nimbus to fit your needs with new implementations.

  • Developer's Guide (coming online soon): overview of Nimbus internals, build system, and file/directory organization. And the beginning of a collection of deep-dives into certain subjects.

  • Known issues: custom query to the bugzilla system, it lists out all known issues with TP2.0 Nimbus components.

  • Upcoming changes: custom query to the bugzilla system, it lists out any work that has been planned or completed for the very next Nimbus version (TP2.1). Includes both enhancements and bug fixes, both completed already and pending.

  • If something is unclear in the documentation or if you have an unexplained problem, don't hesitate to use the mailing lists!

Changes in TP2.0 (vs. TP1.3.3.1)

Summary
  • Introduction of the FAQ which explains many things you may already know, but it also includes new descriptions of the component system now more clearly articulated in the Nimbus TP2.0 release.

  • Introduction of the Java RM API which is a bridge between protocols and resource management implementations. The resource managers can remain protocol/framework/security agnostic (they can be "pure Java") and various protocol implementations can be implemented independently (and even simultaneously). Runtime orchestration of implementation choices is directed by industry standard Spring dependency injection.

  • Introduction of an alternative remote protocol implementation based on Amazon EC2's WSDL interface description. It is only a partial implementation (see below). It can be used simultaneously alongside the WSRF based protocols.

  • More friendly configuration mechanism for administrators including area-specific ".conf" files instead of any XML and the addition of some helper scripts.

  • No protocol changes (only an additional remote protocol). Previous clients such as cloud-client-009 are compatible.

Services
  • Introduction of the Java RM API which is a bridge between protocols and resource management work. The resource managers below can remain protocol/framework agnostic (they can be "pure Java") and various protocol implementations can be implemented independently. Runtime directions of choices is directed by Spring dependency injection.

  • Introduction of an alternative remote protocol implementation based on Amazon EC2's WSDL interface description (namespace http://ec2.amazonaws.com/doc/2008-02-01/)

    It can be used simultaneously alongside the previous remote interfaces. If the EC2 protocol layer does not recognize instance identifiers being reported by the underling resource manager (for example when gathering "describe-instances" results), it will create new, unique instance and reservation IDs on the fly for them.

    It is only a partial protocol implementation, the operations behind these EC2 commandline clients are currently provided:

    • ec2-describe-images - See what images in your personal cloud directory you can run.

    • ec2-run-instances - Run images that are in your personal cloud directory.

    • ec2-describe-instances - Report on currently running instances.

    • ec2-terminate-instances - Destroy currently running instances.

    • ec2-reboot-instances - Reboot currently running instances.

    • ec2-add-keypair [*] - Add personal SSH public key that can be installed for root SSH logins

    • ec2-delete-keypair - Delete keypair mapping.

    [*] - One of two add-keypair implementations can be chosen by the administrator.

    • One is the normal implementation where the server-side generates a private and public key (using jsch) and delivers the private key to you.

    • The other (configured by default) is a break from the regular semantics. It allows the keypair "name" you send in the request to be the name AND the public key value. This means there is never a private key server-side and also that you can keys you aready have on your system.

  • More friendly configuration mechanism for administrators including area-specific ".conf" files (instead of XML) and the addition of some helper scripts.

    If you are familiar with a previous Nimbus versions (VWS), these ".conf" files hold anything found in the old "jndi-config.xml" file which you don't need to look at anymore. The files hold name=value pairs with surrounding comments. They are organized by area: accounting.conf, global-policies.conf, logging.conf, pilot.conf, network.conf, ssh.conf, vmm.conf.

  • Service configurations are now in "etc/nimbus/workspace-service" and "etc/nimbus/elastic". Advanced configurations (which you should not need to alter normally are now in "etc/nimbus/workspace-service/other" and "etc/nimbus/elastic/other".

  • New persistence management wrapper scripts are in "share/nimbus" and the persistence directory has moved to "var/nimbus"

  • Support for site-to-site file management (staging) was removed.

  • Developers: Significant directory reworkings (and subsequent build file changes) to organize modules more coherently, allowing for easier module independence.

    Build system now clearly separates anything to do with the target deployment (only one target deployment at the moment, GT4.0.x).

  • New Java dependencies:

    • Spring - just the core dependency injection library. The RM API depends on Spring import statements but no other module has any direct coupling to it.
    • cglib - used "invisibly" alongside Spring to provide some limited code generation when convenient.
    • ehcache - used for in-memory object caching.
    • jug - used for UUID generation instead of needing an axis dependency.
    • jsch - used for SSH keypair generation if necessary (see [*] in the EC2 section).
Reference clients
  • The clients have stayed the same (on purpose, to reduce too much changing) except for some library package name changes.

  • When using a cloud running the EC2 front end implementation, you can download this EC2 client from Amazon or try a number of different client that are out there.

Control agents
  • Workspace-control has stayed the same (on purpose, to reduce too much changing).

Workspace pilot system
  • No changes except that the server side configuration location has moved from the "jndi-config.xml" file to "pilot.conf"