We want to create a set of services/systems to permit multiple tenants to flexibly allocate baremetal machines from a pool of available hardware, create networks, attach baremetal nodes and networks, and to optionally provision an operating system on those systems through the use of an associated provisioning service.
The code comprising ESI exists in a number of different places. Our primary focus to date has been adding multi-tenant support to OpenStack Ironic:
We have some additional code hosted on GitHub:
This project is largely following the vision described in the follow papers:
-
"HIL: designing an exokernel for the data center"
This paper describes the initial implementation of the isolation service. You can find the code for this project at https://github.com/cci-moc/hil.
-
"Supporting Security Sensitive Tenants in a Bare-Metal Cloud"
-
"M2: Malleable Metal as a Service"
This paper describes the original implementation of the provisioning service, called "BMI" or "M2". You can find the code for BMI at https://github.com/cci-moc/m2.
(See references.bib for complete references to these papers.)
- The requirements document describes the basic requirements of the ESI project.
- The design document describes how are are implementing those requirements.
- The upstream features document describes changes we will need to make in upstream projects to support those requirements or to allow an upstream project to take advantage of ESI.
- The deployment document describes a method of deploying and configuring ESI.
- The usage document lists common commands used by administrators and users.
You can contact the ESI development team on the Freenode #moc
IRC channel.
You are welcome to open issues or submit pull requests concerning our documentation via the GitHub repository.
We are currently tracking project tasks on our Trello board.