Installing OpenStack is quite difficult, specially for the people who is not really into basically most of IT topics. In my attempt to get started, and after searching for the easiest way to install OpenStack, I ended up writing my own automated tasks in BASH, and at some point I decided to generalice those scripts a little bit more and release them to the community.
I named the installer as BOMSI: the Bash OpenStack Multinode Scripted Installer. Descriptive and catchy, isn’t it? đ
BOMSI follows the official install guide at OpenStack Docs for CentOS7, and it does it in plain BASH, so it is easy to understand whatever is going on during the installation, and easily improve it. It’s GPL v2 license, so you are all very welcome to contribute on GitHub repository.
The command line API is very simple and it allows to install OpenStack on a virtual environment with just 3 commans:
git clone https://github.com/julenl/BOMSI.git
cd BOMSI/CentOS7-Kilo/
for NODE in controller compute1 network; do ./bomsi-iso.sh -n=$NODE; done
… and that’s it. In some 15 minutes a horizon dashboard will be waiting for you at http://10.0.0.11/dashboard.
For generating the 3 node virtual environment it is recommended that have 8 or 16 Gb of RAM, a i5 or i7 processor (or equivalent) and some 20 Gb of free space on the hard disk, to host the KVM virtual machines. Ideally the computer should be running Ubuntu, but it should work somehow in other GNU/Linux distributions.
Furthermore, being aware that some people prefer graphical user interfaces (GUIs) to work on the configuration files and execute the options, I also added a very simple GUI.
This GUI can be run the same as the API, but with even less letters on the command line:
git clone https://github.com/julenl/BOMSI.git
cd BOMSI/CentOS7-Kilo/
./bomsi_gui.py
And you’ll get this:
If you are OK with the default options, just click on the “Local KVM” square button and wait for some 15 minutes. That’s it.
Additional features of BOMSI:
- Generate a fully automated multiboot ISO file, which can be burned onto a CD or provisioned via PXE
- Install this ISO file into a pen-drive
- Install a temporal CentOS machine with kickstart. This machine can be used to download all necessary packages to allow full offline installations
So… 3 commands, or 3 commands and a click, isn’t this the easiest way to install OpenStack at the moment?
What about a multi-node deployment with physical machines ?
Can this method work as well? If yes, How do you go about doing it?
In principle it you should be able to achieve that right out of the box. Let me know if it’s not working. Another alternative would be to use training-labs (osbash). It comes with an option to build a PXE-server.
### Starting BOMSI ###
>> Loading bomsi variables from /home/openstack/BOMSI/Ubuntu-Liberty/lib/bomsi_vars
>> Customizing the ISO file
>> Copying the contents of the iso file in /tmp/mountiso/ into /tmp/custom_iso/custom_iso/files/
lib/iso_kickstart: lĂnea 66: /tmp/custom_iso/files/isolinux/lang: No existe el archivo o el directorio
sed: no se puede leer /tmp/custom_iso/files/isolinux/txt.cfg: No existe el archivo o el directorio
cat: /tmp/custom_iso/files/isolinux/txt.cfg: No existe el archivo o el directorio
rm: no se puede borrar ‘/tmp/custom_iso/files/isolinux/txt.cfg’: No existe el archivo o el directorio
lib/iso_kickstart: lĂnea 11: /tmp/custom_iso/files/isolinux/txt.cfg: No existe el archivo o el directorio
lib/iso_kickstart: lĂnea 17: /tmp/custom_iso/files/isolinux/txt.cfg: No existe el archivo o el directorio
sed: no se puede leer /tmp/custom_iso/files/isolinux/txt.cfg: No existe el archivo o el directorio
cat: /tmp/custom_iso/files/isolinux/txt.cfg: No existe el archivo o el directorio
rm: no se puede borrar ‘/tmp/custom_iso/files/isolinux/txt.cfg’: No existe el archivo o el directorio
lib/iso_kickstart: lĂnea 11: /tmp/custom_iso/files/isolinux/txt.cfg: No existe el archivo o el directorio
lib/iso_kickstart: lĂnea 17: /tmp/custom_iso/files/isolinux/txt.cfg: No existe el archivo o el directorio
sed: no se puede leer /tmp/custom_iso/files/isolinux/txt.cfg: No existe el archivo o el directorio
cat: /tmp/custom_iso/files/isolinux/txt.cfg: No existe el archivo o el directorio
rm: no se puede borrar ‘/tmp/custom_iso/files/isolinux/txt.cfg’: No existe el archivo o el directorio
lib/iso_kickstart: lĂnea 11: /tmp/custom_iso/files/isolinux/txt.cfg: No existe el archivo o el directorio
lib/iso_kickstart: lĂnea 17: /tmp/custom_iso/files/isolinux/txt.cfg: No existe el archivo o el directorio
sed: no se puede leer /tmp/custom_iso/files/isolinux/txt.cfg: No existe el archivo o el directorio
cat: /tmp/custom_iso/files/isolinux/txt.cfg: No existe el archivo o el directorio
rm: no se puede borrar ‘/tmp/custom_iso/files/isolinux/txt.cfg’: No existe el archivo o el directorio
lib/iso_kickstart: lĂnea 11: /tmp/custom_iso/files/isolinux/txt.cfg: No existe el archivo o el directorio
lib/iso_kickstart: lĂnea 17: /tmp/custom_iso/files/isolinux/txt.cfg: No existe el archivo o el directorio
cat: /tmp/custom_iso/files/isolinux/txt.cfg: No existe el archivo o el directorio
rm: no se puede borrar ‘/tmp/custom_iso/files/isolinux/txt.cfg’: No existe el archivo o el directorio
lib/iso_kickstart: lĂnea 102: /tmp/custom_iso/files/isolinux/txt.cfg: No existe el archivo o el directorio
lib/iso_kickstart: lĂnea 103: /tmp/custom_iso/files/isolinux/txt.cfg: No existe el archivo o el directorio
sed: no se puede leer /tmp/custom_iso/files/isolinux/isolinux.cfg: No existe el archivo o el directorio
>> Generating kickstart file at /tmp/custom_iso/files/ks/ks-controller.cfg
>> Generating kickstart file at /tmp/custom_iso/files/ks/ks-compute1.cfg
>> Generating kickstart file at /tmp/custom_iso/files/ks/ks-compute2.cfg
>> Generating kickstart file at /tmp/custom_iso/files/ks/ks-compute3.cfg
>> Compiling ISO file at: ~/BOMSI-.iso
>> Changing owner and privileges of the ISO file (default owner is libvirt-qemu)
>> Checking ISO file with dumpet
FATAL ERROR: command ‘eval dumpet -i /home/openstack/BOMSI-.iso &> /dev/null’ did not work
exiting
Creating iso in 16.04 or 17.10
Hi Alvaro,
Sorry for the delay. You are running Liberty, which is kind of old. I didn’t have time to update to the latest version, but Ocata should work way better than Liberty. If you are still interested let me know and and I give you a hand on that. Alternatively, you can also use training-labs. The code is more complex to look at, but it’s almost guaranteed to work out of the box almost anywhere.