The Quickest "Zero to Cloudstack" Deployment tool has been updated!
CloudStack Deploy is a utility for making Apache CloudStack and KVM installations quick, easy and painless whether you’re deploying to a single server or many. 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.
What’s new with cldstk-deploy
The main focus has been on improving the installation and making it easier to get a Cloudstack environment up and running.
- All-In-One Installation
- Basic Zone Configuration
- Changed Web Server Port to 8080
- NTP is now completely synced and configured
- Fixed bugs here and there
Let’s get into a bit more detail
All-In-One:
It seemed that the all-in-one type deployment could be made easier so now it’s the first question your prompted to answer. If you choose ‘y’ then you only need to input the server name once for the installation portion. No more providing the same server name multiple times. Example below:
Cloudstack Deployment: Answer the questions below.... Install all-in-one?[Y/n]: y All-in-one Server[dns/ip]: cldstkkvm01 Install System Templates?[Y/n]: y NFS Server[dns/ip]: 192.168.78.148 NFS Path[/nfsdirpath]: /mnt/volume1/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..... # cldstkkvm01 SSH-2.0-OpenSSH_5.3
Basic Zone Configuration:
Now you can have cldstk-deploy setup a basic zone. Just provide the needed information for your basic zone then after cldstk-deploy has finished deploying Cloudstack it will setup the basic zone for you as well. This way you do not have to login into the management portal and manually create the zone.
Create Basic Zone?[Y/n]: y Basic Zone Name: MyZone External DNS: 192.168.78.2 Internal DNS: 192.168.78.2 Gateway: 192.168.78.2 NetMask: 255.255.255.0 Hypervisor type only support KVM at this time. Pod Name: MyPod Pod Start IP: 192.168.78.200 Pod End IP: 192.168.78.210 Guest Start IP: 192.168.78.211 Guest End IP: 192.168.78.220 Cluster Name: MyCluster Host DNS/IP (separated by comma): cldstkkvm01 Host User: root Host Password: Enter the secondary and primary storage mount points. Example: nfs://192.168.78.148/mnt/volume1/secondary Secondary Storage: nfs://192.168.78.148/mnt/volume1/secondary Primary Storage: nfs://192.168.78.148/mnt/volume1/primary Start installation now?[Y/n]: y
Changed Web Server Port to 8080
Previous versions on cldstk-deploy used port 3000. This meant that the web server could not be used to store iso’s or template’s for the purpose of adding them to your Cloudstack environment. By using 8080 I killed three birds with one stone.
- First is that you can use the web server to import templates from “cldstk-deploy/public/templates/other/” folder. URL = http://cldstk-deploysystem:8080/acs/templates/other
- Second you can use the web server to import iso’s from “cldstk-deploy/public/templates/iso/” folder. URL = http://cldstk-deploysystem:8080/acs/templates/iso
- Third you CAN NOT run Cloudstack management server on the same system as cldstk-deploy which is how I always intended. Hopefully there’s no heart ache over this.
Start the web server with python cldstk-deploy.py -s
if it’s not already started.
NTP is now completely synced and configured
Before the NTP rpms where installed but I never actually configured NTP on any of the systems in the deployment process. Now NTP is not only installed, it is configured and time is synced for all systems in the chain including the one running cldstk-deploy. This is mainly done because time synchronization is extremely important.
I’ve done a lot of testing but I love to get feedback, good or bad. I hope people like the tool and what it does. It is the quickest way that I’ve seen to get a Cloudstack environment up and running. Now with the core things in place and working that I wanted, I can focus on cleaning up the code now.
Get it at Github. cldstk-deploy
Hi
I am trying this software, are there some steps that I have to do like configure /ext/exports or the domain name? I get an error when trying to mount the secondary storage.
I will appreciate your help
What errors are you seeing when trying to mount the secondary storage?
Hi
This is the Error I get. I am using /mnt/secondary when asking for the NFS Path[/nfsdirpath]: /mnt/secondary and secondary storage is mounted
10.16.30.2:/secondary/
50G 3.0G 44G 7% /mnt/secondary
TASK: [Seed secondary storage] ************************************************
failed: [10.16.30.2] => {“changed”: true, “cmd”: [“/usr/share/cloudstack-common/
scripts/storage/secondary/cloud-install-sys-tmplt”, “-m”, “/mnt/secondary”, “-u”
, “http://cloudstack.apt-get.eu/systemvm/4.4/systemvm64template-4.4.0-6-kvm.qcow
2.bz2”, “-h”, “kvm”, “-F”], “delta”: “0:00:00.314658”, “end”: “2020-01-26 11:49:
57.644803”, “rc”: 3, “start”: “2020-01-26 11:49:57.330145”, “warnings”: []}
stderr: mkdir: cannot create directory `/mnt/secondary/template’: Permission den
ied
stdout: Failed to write to mount point /mnt/secondary — is it mounted?
Installation failed
FATAL: all hosts have already failed — aborting
127.0.0.1 {‘unreachable’: 0, ‘skipped’: 6, ‘ok’: 14, ‘changed’: 4, ‘failures’: 0
}
10.16.30.2 {‘unreachable’: 0, ‘skipped’: 13, ‘ok’: 72, ‘changed’: 36, ‘failures’