The following shows the packages and their purpose. If you're adding code to CloudStack, please read this over to decide where the code should be placed.
Project | Package Name | Purpose | Notes |
---|---|---|---|
utils | cloud-util.jar | utilities Utility methods that can be used in any project |
|
api | cloud-api.jar | REST API, Agent API, and Java API definitions |
|
core | cloud-core.jar | ServerResource implementations. | Remember that each ServerResource should be deployable in both a management server and in a remote agent container. Core is also being converted to be one project per ServerResource, as how ovm OVM is done today. |
server | cloud-server.jar | Management Server |
|
agent | cloud-agent.jar | Agent Container |
|
ovm | cloud-ovm.jar | ServerResource for Oracle VM | The future of ServerResource packaging. |
agent-simulator |
| Simulated ServerResource for scale and regression test. | Will be very useful if your work does not involve |
vmware-base |
| ServerResource for VmWare VMware |
|
|
|
|
|
|
|
|
|
CloudStack build dependencies reflect the design principal of CloudStack and, therefore, should not be changed. The packages , core, ovm, agent-simulator, and vmware-base are all ServerResource implementations and are only based off of the cloud-api package. By doing this, these packages are designed to not access the database. The package , cloud-agent , is based off of cloud-api because the serialization and deserialization code are in that package but; however, ideally, cloud-agent is only a container and should be based off of cloud-util.
CloudStack will move toward the following package and build dependencies.
...