You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

Introduction

The current Cloud Stack management server runs only on Linux servers. The purpose of this feature is to run CloudStack management server on windows as well without using Cygwin. This document will illustrate what changes we may need to do at code level and script level. This will also introduce some installation procedures to have in place before running the management server on windows.

Scope

Should able to start/stop/restart management server as a service on windows. Do remember that we are not trying to  manage development setup as well on windows.

Procedure

We need to convert all shell scripts to Pyhton scripts to make sure those are runnable on windows as well.

Make sure the copied files on windows file system will not change the line ending character other wise it will create a mess after copied to hyper-visor host.

The following modules need to run from windows as well to make sure they run without using cygwin

  1. Deploy DB
  2. Seed system template onto secondary storage location
  3. start/stop/restart management server
  4. Samba integration

 

DeployDB

<TODO>

Seed SystemTemplate

This will execute the following scripts

  • scripts/storage/secondary/cloud-install-sys-tmplt
  • cripts/storage/secondary/createtmplt.sh
  • decrypt.sh

 

Management Server

When we start the management server currently it is calling the following scripts

  • scripts/vm/systemvm/injectkeys.sh

There are some places in Java code where bash scripts are written inside the jave code.The following list of class files are having such scripts

  • com.cloud.server.ConfigurationServerImpl (Inside updateKeyPairs method)
  • org.apache.cloudstack.storage.resource.NfsSecondaryStorageResource.copySnapshotToTemplateFromNfsToNfs(CopyCommand, SnapshotObjectTO, NfsTO, TemplateObjectTO, NfsTO)
  • com.cloud.utils.net.NetUtils.getDefaultEthDevice()
  • com.cloud.server.ConfigurationServerImpl.updateKeyPairs()
Files related to KVM Hypervisor
  • com.cloud.hypervisor.kvm.resource.BridgeVifDriver.deleteVnetBr(String)
  • com.cloud.hypervisor.kvm.resource.BridgeVifDriver.deleteExitingLinkLocalRouteTable(String) 
  • com.cloud.hypervisor.kvm.resource.KVMHAMonitor.removeStoragePool(String)
  • com.cloud.hypervisor.kvm.resource.KVMHABase.destroyVMs(String)
  • com.cloud.hypervisor.kvm.resource.KVMHABase.checkingMountPoint(NfsStoragePool, String)
  • com.cloud.hypervisor.kvm.storage.LibvirtStorageAdaptor.deleteStoragePool(String)
  • com.cloud.hypervisor.kvm.storage.LibvirtStorageAdaptor.createNfsStoragePool(Connect, String, String, String)
  • com.cloud.hypervisor.kvm.storage.LibvirtStorageAdaptor.createDiskFromTemplate(KVMPhysicalDisk, String, PhysicalDiskFormat, long, KVMStoragePool, int)
  • com.cloud.hypervisor.kvm.storage.LibvirtStorageAdaptor.copyPhysicalDisk(KVMPhysicalDisk, String, KVMStoragePool, int)
  • com.cloud.hypervisor.kvm.resource.OvsVifDriver.deleteExitingLinkLocalRouteTable(String)
  • com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.getPif(String)
  • com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.getOvsPifs()
  • com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.configure(String, Map<String, Object>)

 

Samba integration

     <TODO>

 

 

  • No labels