[
https://issues.apache.org/jira/browse/VCL-587?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13273286#comment-13273286
]
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
/etc/httpd/virtual_hosts/.
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:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira