octa - Infrastructure-as-a-Service Management Portal
Infrastructure-as-a-Service deployments require greater interaction between Red Hat's products (e.g., Satellite, RHEV) than what is currently supported out-of-the-box. In an effort to reduce time-to-delivery as well as standardize our IaaS (Private Cloud) installations, we have developed a lightweight and maintainable application called octa. octa was designed with these key points: simple configuration, no redundant features already in a product, and only communicates with a product's existing API.
Consider an installation of RHEV and Satellite. They can build VMs and register them to Satellite, but this requires manual intervention to build from a Cobbler/Satellite? maintained tree, as well as DNS/DHCP configurations. With octa in place, these steps are removed, and the only information needed to create and connect to a VM is a name/size/network. Think of it as requesting a VM of size "X" on EC2 but have it deployed inside your own infrastructure from your RHN managed profiles. In addition, these modifications to an existing RHEV/Cobbler/Satellite infrastructure should only take an afternoon.
Prebuilt RPMs for RHEL can be found here.
Infrastructure / Software Requirements
As of 2/15/2011:
- Satellite Server 5.3+ (or 5.2 with standalone Cobbler instance)
- Cobbler: (additional config required for dynamic DNS (DDNS) and DHCP)
- RHEV-M 2.2 with milestone 7 API installed
Targeted for customers that use multiple parts of the Red Hat software stack
- Provides more integration for "Enterprise-y" features
- Basic implementation is RHEV+Cobbler/Satellite?+octa
- Not going to replace *ANY* Products UI / Management tools
Driven solely by APIs
- Already maintained by individual projects
- Can be used to manage regionally disparate systems -- "Manager-of-Managers"
- Only concerned with interaction between products like Cobbler/Satellite? and RHEV-M
- Normal functions of products aren't available or desired (Don't ask octa to create a RHEV Template or add a RHEV Host)
- Authentication is provided through APIs already -- just piggy-back
Organized into logical "Clouds"
- Regional or Physical (User defined groups of resources (think RHEV-M+Local Satellite+Some RHEV Hosts))
- Extremely scalable, lightweight
- Single configuration definition for each cloud
Command Line Version
The RPMs for octa install a CLI utility at /usr/bin/octa that has the same functionality as the web interface. This CLI utility can be used in scripting to build out environments instead of manually creating hundreds of VMs.
*Very* rough architecture diagrams / screenshots can be found here here.
Please direct all questions/comments to the octa mailing list.