Deploy Apache CloudStack IaaS Platform with "cldstk-deploy"

CloudStack Deploy is a utility for making Apache CloudStack and KVM installations quick, easy and painless. Meant to be reusable so you can deploy Apache CloudStack more than once after you’ve downloaded the RPMS and systemtemplates locally with cldstk-deploy.


  • can pre download Apache CloudStack RPMS (version 4.2 & 4.3)
  • can pre download KVM system template
  • runs web server to be used as local RPM and systemtemplate repository
  • can install and setup cloudstack-management servers (One or many)
  • can install and setup mysql database servers (Primary and Repica)
  • can install and setup cloudstack-agent KVM hosts
  • can preseed KVM system template
  • can mix options


  • CentOS 6.4 or above
  • Systems must have internet connectivity
  • Host resolution must be working for the systems that runs this process

Check out the video on youtube here.

Getting Started

Setting up the environment

  1. Download cldstk-deploy from Github.
    yum install git -y 
    git clone
  2. Setup cldstk-deploy using the “setup all” option. This prepares the environment and installs all the required packages for cldstk-deploy (nodejs and ansible).
    python setup all	
  3. Download the Apache Cloudstack RPMS and Systemtemplates using the “get rpmversion=” and “get systemtemplate=” options.
    python get rpmversion=4.3
  4. (OPTIONAL) Build RPMS from source. ONLY 4.3 for now. ONLY IF YOU DO NOT DOWNLOAD RPMS.
    python build–	

    Takes roughly 10 minutes to build and installs additional packages.

  5. Download KVM system template. Version 4.2 or 4.3 works.
    python get systemtemplate=4.3	

Usage Instructions

RPM packages and system templates must be in downloaded first when NOT using the “Internet” installation type.

  1. Browse the cldstk-deploy directory then run the command below.

    This will start asking questions from the command prompt.

  2. Next all you have to do is answer the questions. Example shown below.
    [root@ansible cldstk-deploy]# python      
    Cloudstack Deployment: Answer the questions below....      
    Install Primary Database Server?[Y/n]: y  
    Db Server[dns/ip]: cldstkdbsrv01 
    Configure Database Replica?[Y/n]: y 
    DB Replica Server[dns/ip]: cldstkdbsrv02 
    Install Primary Management Server?[Y/n]: y 
    Server[dns/ip]: cldstkwebsrv01 
    Install additional Management servers?[Y/n]: y 
    Comma separated list: cldstkwebsrv02,cldstkwebsrv03 
    Install KVM Hosts?[Y/n]: y 
    Comma separated list: cldstkkvm01,cldstkkvm02 
    Install System Templates?[Y/n]: y 
    NFS Server[dns/ip]: labnas01 
    NFS Path[/nfsdirpath]: /nfs/secondary 
    Change install type to "Internet"?[Y/n]: n 
    Change install version to "4.2"?[Y/n]: n 
    Add ssh rsa keys to ~/.ssh/known_hosts?[Y/n]: y 
    ansible hosts file successfully writing to disk..... 
    vars_file successfully writing to disk..... 
    Start installation now?[Y/n]: y SSH password:

After you enter your password it’s off to the races. If everything goes as planned you’ll have all your Apache CloudStack components up and running in no time.

For “All-In-One” installation, you can use the same system name for “Primary Management Server”, “Primary DB Server” and “KVM Host”.

Related Categories: Cloud Management