R&D/클라우드

Router VM for Oracle VM Server in the CloudStack

sunshout 2012. 3. 13. 15:06
Problem:
- In the CloudStack, Oracle VM Server (Hypervisor) does not support a creation of router VM.
- This is  policy in the CloudStack
- We only want to create VM which is supported by Oracle Site officially.
- But router VM is custom template from CloudStack.

The decision:
- Router VM must be installed by other hypervisor like XenServer or KVM.

Code:
File: server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
Method: findOrCreateVirtualRouters(...)

HypervisorType hyType;
                if (dest.getCluster().getHypervisorType() == HypervisorType.Ovm) {
                hyType = getAClusterToStartDomainRouterForOvm(dest.getCluster().getPodId());
                } else {
                hyType = dest.getCluster().getHypervisorType();
                }                

 
 detect proper hypervisor type

    /*
     * Ovm won't support any system. So we have to choose a partner cluster in the same pod to start domain router for us
     */
    private HypervisorType getAClusterToStartDomainRouterForOvm(long podId) {


 solution:
instead of detecting in a same pod, detect hypervisor type in a data center.