class AutonomiccsSystemVmDeploymentService implements InitializingBean {

    protected AutonomiccsSystemVm allocateAndStartTheSystemVm(VMTemplateVO systemVmTemplate, DataCenterDeployment plan, LinkedHashMap<Network, List<? extends NicProfile>> networks,
            AutonomiccsSystemVm autonomiccsSystemVm) {
        try {
            virtualMachineManager.allocate(autonomiccsSystemVm.getInstanceName(), systemVmTemplate, autonomiccsSystemVmServiceOffering, networks, plan, null);

            autonomiccsSystemVm = autonomiccsSystemVmDao.findById(autonomiccsSystemVm.getId());
            virtualMachineManager.advanceStart(autonomiccsSystemVm.getUuid(), null, null);
            autonomiccsSystemVm = autonomiccsSystemVmDao.findById(autonomiccsSystemVm.getId());
        } catch (InsufficientCapacityException | ConcurrentOperationException | ResourceUnavailableException | OperationTimedoutException e) {
            throw new CloudRuntimeException("An exception occurred when deploying a Autonomiccs system VM.", e);
        }
        return autonomiccsSystemVm;
    }

}