Larry Burton commented on VCL-587:

Subject: Automatic installation of VCL

I developed a set of scripts to automate the installation of VCL for my own 
purposes. I used the scripts in an advanced Linux class I taught at NCA&T as an 
example of scripting. Several student teams installed VCL on their individual 
servers, and the installation had to be repeated after the students 
experimented with the setup. The script made installation relatively quick and 
always consistent. The installation is basically one click.

The starting point of the installation is a configured Scientific Linux 6.2 
operating system. This installation also uses scripting and a custom local 
repository I developed. The installation is either PXE or iPXE based. The 
student's starting point is an ether-wake command to the target server, and 
installation is automatic from that point on. My home repository contains a 
database of configuration data for various computers of friends at several 
different geographical locations who use my repository to perform automated 
installation and configuration of LAMP servers, directory servers, repository 
servers, Plandora, Moodle, and so forth. I mirrored my home site at NCA&T, and 
added customization for some NCA&T hosts.

Each student team adds their customization data, for example, host name, 
partitioning information, and application customization data. Each team also 
makes an entry in the local dnsmasq TFTP/DNS/DHCP configuration. These one-time 
tasks are completed early in the semester during the study of enterprise 
configuration. This background is of interest only because my VCL scripts 
assume certain things, such as, the web directory roots for all named virtual 
hosts are in /var/www/web_servers/ and configuration snippets are in 

Once the LAMP server is loaded, a team member opens Firefox and downloads 
vcl_pre_commands_nn.sh from the repo web server. The “nn” is anything, but 
usually a “1”, or a “2”, and forth, to access a unique parameters file for each 
unique VCL installation. If you look in the pre_commands script, you will 
notice the number is just used to append to the filename vcl_parameters_nn.sh. 
In the scripts below, I used "13", since the particular target host name was 
"burton-research-13". Before starting installation, the students make a 
one-time instance of both the vcl_pre_commands file and the vcl_parameters file 
customized for their team. That is, each team could represent a different 
institution seeking to create a VCL cloud. If you look in these files, you will 
see the only real task is to set the host name of the target server to agree 
with the DHCP hostname assignment. Of course, you can vary every parameter, but 
since this is a student lab, all teams used my default settings for digital 
certificates and so forth. If you use the scripts for your own institution, you 
will wish to change additional settings to reflect your institution's name and 
login credentials. The parameters.sh file is -- at least to me -- documented 
and straightforward. I kept the students confined to a private LAN without 
outside access, so we used weak passwords. Please, use a strong password for 
any system with access from the Internet. Once the pre-commands file is 
downloaded, the students make the file executable, the run the script. About 30 
minutes later, VCL installation is complete. Packages are installed using yum 
(see vcl_packages.sh), and all source tarballs are downloaded directly from the 
VCL incubator site. The main script, install_vcl.sh, incorporates several 
modifications to the current VCL installation instructions. Notable areas are 
sourcing the MySQL database structure, dynamically modifying the VCL perl 
script to remove Linux package installation and perl interaction, use of SL 
6.2, and rearranging the order of installation to complete all package 
installation in one place. The use of explicit yum package installation will 
allow me to copy vcl_packages.sh almost directly into RPM requires statements. 
I did not use an RPM for my students because I wanted the students to explore 
and experiment with the scripts.
So what is a “complete” VCL installation?

In this case, it means everything required to install and configure the VCL web 
front end and the VCL management node is completed automatically. The script 
automatically launches Firefox to the VCL web interface and lists the few steps 
that must be completed through the web interface (admin password, initial 
specification of management node).

What is not done (at this time) is the automated installation of VMware ESXi on 
the service nodes, nor the installation and configuration of XCAT. I expect I 
will just automate the XCAT installation and configuration, and let XCAT take 
care of the service node installation and management, since this will provide 
an arbitrarily large cloud. For my class, we just installed VMware ESXi 
manually on a service node.

Images can be  copied manually, of course, but in my scheme of infrastructure, 
booting a bare metal image with a PXE boot to my repository automatically 
builds Linux images. I expect XCAT can be persuaded to do the same.
How could these scripts help the VCL project?

I mentioned the automated installation in a poster session at the first ICA-CON 
conference hosted by IBM in April, 2012 ( ICA-CON ). Several people expressed 
an interest in access to the scripts, and I agreed to post the scripts in 
support of the Apache VCL project. I suppose with a few tweaks the script could 
be embedded in a no-arch RPM (or at least a self-determining arch) so that 
those who are interested in using VCL, but might not have the skills or 
patience to wade through the installation, could go immediately to their own 
VCL cloud with a click or two. This could lower the barrier to entry of cloud 
computing, and let more folks get on with exploring new ways to actually use a 
vcl cloud.
> Automated install script/tools
> ------------------------------
>                 Key: VCL-587
>                 URL: https://issues.apache.org/jira/browse/VCL-587
>             Project: VCL
>          Issue Type: New Feature
>            Reporter: Aaron Peeler
>         Attachments: create_new_self_signed_ca.sh
> Placeholder for Dr. Larry Burton's automated install

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to